(this["webpackJsonpbodyguardcloud-webui"]=this["webpackJsonpbodyguardcloud-webui"]||[]).push([[0],{14:function(e,t,a){"use strict";var n=a(282);a.d(t,"arrayEquals",(function(){return n.a}));var r=a(283);a.d(t,"authHeader",(function(){return r.a}));var l=a(284);a.d(t,"fetchFromApiResource",(function(){return l.a}));var c=a(285);a.d(t,"handleJsonResponse",(function(){return c.a}));var o=a(146);a.d(t,"history",(function(){return o.a}));var i=a(35);a.d(t,"storage",(function(){return i.b}));var s=a(286);a.d(t,"useHeaderStyles",(function(){return s.a})),a.d(t,"useSidebarStyles",(function(){return s.b}));var u=a(287);a.o(u,"StorageKey")&&a.d(t,"StorageKey",(function(){return u.StorageKey})),a.d(t,"StorageKey",(function(){return i.a}))},146:function(e,t,a){"use strict";var n=a(68),r=Object(n.a)();r.listen((function(){window.scrollTo(0,0)})),t.a=r},25:function(e,t,a){"use strict";a.d(t,"e",(function(){return r})),a.d(t,"b",(function(){return l})),a.d(t,"d",(function(){return c})),a.d(t,"c",(function(){return o})),a.d(t,"f",(function(){return i})),a.d(t,"a",(function(){return s}));var n=a(14);var r={authenticate:function(e,t){return Object(n.fetchFromApiResource)("api/authenticate","POST",void 0,JSON.stringify({username:e,password:t})).then((function(e){return Object(n.handleJsonResponse)(e)})).then((function(e){return e.token&&localStorage.setItem("user",JSON.stringify(e)),e}))},logout:function(){localStorage.removeItem("user")},getUsers:function(e,t){return Object(n.fetchFromApiResource)("api/v1/users?page=".concat(e,"&pageSize=").concat(t),"GET").then((function(e){return Object(n.handleJsonResponse)(e)}))},getUser:function(e){return Object(n.fetchFromApiResource)("api/v1/users/".concat(e),"GET").then((function(e){return Object(n.handleJsonResponse)(e)}))},createUser:function(e){return Object(n.fetchFromApiResource)("api/v1/users","POST",void 0,JSON.stringify(e)).then((function(){return new Promise((function(e){return e()}))}))},updateUser:function(e){return Object(n.fetchFromApiResource)("api/v1/users","PUT",void 0,JSON.stringify(e)).then((function(){return new Promise((function(e){return e()}))}))},deactivateUser:function(e){return Object(n.fetchFromApiResource)("api/v1/users/".concat(e),"DELETE").then((function(){return new Promise((function(e){return e()}))}))},activateUser:function(e){return Object(n.fetchFromApiResource)("api/v1/users/".concat(e,"/activate"),"PUT").then((function(){return new Promise((function(e){return e()}))}))},changePassword:function(e,t){return Object(n.fetchFromApiResource)("api/v1/users/".concat(e,"/changepassword"),"PUT",void 0,JSON.stringify({password:t})).then((function(){return new Promise((function(e){return e()}))}))}};var l={getDashboard:function(e){return Object(n.fetchFromApiResource)("api/v1/logrecords/dashboard","POST",void 0,JSON.stringify(e)).then((function(e){return Object(n.handleJsonResponse)(e)}))},getDetections:function(e){return Object(n.fetchFromApiResource)("api/v1/logrecords/detections","POST",void 0,JSON.stringify(e)).then((function(e){return Object(n.handleJsonResponse)(e)}))}};var c={getTags:function(){return Object(n.fetchFromApiResource)("api/v1/logrecords/tags","GET").then((function(e){return Object(n.handleJsonResponse)(e)}))},updateTag:function(e){return Object(n.fetchFromApiResource)("api/v1/logrecords/tags","PUT",void 0,JSON.stringify(e)).then((function(){return new Promise((function(e){return e()}))}))}};var o={getReaders:function(){return Object(n.fetchFromApiResource)("api/v1/logrecords/readers","GET").then((function(e){return Object(n.handleJsonResponse)(e)}))},updateReader:function(e){return Object(n.fetchFromApiResource)("api/v1/logrecords/readers","PUT",void 0,JSON.stringify(e)).then((function(){return new Promise((function(e){return e()}))}))}};var i={getVehicles:function(){return Object(n.fetchFromApiResource)("api/v1/logrecords/vehicles","GET").then((function(e){return Object(n.handleJsonResponse)(e)}))},updateVehicle:function(e){return Object(n.fetchFromApiResource)("api/v1/logrecords/vehicles","PUT",void 0,JSON.stringify(e)).then((function(){return new Promise((function(e){return e()}))}))}};var s={getLogBundles:function(e,t){return Object(n.fetchFromApiResource)("api/v1/logrecords/bundles?pageNumber=".concat(e,"&pageSize=").concat(t),"GET").then((function(e){return Object(n.handleJsonResponse)(e)}))},getLogBundle:function(e){return Object(n.fetchFromApiResource)("api/v1/logrecords/bundles/".concat(e),"GET").then((function(e){return Object(n.handleJsonResponse)(e)}))},deleteLogBundle:function(e){return Object(n.fetchFromApiResource)("api/v1/logrecords/bundles/".concat(e),"DELETE").then((function(e){return!0}))}}},282:function(e,t,a){"use strict";var n=a(47);t.a=function(e,t){if(e.length!==t.length)return!1;for(var a=Object(n.a)(e).sort(),r=Object(n.a)(t).sort(),l=0;l-1,c=L.b.getSessionData(L.a.viewAsUser);return r.a.createElement(ie.a,null,r.a.createElement(xe,{label:"Analytics"}),je.map((function(e){return r.a.createElement(Ce,{key:e.label,activeRoute:t,onNavigate:a,item:e})})),r.a.createElement(xe,{label:"Management"}),ye.map((function(e){return r.a.createElement(Ce,{key:e.label,activeRoute:t,onNavigate:a,item:e})})),!c&&l&&r.a.createElement("div",null,r.a.createElement(xe,{label:"Admin"}),Se.map((function(e){return r.a.createElement(Ce,{key:e.label,activeRoute:t,onNavigate:a,item:e})}))))},Ie=Object(h.a)((function(e){return{root:{display:"flex",minHeight:"100vh",flexDirection:"column"},sidebarTriggerIcon:{color:e.palette.primary.contrastText},content:{flexGrow:1,overflow:"hidden auto"},footer:{marginTop:"calc(1%)",bottom:0}}})),De=function(e){var t=e.children,a=Ie(),n=Object(o.d)(),l=Object(F.useHeaderStyles)(),c=Object(F.useSidebarStyles)();return r.a.createElement("div",{className:a.root},r.a.createElement(u.e,{color:"primary"},r.a.createElement(B.a,null,r.a.createElement(u.h,{className:l.leftTrigger},r.a.createElement(u.i,{className:a.sidebarTriggerIcon})),r.a.createElement(ne,null))),r.a.createElement(u.g,null,r.a.createElement("div",{className:c.container},r.a.createElement(Ne,{activeRoute:n.pathname,onNavigate:function(e){W.a.push(e)}})),r.a.createElement(u.a,{className:c.collapseBtn},r.a.createElement(u.b,null))),r.a.createElement("div",null,r.a.createElement(u.c,{className:a.content},t),r.a.createElement(u.d,{className:a.footer},r.a.createElement(U,null))))},Re=Object(h.a)((function(){return{root:{display:"flex",minHeight:"100vh",flexDirection:"column"},content:{flexGrow:1,overflow:"hidden auto",width:"100%"},footer:{marginTop:"calc(5%)",bottom:0}}})),ke=function(e){var t=e.children,a=Re();return r.a.createElement("div",{className:a.root},r.a.createElement(u.e,{color:"primary"},r.a.createElement(B.a,null,r.a.createElement(ne,null))),r.a.createElement("div",null,r.a.createElement(u.c,{className:a.content},t),r.a.createElement(u.d,{className:a.footer},r.a.createElement(U,null))))},Te=a(334),we=Object(Te.a)({palette:{}}),Ae=a(26),Pe=a(329),Fe=a.n(Pe),Be=a(331),We=a.n(Be),Ue=a(328),Le=a.n(Ue),ze=a(330),Me=a.n(ze),Ve=Object(i.atom)({key:"DASHBOARD_dashboard_data",default:{dashboardReport:{startDate:new Date,endDate:new Date,averageDetectionsPerMonth:{number:0,change:0},averageDetectionsPerWeek:{number:0,change:0},averageDetectionsPerDay:{number:0,change:0},totalDetections:{items:[],entries:[]},topFiveVehiclesWithDetections:[],topFiveTagsWithDetections:[]},vehicles:[],tags:[],totalRecords:0}}),Ye=Object(i.atom)({key:"DASHBOARD_dashboard_loading",default:!0}),Je=Object(i.atom)({key:"DASHBOARD_detections_data",default:{vehicles:[],tags:[],detections:[],pageNumber:0,pageSize:10,totalRecords:0}}),He={startDate:I()().add(-12,"months"),endDate:I()(),vehicles:[],tags:[]};var $e=Object(i.atom)({key:"DASHBOARD_detections_filter",default:Object(Ae.a)({},function(){var e=F.storage.getSessionData(F.StorageKey.detectionsFilter);if(e)return JSON.parse(e)}()||He)}),Ge=Object(i.atom)({key:"DASHBOARD_detections_loading",default:!0}),_e=Object(i.atom)({key:"DASHBOARD_detections_table_control",default:{pageNumber:0,pageSize:10,sortItems:[]}}),qe=a(11),Ke=a(67),Xe=Object(h.a)((function(e){return Object(j.a)({paper:{overflowX:"auto",marginTop:e.spacing(3),marginBottom:e.spacing(3),position:"relative",padding:e.spacing(1)},formControl:{margin:e.spacing(1),minWidth:300},chartTitle:{textAlign:"center",marginBottom:e.spacing(5)},root:{flexGrow:1,marginTop:e.spacing(4)},title:{marginTop:e.spacing(2),marginBottom:e.spacing(2)},button:{marginTop:e.spacing(2)},clearIcon:{marginLeft:e.spacing(1),marginRight:e.spacing(1)},clearListItemText:{},reportFilter:{},dateRangePicker:{marginTop:e.spacing(2),marginBottom:e.spacing(2)}})})),Qe=function(){var e=Xe(),t=Object(i.useRecoilValue)(Je),a=Object(i.useRecoilValue)(Ge),n=Object(i.useRecoilState)(_e),l=Object(d.a)(n,2),c=l[0],o=l[1];return r.a.createElement(R.a,{className:e.paper},r.a.createElement(Ke.a,{rows:t.detections,columns:[{name:"date",title:"Date"},{name:"time",title:"Time"},{name:"vehicle",title:"Vehicle"},{name:"tag",title:"Tag"}]},r.a.createElement(qe.c,{formatterComponent:function(e){var t=e.value;return t.substring(0,t.indexOf("T")).replace(/(\d{4})-(\d{2})-(\d{2})/,"$3/$2/$1")},for:["date"]}),r.a.createElement(qe.j,{currentPage:t.pageNumber,onCurrentPageChange:function(e){o(Object(Ae.a)(Object(Ae.a)({},c),{},{pageNumber:e}))},onPageSizeChange:function(e){o(Object(Ae.a)(Object(Ae.a)({},c),{},{pageSize:e}))},pageSize:t.pageSize}),r.a.createElement(qe.b,{totalCount:t.totalRecords}),r.a.createElement(qe.l,{defaultSorting:[{columnName:"date",direction:"asc"}],onSortingChange:function(e){o(Object(Ae.a)(Object(Ae.a)({},c),{},{sortItems:e.map((function(e){return{columnName:e.columnName,sortDirection:e.direction}}))}))}}),r.a.createElement(Ke.c,null),r.a.createElement(Ke.d,{showSortingControls:!0}),r.a.createElement(Ke.b,{pageSizes:[10,20,50]}),a&&r.a.createElement(O,null)))},Ze=a(20),et=a(4),tt=a(712),at=a(324),nt=a.n(at),rt=a(323),lt=a.n(rt),ct=Object(h.a)((function(e){return Object(j.a)({paper:{padding:e.spacing(2)},changeSection:{display:"flex"},goodColor:{color:"#1b5e20"},badColor:{color:"#b71c1c"},changeCaptionText:{marginLeft:e.spacing(1)},cardIconAvatar:{width:e.spacing(7),height:e.spacing(7)},cardIcon:{fontSize:"xx-large"},wrapper:{position:"relative"}})})),ot=function(e){var t,a,n,l=e.title,c=e.number,o=e.change,i=e.changePostfix,s=e.changeCaption,u=e.changeRating,m=e.icon,d=e.iconColor,p=e.loading,g=ct(),f=r.a.cloneElement(m,{className:g.cardIcon});return r.a.createElement(R.a,{className:g.paper},r.a.createElement("div",{className:g.wrapper},r.a.createElement(y.a,{container:!0,spacing:2,justify:"space-between",alignItems:"center"},r.a.createElement(y.a,{item:!0,xs:9},r.a.createElement(S.a,{variant:"overline",display:"block",gutterBottom:!0},l),c?r.a.createElement(S.a,{variant:"h4",display:"block"},c.toLocaleString("en-US")):r.a.createElement("p",null,"No data is available for the selected date range")),r.a.createElement(y.a,{item:!0,xs:2},r.a.createElement(tt.a,{className:g.cardIconAvatar,style:{backgroundColor:d}},f)),o&&r.a.createElement(y.a,{item:!0,xs:12},r.a.createElement("span",{className:g.changeSection},o>0&&r.a.createElement(lt.a,{className:Object(et.a)((t={},Object(Ze.a)(t,g.goodColor,"good"===u),Object(Ze.a)(t,g.badColor,"bad"===u),t))}),o<0&&r.a.createElement(nt.a,{className:Object(et.a)((a={},Object(Ze.a)(a,g.goodColor,"good"===u),Object(Ze.a)(a,g.badColor,"bad"===u),a))}),r.a.createElement(S.a,{variant:"body2",className:Object(et.a)((n={},Object(Ze.a)(n,g.goodColor,"good"===u),Object(Ze.a)(n,g.badColor,"bad"===u),n))},Math.abs(o),i),r.a.createElement(S.a,{variant:"caption",className:g.changeCaptionText},s)))),p&&r.a.createElement(O,null)))},it=a(695),st=a(691),ut=a(693),mt=a(690),dt=a(689),pt=Object(h.a)((function(e){return Object(j.a)({wrapper:{position:"relative"},tablePaper:{minHeight:"270px",marginBottom:e.spacing(1)},title:{textAlign:"left",margin:e.spacing(2)},tableCell:{paddingLeft:e.spacing(2)},footer:{margin:e.spacing(2),textAlign:"right"}})})),gt=function(e){var t=e.title,a=e.rows,n=e.nameColumnTitle,l=e.valueColumnTitle,c=e.loading,o=pt();return r.a.createElement(R.a,null,r.a.createElement("div",{className:o.wrapper},r.a.createElement(y.a,{container:!0},r.a.createElement(y.a,{item:!0,xs:12},r.a.createElement(y.a,{container:!0,justify:"space-between",alignItems:"center"},r.a.createElement(y.a,{item:!0,xs:6},r.a.createElement(S.a,{component:"h1",variant:"h6",className:o.title},t))),r.a.createElement(k.a,null)),r.a.createElement(y.a,{item:!0,xs:12},r.a.createElement(it.a,{className:o.tablePaper},r.a.createElement(st.a,{size:"small"},r.a.createElement(ut.a,null,a.map((function(e){return r.a.createElement(mt.a,{key:e.name},r.a.createElement(dt.a,{className:o.tableCell,style:{display:"flex"}},r.a.createElement("div",null,r.a.createElement(S.a,{variant:"caption"},n),r.a.createElement(S.a,{variant:"body2",component:"p"},e.name))),r.a.createElement(dt.a,{className:o.tableCell},r.a.createElement(S.a,{variant:"caption"},l),r.a.createElement(S.a,{variant:"body2"},e.detections.toLocaleString("en-US"))))}))))))),c&&r.a.createElement(O,null)))},ft=a(47),bt=a(7),Et=a(697),ht=a(710),vt=a(160),Ot=a.n(vt),jt=a(325),yt=a.n(jt),St=a(696),Ct=a(706),xt=a(162),Nt=a.n(xt),It=a(161),Dt=a.n(It);function Rt(e){e.anchorEl,e.open;var t=Object(g.a)(e,["anchorEl","open"]);return r.a.createElement("div",t)}var kt=r.a.forwardRef((function(e,t){e.autoComplete,e.autoHighlight,e.autoSelect,e.blurOnSelect;var a,n=e.ChipProps,l=e.classes,c=e.className,o=(e.clearOnEscape,e.clearText),i=void 0===o?"Clear":o,s=e.closeIcon,u=void 0===s?r.a.createElement(Ot.a,{fontSize:"small"}):s,m=e.closeText,d=void 0===m?"Close":m,p=(e.debug,e.defaultValue,e.disableClearable),f=void 0!==p&&p,b=(e.disableCloseOnSelect,e.disabled),E=void 0!==b&&b,h=(e.disableListWrap,e.disableOpenOnFocus,e.disablePortal),v=void 0!==h&&h,O=(e.filterOptions,e.filterSelectedOptions,e.forcePopupIcon),j=void 0===O?"auto":O,y=e.freeSolo,S=void 0!==y&&y,C=(e.getOptionDisabled,e.getOptionLabel),x=void 0===C?function(e){return e}:C,N=(e.getOptionSelected,e.groupBy),I=(e.id,e.includeInputInList,e.inputValue,e.ListboxComponent),D=void 0===I?"ul":I,T=e.ListboxProps,w=e.loading,A=void 0!==w&&w,P=e.loadingText,F=void 0===P?"Loading\u2026":P,B=e.multiple,W=void 0!==B&&B,U=e.noOptionsText,L=void 0===U?"No options":U,z=e.onChange,Y=(e.onClose,e.onInputChange,e.onOpen,e.open,e.openText),J=void 0===Y?"Open":Y,H=e.options,$=void 0===H?[]:H,G=e.PaperComponent,_=void 0===G?R.a:G,q=e.PopperComponent,K=void 0===q?V.a:q,X=e.popupIcon,Q=void 0===X?r.a.createElement(yt.a,null):X,Z=e.renderGroup,ee=e.renderInput,te=e.renderOption,ae=e.renderTags,ne=e.showSelectAll,re=e.size,le=void 0===re?"medium":re,ce=(e.value,Object(g.a)(e,["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","classes","className","clearOnEscape","clearText","closeIcon","closeText","debug","defaultValue","disableClearable","disableCloseOnSelect","disabled","disableListWrap","disableOpenOnFocus","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","getOptionDisabled","getOptionLabel","getOptionSelected","groupBy","id","includeInputInList","inputValue","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onInputChange","onOpen","open","openText","options","PaperComponent","PopperComponent","popupIcon","renderGroup","renderInput","renderOption","renderTags","showSelectAll","size","value"])),oe=v?Rt:K,ie=Object(St.a)(Object(Ae.a)(Object(Ae.a)({},e),{},{componentName:"Autocomplete"})),se=ie.getRootProps,ue=ie.getInputProps,me=ie.getInputLabelProps,de=ie.getPopupIndicatorProps,pe=ie.getClearProps,ge=ie.getTagProps,fe=ie.getListboxProps,be=ie.getOptionProps,Ee=ie.value,he=ie.dirty,ve=ie.id,Oe=ie.popupOpen,je=ie.focused,ye=ie.focusedTag,Se=ie.anchorEl,Ce=ie.setAnchorEl,xe=ie.inputValue,Ne=ie.groupedOptions;if(W&&Ee.length>0){var Ie=function(e){return Object(Ae.a)({className:Object(et.a)(l.tag,Object(Ze.a)({},l.tagSizeSmall,"small"===le)),disabled:E},ge(e))};a=ae?ae(Ee,Ie):Ee.map((function(e,t){return r.a.createElement(ht.a,Object.assign({label:x(e),size:le},Ie({index:t}),n))}))}var De=Z||function(e){return r.a.createElement("li",{key:e.key},r.a.createElement(Et.a,{className:l.groupLabel,component:"div"},e.key),r.a.createElement("ul",{className:l.groupUl},e.children))},Re=te||x,ke=function(e,t){var a=be({option:e,index:t});return r.a.createElement("li",Object.assign({},a,{className:l.option}),Re(e,{selected:a["aria-selected"],inputValue:xe}))};return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",Object.assign({ref:t,className:Object(et.a)(l.root,Object(Ze.a)({},l.focused,je),c)},se(ce)),ee({id:ve,disabled:E,size:"small"===le?"small":void 0,InputLabelProps:me(),InputProps:{ref:Ce,className:l.inputRoot,startAdornment:a,endAdornment:r.a.createElement("div",{className:l.endAdornment},f||E?null:r.a.createElement(M.a,Object.assign({},pe(),{"aria-label":i,title:i,className:Object(et.a)(l.clearIndicator,Object(Ze.a)({},l.clearIndicatorDirty,he))}),u),S&&!0!==j||!1===j?null:r.a.createElement(M.a,Object.assign({},de(),{disabled:E,"aria-label":Oe?d:J,title:Oe?d:J,className:Object(et.a)(l.popupIndicator,Object(Ze.a)({},l.popupIndicatorOpen,Oe))}),Q))},inputProps:Object(Ae.a)({className:Object(et.a)(l.input,Object(Ze.a)({},l.inputFocused,-1===ye)),disabled:E},ue())})),Oe&&Se?r.a.createElement(oe,{className:Object(et.a)(l.popper,Object(Ze.a)({},l.popperDisablePortal,v)),style:{width:Se?Se.clientWidth:null},role:"presentation",anchorEl:Se,open:!0},r.a.createElement(_,{className:l.paper},A&&0===Ne.length?r.a.createElement("div",{className:l.loading},F):null,0!==Ne.length||S||A?null:r.a.createElement("div",{className:l.noOptions},L),Ne.length>0?r.a.createElement(D,Object.assign({className:l.listbox},fe(),T),ne&&function(){var e=function(e,t){if(e&&t&&e.length!==t.length)return!1;for(var a=Object(ft.a)(e).sort(),n=Object(ft.a)(t).sort(),r=0;r ul":{maxHeight:"40vh",overflow:"auto"}}),listbox:{listStyle:"none",margin:0,padding:"8px 0px",position:"relative"},loading:{color:e.palette.text.secondary,padding:"14px 16px"},noOptions:{color:e.palette.text.secondary,padding:"14px 16px"},option:(t={minHeight:48,display:"flex",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16},Object(Ze.a)(t,e.breakpoints.up("sm"),{minHeight:"auto"}),Object(Ze.a)(t,'&[aria-selected="true"]',{backgroundColor:e.palette.action.selected}),Object(Ze.a)(t,'&[data-focus="true"]',{backgroundColor:e.palette.action.hover}),Object(Ze.a)(t,'&[aria-disabled="true"]',{opacity:.5,pointerEvents:"none"}),Object(Ze.a)(t,"&:active",{backgroundColor:e.palette.action.selected}),t),groupLabel:{backgroundColor:e.palette.background.paper,top:-8},groupUl:{padding:0}}}),{name:"MuiAutocomplete"})(kt),wt=a(326),At=a(709),Pt=a(327),Ft=a.n(Pt),Bt=a(43),Wt=a(705),Ut=Object(h.a)((function(e){return Object(j.a)({filterButton:{marginTop:e.spacing(2)},filterDrawerContent:{width:400,padding:e.spacing(2),display:"flex",height:"100%",flexDirection:"column"},filterList:{width:"auto"},filterSectionHeader:{marginTop:e.spacing(2)}})})),Lt=function(e){var t=e.open,a=e.filter,n=e.setFilter,l=e.onApplyFilter,c=e.onClearFilter,o=e.onClose,s=Ut(),u=Object(i.useRecoilValue)(Ve),m=u.tags,d=u.vehicles,p=function(){o()};return r.a.createElement(Bt.a,{utils:wt.a},r.a.createElement(At.a,{anchor:"right",open:t,onClose:p},r.a.createElement("div",{className:s.filterDrawerContent},r.a.createElement("div",{style:{flexGrow:0}},r.a.createElement(X.a,{startIcon:r.a.createElement(Ot.a,null),onClick:p},"Close")),r.a.createElement("div",{style:{flexGrow:1}},r.a.createElement(ie.a,{className:s.filterList},r.a.createElement("div",{className:s.filterSectionHeader},r.a.createElement(S.a,{variant:"overline"},"Filter Options"),r.a.createElement(k.a,null)),r.a.createElement(re.a,null,r.a.createElement(Wt.a,{fullWidth:!0,margin:"normal",id:"from-date-picker",label:"From date",format:"D MMM YYYY",value:a.startDate,onChange:function(e){return function(e){var t=a.endDate;e&&t&&e>t&&(t=e),n(Object(Ae.a)(Object(Ae.a)({},a),{},{startDate:e,endDate:t}))}(e)}})),r.a.createElement(re.a,null,r.a.createElement(Wt.a,{fullWidth:!0,margin:"normal",id:"to-date-picker",label:"To date",format:"D MMM YYYY",value:a.endDate,onChange:function(e){return function(e){var t=a.startDate;t&&e&&e5&&(a=e.slice(0,5));var n=e.length>5?"... ".concat(e.length-5," more"):"";return r.a.createElement("div",null,a.map((function(e){return r.a.createElement(ht.a,Object.assign({key:e.id,label:e.displayName},t(e),{size:"small"}))})),n&&r.a.createElement(S.a,{variant:"caption",gutterBottom:!0},n))},getOptionLabel:function(e){return e.displayName},renderOption:function(e,t){return r.a.createElement(r.a.Fragment,null,r.a.createElement(Ct.a,{icon:r.a.createElement(Dt.a,{fontSize:"small"}),checkedIcon:r.a.createElement(Nt.a,{fontSize:"small"}),style:{marginRight:8},checked:t.selected}),e.displayName)}}))},Yt=Object(h.a)((function(e){return Object(j.a)({alert:{marginBottom:e.spacing(2)},showFilterButton:{marginTop:e.spacing(2),marginBottom:e.spacing(2)}})})),Jt=function(){var e=Yt(),t=Object(i.useRecoilValue)(_e),a=Object(i.useRecoilState)(Ve),l=Object(d.a)(a,2),c=l[0],o=l[1],s=Object(i.useRecoilState)(Je),u=Object(d.a)(s,2)[1],m=Object(i.useRecoilState)($e),p=Object(d.a)(m,2),g=p[0],f=p[1],b=Object(i.useRecoilState)(Ye),E=Object(d.a)(b,2),h=E[0],v=E[1],O=Object(i.useRecoilState)(Ge),j=Object(d.a)(O,2)[1],S=t.pageNumber,C=t.pageSize,N=t.sortItems,D=Object(n.useState)(!1),R=Object(d.a)(D,2),k=R[0],T=R[1],w=Object(n.useState)(Object(Ae.a)({},g)),A=Object(d.a)(w,2),B=A[0],W=A[1],U=c.dashboardReport,L=U.averageDetectionsPerMonth,M=U.averageDetectionsPerWeek,V=U.averageDetectionsPerDay,Y=U.totalDetections,J=U.topFiveVehiclesWithDetections,H=U.topFiveTagsWithDetections;Object(n.useEffect)((function(){F.storage.saveSessionData(F.StorageKey.detectionsFilter,JSON.stringify(g))}),[g]),Object(n.useEffect)((function(){v(!0);var e=void 0,t=void 0;g.startDate&&(e=I()(g.startDate).format("YYYY-MM-DD")),g.endDate&&(t=I()(g.endDate).format("YYYY-MM-DD")),z.b.getDashboard({vehicleIds:g.vehicles.map((function(e){return e.id})),tagIds:g.tags.map((function(e){return e.id})),dateRangeStart:e,dateRangeEnd:t}).then((function(e){o(e),v(!1)})).catch((function(e){console.log(e.message)}))}),[g,v,o]),Object(n.useEffect)((function(){var e=void 0,t=void 0;g.startDate&&(e=I()(g.startDate).format("YYYY-MM-DD")),g.endDate&&(t=I()(g.endDate).format("YYYY-MM-DD")),j(!0),z.b.getDetections({vehicleIds:g.vehicles.map((function(e){return e.id})),tagIds:g.tags.map((function(e){return e.id})),dateRangeStart:e,dateRangeEnd:t,pageNumber:S,pageSize:C,sortItems:N}).then((function(e){u(e),j(!1)})).catch((function(e){console.log(e.message)}))}),[g,S,C,N,j,u]);var $=function(){f(Object(Ae.a)({},He)),W(Object(Ae.a)({},He))};return r.a.createElement(x,{section:"Analytics",title:"Safety Overview",titleActions:r.a.createElement(X.a,{className:e.showFilterButton,variant:"outlined",color:"primary",startIcon:r.a.createElement(Le.a,null),onClick:function(){return T(!0)}},"Show Filters")},!h&&!c.totalRecords&&r.a.createElement(Q.a,{className:e.alert,severity:"warning",action:r.a.createElement(X.a,{onClick:$},"Clear Filters")},"No data is available for the selected filters"),r.a.createElement(y.a,{container:!0,spacing:4},r.a.createElement(y.a,{item:!0,lg:4,xs:12},r.a.createElement(ot,{title:"Average monthly detections for period",number:L&&L.number,loading:h,icon:r.a.createElement(Fe.a,null),iconColor:"blue"})),r.a.createElement(y.a,{item:!0,lg:4,xs:12},r.a.createElement(ot,{title:"Average weekly detections for period",number:M&&M.number,loading:h,icon:r.a.createElement(Me.a,null),iconColor:"green"})),r.a.createElement(y.a,{item:!0,lg:4,xs:12},r.a.createElement(ot,{title:"Average daily detections for period",number:V&&V.number,loading:h,icon:r.a.createElement(We.a,null),iconColor:"orange"})),r.a.createElement(y.a,{item:!0,xs:12},r.a.createElement(P,{title:"Total Detections",data:Y,loading:h})),r.a.createElement(y.a,{item:!0,xs:12,lg:6},r.a.createElement(gt,{title:"Top 5 Vehicle Detections",rows:J,nameColumnTitle:"Vehicle Name",valueColumnTitle:"Detections",loading:h})),r.a.createElement(y.a,{item:!0,xs:12,lg:6},r.a.createElement(gt,{title:"Top 5 Tag Detections",rows:H,nameColumnTitle:"Tag Name",valueColumnTitle:"Detections",loading:h}))),r.a.createElement(y.a,{item:!0,xs:12},r.a.createElement(Qe,null)),r.a.createElement(Lt,{open:k,filter:B,setFilter:W,onApplyFilter:function(){f(B)},onClearFilter:$,onClose:function(){T(!1)}}))},Ht=function(e){e.location;return r.a.createElement(Jt,null)},$t=a(86),Gt=a.n($t),_t=a(332),qt=function(e){var t=e.fileName,a=e.csvHeaders,l=e.fetchData,c=Object(n.useRef)(),o=Object(n.useState)([]),i=Object(d.a)(o,2),s=i[0],u=i[1];return r.a.createElement("div",null,r.a.createElement(X.a,{color:"primary",onClick:function(){l().then((function(e){u(e),c&&c.current&&c.current.link.click()}))}},t),r.a.createElement(_t.CSVLink,{data:s,headers:a,filename:t,className:"hidden",ref:c,target:"_blank"}))},Kt=a(318),Xt=[{label:"VehicleId",key:"vehicleId"},{label:"RecordDate",key:"recordDate"},{label:"RecordTime",key:"recordTime"},{label:"RecordType",key:"recordType"},{label:"Description",key:"description"},{label:"Parameters",key:"parameter1"},{label:"Parameters",key:"parameter2"},{label:"Parameters",key:"parameter3"},{label:"Parameters",key:"parameter4"}],Qt=function(e){var t=e.onDeleteLogBundle,a=r.a.useState(null),n=Object(d.a)(a,2),l=n[0],c=n[1],o=function(){c(null)};return r.a.createElement(r.a.Fragment,null,r.a.createElement(X.a,{endIcon:r.a.createElement(Gt.a,null),onClick:function(e){return c(e.currentTarget)}},"Actions"),r.a.createElement(Kt.a,{anchorEl:l,keepMounted:!0,open:Boolean(l),onClose:o},r.a.createElement($.a,{onClick:function(){return o(),void t()}},"Delete")))},Zt=function(e){var t=e.logBundles,a=e.pageNumber,n=e.pageSize,l=e.totalRecords,c=e.loading,o=e.onPageNumberChange,s=e.onPageSizeChange,u=e.onDeleteLogBundle,d=Object(i.useRecoilValue)(m),p=t.map((function(e){return{vehicle:e.vehicleName,date:(t=e.date,I()(t).format("D MMM YYYY, h:mm:ss A")),logs:e,actions:e};var t})),g=[{name:"vehicle",title:"Vehicle"},{name:"date",title:"Date"},{name:"logs",title:"Logs"}];return(null===d||void 0===d?void 0:d.roles.includes("admin"))&&g.push({name:"actions",title:"Actions"}),r.a.createElement(Ke.a,{rows:p,columns:g},r.a.createElement(qe.c,{formatterComponent:function(e){var t=e.value;return r.a.createElement(qt,{fileName:t.logBundleFileName,csvHeaders:Xt,fetchData:function(){return z.a.getLogBundle(t.logBundleId).then((function(e){return e.logBundleRecords}))}})},for:["logs"]}),r.a.createElement(qe.c,{formatterComponent:function(e){var t=e.value;return r.a.createElement(Qt,{onDeleteLogBundle:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return u(t.logBundleId)}))})},for:["actions"]}),r.a.createElement(qe.j,{currentPage:a,onCurrentPageChange:o,onPageSizeChange:s,pageSize:n}),r.a.createElement(qe.b,{totalCount:l}),r.a.createElement(Ke.c,null),r.a.createElement(Ke.d,null),r.a.createElement(Ke.b,{pageSizes:[10,20,50]}),c&&r.a.createElement(O,null))},ea=Object(h.a)((function(e){return{actionButtonColumn:{textAlign:"right"},button:{marginRight:e.spacing(1)},paper:{marginTop:e.spacing(3),display:"flex",flexDirection:"column",alignItems:"center"}}})),ta=function(){var e=ea(),t=Object(n.useState)([]),a=Object(d.a)(t,2),l=a[0],c=a[1],o=Object(n.useState)(!1),i=Object(d.a)(o,2),s=i[0],u=i[1],m=Object(n.useState)(10),p=Object(d.a)(m,2),g=p[0],f=p[1],b=Object(n.useState)(0),E=Object(d.a)(b,2),h=E[0],v=E[1],O=Object(n.useState)(0),j=Object(d.a)(O,2),y=j[0],S=j[1];Object(n.useEffect)((function(){u(!0),z.a.getLogBundles(h,g).then((function(e){c(e.logBundles),S(e.totalRecords),u(!1)}))}),[g,h]);return r.a.createElement(x,{section:"Analytics",title:"Bundles"},r.a.createElement(R.a,{className:e.paper},r.a.createElement(Zt,{logBundles:l,pageNumber:h,pageSize:g,totalRecords:y,loading:s,onPageNumberChange:v,onPageSizeChange:f,onDeleteLogBundle:function(e){u(!0),z.a.deleteLogBundle(e).then((function(){c((function(t){return t.filter((function(t){return t.logBundleId!==e}))})),u(!1)}))}})))},aa=a(702),na=a(333),ra=a.n(na),la=Object(h.a)((function(e){return{"@global":{body:{backgroundColor:e.palette.common.white}},paper:{marginTop:e.spacing(8),display:"flex",flexDirection:"column",alignItems:"center"},avatar:{margin:e.spacing(1),backgroundColor:e.palette.secondary.main},form:{width:"100%",marginTop:e.spacing(1)},submit:{margin:e.spacing(3,0,2)},error:{color:"red",textAlign:"center"}}})),ca=function(){var e=la(),t=Object(i.useRecoilState)(m),a=Object(d.a)(t,2),l=a[0],c=a[1],u=Object(n.useState)(""),p=Object(d.a)(u,2),g=p[0],f=p[1],b=Object(n.useState)(""),E=Object(d.a)(b,2),h=E[0],v=E[1],O=Object(n.useState)(""),j=Object(d.a)(O,2),y=j[0],C=j[1];return r.a.createElement(aa.a,{component:"main",maxWidth:"xs"},l&&l.token&&r.a.createElement(o.a,{to:"/"}),r.a.createElement(s.a,null),r.a.createElement("div",{className:e.paper},r.a.createElement(tt.a,{className:e.avatar},r.a.createElement(ra.a,null)),r.a.createElement(S.a,{component:"h1",variant:"h5"},"Sign in"),r.a.createElement("form",{className:e.form,noValidate:!0,onSubmit:function(e){e.preventDefault(),z.e.authenticate(g,h).then((function(e){c(e)})).catch((function(){C("Username or password were incorrect")}))}},r.a.createElement(zt.a,{value:g,onChange:function(e){return f(e.target.value)},variant:"outlined",margin:"normal",required:!0,fullWidth:!0,id:"username",label:"Username",name:"username",autoComplete:"username",autoFocus:!0}),r.a.createElement(zt.a,{value:h,onChange:function(e){return v(e.target.value)},variant:"outlined",margin:"normal",required:!0,fullWidth:!0,name:"password",label:"Password",type:"password",id:"password",autoComplete:"current-password"}),y&&r.a.createElement(S.a,{component:"body",variant:"body1",className:e.error},y),r.a.createElement(X.a,{type:"submit",fullWidth:!0,variant:"contained",color:"primary",className:e.submit},"Sign In"))))},oa=a(692),ia=a(112),sa=a.n(ia),ua=a(698),ma=a(704),da=a(699),pa=a(700),ga=function(e){var t=e.reader,a=e.open,l=e.onClose,c=Object(n.useState)(!1),o=Object(d.a)(c,2),i=o[0],s=o[1],u=Object(n.useState)(t.displayName),m=Object(d.a)(u,2),p=m[0],g=m[1];return r.a.createElement(ua.a,{open:a,onClose:l,maxWidth:"sm"},r.a.createElement(ma.a,{id:"form-dialog-title"},"Edit Reader"),r.a.createElement(da.a,null,r.a.createElement(zt.a,{label:"Reader ID",value:t.id,margin:"dense",fullWidth:!0,disabled:!0}),r.a.createElement(zt.a,{label:"System Name",value:t.systemName,margin:"dense",fullWidth:!0,disabled:!0}),r.a.createElement(zt.a,{label:"Name",value:p,margin:"dense",autoFocus:!0,required:!0,fullWidth:!0,disabled:i,onChange:function(e){return g(e.target.value)}}),r.a.createElement(pa.a,null,r.a.createElement(X.a,{onClick:l,color:"primary",disabled:i},"Cancel"),r.a.createElement(X.a,{onClick:function(){if(!i){s(!0);var e={id:t.id,displayName:p};z.c.updateReader(e).then((function(){s(!1),l()}))}},color:"primary",disabled:i},"Save")),i&&r.a.createElement(O,null)))},fa=Object(h.a)((function(e){return{actionButtonColumn:{textAlign:"right"},button:{marginRight:e.spacing(1)},paper:{marginTop:e.spacing(3),display:"flex",flexDirection:"column",alignItems:"center"}}})),ba=Object(bt.a)((function(e){return Object(j.a)({head:{fontWeight:550}})}))(dt.a),Ea=function(e){var t=e.title,a=e.readers,n=e.onEditReader,l=fa();return r.a.createElement("div",null,r.a.createElement("h3",null,t),r.a.createElement(R.a,{className:l.paper},r.a.createElement(st.a,{"aria-label":"readers"},r.a.createElement(oa.a,null,r.a.createElement(mt.a,null,r.a.createElement(ba,null,"Upload Device ID"),r.a.createElement(ba,null,"System Name"),r.a.createElement(ba,null,"Display Name"),r.a.createElement(ba,null,"Assigned To"),r.a.createElement(ba,null,"Last Upload At"),r.a.createElement(ba,null))),r.a.createElement(ut.a,null,a.map((function(e){return r.a.createElement(mt.a,{key:e.id},r.a.createElement(dt.a,null,e.id),r.a.createElement(dt.a,null,e.systemName),r.a.createElement(dt.a,null,e.displayName),r.a.createElement(dt.a,null,e.associatedUserIds.join(", ")),r.a.createElement(dt.a,null,(t=e.lastUploadDateTime)?I()(t).format("D MMM YYYY, h:mm:ss A"):"No uploads yet"),r.a.createElement(dt.a,{className:l.actionButtonColumn},r.a.createElement(X.a,{className:l.button,startIcon:r.a.createElement(sa.a,null),variant:"outlined",size:"small",onClick:function(){return n(e)}},"Edit")));var t}))))))},ha=function(){var e=r.a.useState(!1),t=Object(d.a)(e,2),a=t[0],l=t[1],c=r.a.useState(),o=Object(d.a)(c,2),i=o[0],s=o[1],u=Object(n.useState)([]),m=Object(d.a)(u,2),p=m[0],g=m[1],f=Object(n.useState)(!1),b=Object(d.a)(f,2),E=b[0],h=b[1],v=Object(n.useState)(!1),j=Object(d.a)(v,2),y=j[0],S=j[1];Object(n.useEffect)((function(){h(!0),z.c.getReaders().then((function(e){g(e.readers),h(!1)}))}),[y]);var C=function(e){s(e),l(!0)},N=p.filter((function(e){return 0===e.associatedUserIds.length})),I=p.filter((function(e){return e.associatedUserIds.length>0}));return r.a.createElement(x,{section:"Admin",title:"Readers"},i&&r.a.createElement(ga,{reader:i,open:a,onClose:function(){s(void 0),l(!1),S(!y)}}),N.length>0?r.a.createElement(Ea,{title:"Readers not assigned to any user",readers:N,onEditReader:C}):null,r.a.createElement(Ea,{title:"Readers with users",readers:I,onEditReader:C}),E&&r.a.createElement(O,null))},va=function(e){var t=e.tag,a=e.open,l=e.onClose,c=Object(n.useState)(!1),o=Object(d.a)(c,2),i=o[0],s=o[1],u=Object(n.useState)(t.displayName),m=Object(d.a)(u,2),p=m[0],g=m[1];return r.a.createElement(ua.a,{open:a,onClose:l,maxWidth:"sm"},r.a.createElement(ma.a,{id:"form-dialog-title"},"Edit Tag"),r.a.createElement(da.a,null,r.a.createElement(zt.a,{label:"Tag ID",value:t.systemName,margin:"dense",fullWidth:!0,disabled:!0}),r.a.createElement(zt.a,{label:"Name",value:p,margin:"dense",autoFocus:!0,required:!0,fullWidth:!0,disabled:i,onChange:function(e){return g(e.target.value)}}),r.a.createElement(pa.a,null,r.a.createElement(X.a,{onClick:l,color:"primary",disabled:i},"Cancel"),r.a.createElement(X.a,{onClick:function(){if(!i){s(!0);var e={id:t.id,displayName:p};z.d.updateTag(e).then((function(){s(!1),l()}))}},color:"primary",disabled:i},"Save")),i&&r.a.createElement(O,null)))},Oa=Object(h.a)((function(e){return{actionButtonColumn:{textAlign:"right"},button:{marginRight:e.spacing(1)},paper:{marginTop:e.spacing(3),display:"flex",flexDirection:"column",alignItems:"center"}}})),ja=Object(bt.a)((function(e){return Object(j.a)({head:{fontWeight:550}})}))(dt.a),ya=function(){var e=Oa(),t=r.a.useState(!1),a=Object(d.a)(t,2),l=a[0],c=a[1],o=r.a.useState(),i=Object(d.a)(o,2),s=i[0],u=i[1],m=Object(n.useState)([]),p=Object(d.a)(m,2),g=p[0],f=p[1],b=Object(n.useState)(!1),E=Object(d.a)(b,2),h=E[0],v=E[1],j=Object(n.useState)(!1),y=Object(d.a)(j,2),S=y[0],C=y[1];Object(n.useEffect)((function(){v(!0),z.d.getTags().then((function(e){f(e.tags),v(!1)}))}),[S]);return r.a.createElement(x,{section:"Management",title:"Tags"},s&&r.a.createElement(va,{tag:s,open:l,onClose:function(){u(void 0),c(!1),C(!S)}}),r.a.createElement(R.a,{className:e.paper},r.a.createElement(st.a,{"aria-label":"tags"},r.a.createElement(oa.a,null,r.a.createElement(mt.a,null,r.a.createElement(ja,null,"Tag ID"),r.a.createElement(ja,null,"Display Name"),r.a.createElement(ja,null))),r.a.createElement(ut.a,null,g.map((function(t){return r.a.createElement(mt.a,{key:t.id},r.a.createElement(dt.a,null,t.systemName),r.a.createElement(dt.a,null,t.displayName),r.a.createElement(dt.a,{className:e.actionButtonColumn},r.a.createElement(X.a,{className:e.button,startIcon:r.a.createElement(sa.a,null),variant:"outlined",size:"small",onClick:function(){return u(t),void c(!0)}},"Edit")))}))))),h&&r.a.createElement(O,null))},Sa=a(701),Ca=a(714),xa=a(707),Na=a(163),Ia=Object(h.a)((function(e){return{chip:{marginRight:e.spacing(1)},chips:{display:"flex",flexWrap:"wrap"},button:{marginRight:e.spacing(1)},wrapper:{margin:e.spacing(1),position:"relative"},buttonSuccess:{backgroundColor:Na.a[500],"&:hover":{backgroundColor:Na.a[700]}},saveProgress:{position:"absolute",top:"50%",left:"50%",marginTop:-12,marginLeft:-12}}})),Da=function(e){var t=e.open,a=e.onClose,l=Ia(),c=Object(n.useState)(!1),o=Object(d.a)(c,2),i=o[0],s=o[1],u=Object(n.useState)(""),m=Object(d.a)(u,2),p=m[0],g=m[1],f=Object(n.useState)(""),b=Object(d.a)(f,2),h=b[0],v=b[1],O=Object(n.useState)(["user"]),j=Object(d.a)(O,2),y=j[0],S=j[1],C=Object(n.useState)(""),x=Object(d.a)(C,2),N=x[0],I=x[1],D=Object(n.useState)(""),R=Object(d.a)(D,2),k=R[0],T=R[1],w=Object(n.useState)(""),A=Object(d.a)(w,2),P=A[0],F=A[1],B=Object(n.useState)(""),W=Object(d.a)(B,2),U=W[0],L=W[1],M=function(){var e=!0;return T(""),F(""),L(""),p||(T("Must specify a username"),e=!1),/^[^@]*@(localhost)$/.test(h)||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(h)||(F("Must specify a valid e-mail address"),e=!1),(!N||N.length<6)&&(L("Password must contain at least 6 characters"),e=!1),e};return r.a.createElement(ua.a,{open:t,onClose:a,maxWidth:"sm"},r.a.createElement(ma.a,{id:"form-dialog-title"},"Create User"),r.a.createElement(da.a,null,r.a.createElement(zt.a,{label:"Username",error:""!==k,helperText:k,value:p,margin:"dense",fullWidth:!0,required:!0,autoFocus:!0,onChange:function(e){return t=e.target.value,g(t),void T("");var t}}),r.a.createElement(zt.a,{label:"E-Mail",error:""!==P,helperText:P,value:h,type:"email",margin:"dense",required:!0,fullWidth:!0,disabled:i,onChange:function(e){return t=e.target.value,v(t),void F("");var t}}),r.a.createElement(Sa.a,{fullWidth:!0,required:!0,disabled:i,margin:"dense"},r.a.createElement(Ca.a,{id:"roles-label"},"Roles"),r.a.createElement(xa.a,{multiple:!0,value:y,onChange:function(e){return S(e.target.value)},renderValue:function(e){return r.a.createElement("div",{className:l.chips},e.sort().map((function(e){return r.a.createElement(ht.a,{key:e,label:e,className:l.chip})})))}},["admin","user"].map((function(e){return r.a.createElement($.a,{key:e,value:e},e)})))),r.a.createElement(zt.a,{label:"Password",error:""!==U,helperText:U,value:N,type:"password",margin:"dense",required:!0,fullWidth:!0,disabled:i,onChange:function(e){return t=e.target.value,I(t),void L("");var t}}),r.a.createElement(pa.a,null,r.a.createElement(X.a,{onClick:a,color:"primary",disabled:i},"Cancel"),r.a.createElement(X.a,{onClick:function(){if(!i&&M()){s(!0);var e={userId:p,email:h,roles:y,password:N};z.e.createUser(e).then((function(){s(!1),a()}))}},color:"primary",disabled:i},"Create")),i&&r.a.createElement(E.a,{size:24,className:l.saveProgress})))},Ra=a(716),ka=Object(h.a)((function(e){return{chip:{marginRight:e.spacing(1)},chips:{display:"flex",flexWrap:"wrap"},button:{marginRight:e.spacing(1)},wrapper:{margin:e.spacing(1),position:"relative"},buttonSuccess:{backgroundColor:Na.a[500],"&:hover":{backgroundColor:Na.a[700]}},saveProgress:{position:"absolute",top:"50%",left:"50%",marginTop:-12,marginLeft:-12},formItem:{marginBottom:e.spacing(1)},selectItemIdText:{marginLeft:e.spacing(1)}}})),Ta=function(e){var t=e.user,a=e.availableReaders,l=e.open,c=e.onClose,o=ka(),i=a.filter((function(e){return t.readers.findIndex((function(t){return t.id===e.id}))>-1})),s=Object(n.useState)(!1),u=Object(d.a)(s,2),m=u[0],p=u[1],g=Object(n.useState)(t.email),f=Object(d.a)(g,2),b=f[0],h=f[1],v=Object(n.useState)(t.roles),O=Object(d.a)(v,2),j=O[0],S=O[1],C=Object(n.useState)(i),x=Object(d.a)(C,2),N=x[0],I=x[1],D=function(e){var t=e.item;return r.a.createElement("span",null,t.displayName," ",t.id!==t.displayName&&r.a.createElement("span",{className:o.selectItemIdText},"(",t.id,")"))};return r.a.createElement(ua.a,{open:l,onClose:c,maxWidth:"sm"},r.a.createElement(ma.a,{id:"form-dialog-title"},"Edit User"),r.a.createElement(da.a,null,r.a.createElement(y.a,{container:!0},r.a.createElement(y.a,{className:o.formItem,item:!0,xs:12},r.a.createElement(zt.a,{label:"Username",value:t.userId,margin:"dense",fullWidth:!0,disabled:!0})),r.a.createElement(y.a,{className:o.formItem,item:!0,xs:12},r.a.createElement(zt.a,{label:"E-Mail",value:b,type:"email",margin:"dense",autoFocus:!0,required:!0,fullWidth:!0,disabled:m,onChange:function(e){return h(e.target.value)}})),r.a.createElement(y.a,{className:o.formItem,item:!0,xs:12},r.a.createElement(Ra.a,{multiple:!0,id:"roles-select",options:["admin","user"],value:j,onChange:function(e,t){return S(t)},getOptionLabel:function(e){return e},renderOption:function(e,t){var a=t.selected;return r.a.createElement(r.a.Fragment,null,r.a.createElement(Ct.a,{style:{marginRight:8},checked:a}),e)},renderInput:function(e){return r.a.createElement(zt.a,Object.assign({},e,{variant:"standard",label:"Roles",fullWidth:!0,margin:"dense"}))}})),r.a.createElement(y.a,{className:o.formItem,item:!0,xs:12},r.a.createElement(Ra.a,{multiple:!0,id:"readers-select",options:a,value:N,onChange:function(e,t){return I(t)},disableCloseOnSelect:!0,getOptionLabel:function(e){return e.displayName},renderOption:function(e,t){var a=t.selected;return r.a.createElement(r.a.Fragment,null,r.a.createElement(Ct.a,{style:{marginRight:8},checked:a}),r.a.createElement(D,{item:e}))},renderInput:function(e){return r.a.createElement(zt.a,Object.assign({},e,{variant:"standard",label:"Readers",fullWidth:!0,margin:"dense"}))}})),r.a.createElement(y.a,{className:o.formItem,item:!0,xs:12},r.a.createElement(pa.a,null,r.a.createElement(X.a,{onClick:c,color:"primary",disabled:m},"Cancel"),r.a.createElement(X.a,{onClick:function(){if(!m){p(!0);var e={userId:t.userId,email:b,roles:j,readers:N};z.e.updateUser(e).then((function(){p(!1),c()}))}},color:"primary",disabled:m},"Save")))),m&&r.a.createElement(E.a,{size:24,className:o.saveProgress})))},wa=Object(h.a)((function(e){return{chip:{marginRight:e.spacing(1)},chips:{display:"flex",flexWrap:"wrap"},button:{marginRight:e.spacing(1)},saveProgress:{position:"absolute",top:"50%",left:"50%",marginTop:-12,marginLeft:-12}}})),Aa=function(e){var t=e.user,a=e.open,l=e.onClose,c=wa(),o=Object(n.useState)(!1),i=Object(d.a)(o,2),s=i[0],u=i[1],m=Object(n.useState)(""),p=Object(d.a)(m,2),g=p[0],f=p[1],b=Object(n.useState)(""),h=Object(d.a)(b,2),v=h[0],O=h[1];return r.a.createElement(ua.a,{open:a,onClose:l,maxWidth:"sm"},r.a.createElement(ma.a,{id:"form-dialog-title"},"Change Password"),r.a.createElement(da.a,null,r.a.createElement(zt.a,{label:"Username",value:t.userId,margin:"dense",fullWidth:!0,disabled:!0}),r.a.createElement(zt.a,{label:"Password",error:""!==v,helperText:v,value:g,type:"password",margin:"dense",required:!0,fullWidth:!0,autoFocus:!0,disabled:s,onChange:function(e){return t=e.target.value,f(t),void O("");var t}}),r.a.createElement(pa.a,null,r.a.createElement(X.a,{onClick:l,color:"primary",disabled:s},"Cancel"),r.a.createElement(X.a,{onClick:function(){s||function(){var e=!0;return O(""),(!g||g.length<6)&&(O("Password must contain at least 6 characters"),e=!1),e}()&&(u(!0),z.e.changePassword(t.userId,g).then((function(){u(!1),l()})))},color:"primary",disabled:s},"Save")),s&&r.a.createElement(E.a,{size:24,className:c.saveProgress})))},Pa=Object(h.a)((function(e){return{paper:{marginTop:e.spacing(3),display:"flex",flexDirection:"column",alignItems:"center"},formControl:{margin:e.spacing(1),minWidth:100},chip:{marginRight:e.spacing(1),marginBottom:e.spacing(1)},headerContainer:{marginTop:e.spacing(3),textAlign:"right"},button:{marginRight:e.spacing(1),marginBottom:e.spacing(1)}}})),Fa=Object(bt.a)((function(e){return Object(j.a)({head:{fontWeight:550}})}))(dt.a),Ba=function(e){var t=e.onEditUser,a=e.onChangePassword,n=e.onImpersonateUser,l=r.a.useState(null),c=Object(d.a)(l,2),o=c[0],i=c[1],s=function(){i(null)};return r.a.createElement(r.a.Fragment,null,r.a.createElement(X.a,{endIcon:r.a.createElement(Gt.a,null),onClick:function(e){return i(e.currentTarget)}},"Actions"),r.a.createElement(Kt.a,{anchorEl:o,keepMounted:!0,open:Boolean(o),onClose:s},r.a.createElement($.a,{onClick:function(){return s(),void t()}},"Edit"),r.a.createElement($.a,{onClick:function(){return s(),void a()}},"Change password"),r.a.createElement($.a,{onClick:function(){return s(),void n()}},"Impersonate user")))},Wa=function(){var e=Pa(),t=Object(i.useRecoilValue)(m),a=r.a.useState(!1),l=Object(d.a)(a,2),c=l[0],o=l[1],s=r.a.useState(!1),u=Object(d.a)(s,2),p=u[0],g=u[1],f=r.a.useState(!1),b=Object(d.a)(f,2),E=b[0],h=b[1],v=r.a.useState(),j=Object(d.a)(v,2),y=j[0],S=j[1],C=r.a.useState(),N=Object(d.a)(C,2),I=N[0],D=N[1],k=Object(n.useState)([]),T=Object(d.a)(k,2),w=T[0],A=T[1],P=Object(n.useState)([]),B=Object(d.a)(P,2),W=B[0],U=B[1],M=Object(n.useState)(!1),V=Object(d.a)(M,2),Y=V[0],J=V[1],H=Object(n.useState)(!1),$=Object(d.a)(H,2),G=$[0],_=$[1];Object(n.useEffect)((function(){J(!0),z.e.getUsers(0,1e4).then((function(e){A(e.users.data),U(e.readers),J(!1)}))}),[G]);var q=function(){_(!G)};return r.a.createElement(x,{section:"Admin",title:"Users",titleActions:r.a.createElement(X.a,{variant:"contained",onClick:function(){g(!0)},color:"primary"},"Create User")},y&&r.a.createElement(Ta,{user:y,availableReaders:W,open:c,onClose:function(){S(void 0),o(!1),q()}}),p&&r.a.createElement(Da,{open:p,onClose:function(){g(!1),q()}}),I&&r.a.createElement(Aa,{user:I,open:E,onClose:function(){D(void 0),h(!1),q()}}),r.a.createElement(R.a,{className:e.paper},r.a.createElement(st.a,{"aria-label":"users"},r.a.createElement(oa.a,null,r.a.createElement(mt.a,null,r.a.createElement(Fa,null,"User"),r.a.createElement(Fa,null,"E-mail"),r.a.createElement(Fa,null,"Roles"),r.a.createElement(Fa,null,"Assigned Readers"),r.a.createElement(Fa,null,"Is Deactivated"),r.a.createElement(Fa,null))),r.a.createElement(ut.a,null,w.map((function(a,n){return r.a.createElement(mt.a,{key:a.userId},r.a.createElement(dt.a,null,a.userId),r.a.createElement(dt.a,null,a.email),r.a.createElement(dt.a,null,a.roles.sort().map((function(t){return r.a.createElement(ht.a,{key:t,className:e.chip,label:t})}))),r.a.createElement(dt.a,null,a.readers&&a.readers.sort((function(e,t){return e.id>t.id?1:-1})).map((function(t){return r.a.createElement(ht.a,{key:t.id,className:e.chip,label:t.displayName})}))),r.a.createElement(dt.a,null,r.a.createElement(Ct.a,{disabled:t&&a.userId===t.userId,checked:a.isDeactivated,onClick:function(){return function(e){(e.isDeactivated?z.e.activateUser(e.userId):z.e.deactivateUser(e.userId)).then((function(){return _(!G)}))}(a)},inputProps:{"aria-label":"is user deactivated"}})),r.a.createElement(dt.a,null,r.a.createElement(Ba,{onEditUser:function(){return function(e){S(e),o(!0)}(a)},onChangePassword:function(){return function(e){D(e),h(!0)}(a)},onImpersonateUser:function(){return function(e){L.b.saveSessionData(L.a.viewAsUser,e.userId),F.history.push("/")}(a)}})))}))))),Y&&r.a.createElement(O,null))},Ua=function(e){var t=e.vehicle,a=e.open,l=e.onClose,c=Object(n.useState)(!1),o=Object(d.a)(c,2),i=o[0],s=o[1],u=Object(n.useState)(t.displayName),m=Object(d.a)(u,2),p=m[0],g=m[1];return r.a.createElement(ua.a,{open:a,onClose:l,maxWidth:"sm"},r.a.createElement(ma.a,{id:"form-dialog-title"},"Edit Vehicle"),r.a.createElement(da.a,null,r.a.createElement(zt.a,{label:"Vehicle ID",value:t.id,margin:"dense",fullWidth:!0,disabled:!0}),r.a.createElement(zt.a,{label:"Name",value:p,margin:"dense",autoFocus:!0,required:!0,fullWidth:!0,disabled:i,onChange:function(e){return g(e.target.value)}}),r.a.createElement(pa.a,null,r.a.createElement(X.a,{onClick:l,color:"primary",disabled:i},"Cancel"),r.a.createElement(X.a,{onClick:function(){if(!i){s(!0);var e={id:t.id,displayName:p};z.f.updateVehicle(e).then((function(){s(!1),l()}))}},color:"primary",disabled:i},"Save")),i&&r.a.createElement(O,null)))},La=Object(h.a)((function(e){return{actionButtonColumn:{textAlign:"right"},button:{marginRight:e.spacing(1)},paper:{marginTop:e.spacing(3),display:"flex",flexDirection:"column",alignItems:"center"}}})),za=Object(bt.a)((function(e){return Object(j.a)({head:{fontWeight:550}})}))(dt.a),Ma=function(){var e=La(),t=r.a.useState(!1),a=Object(d.a)(t,2),l=a[0],c=a[1],o=r.a.useState(),i=Object(d.a)(o,2),s=i[0],u=i[1],m=Object(n.useState)([]),p=Object(d.a)(m,2),g=p[0],f=p[1],b=Object(n.useState)(!1),E=Object(d.a)(b,2),h=E[0],v=E[1],j=Object(n.useState)(!1),y=Object(d.a)(j,2),S=y[0],C=y[1];Object(n.useEffect)((function(){v(!0),z.f.getVehicles().then((function(e){f(e.vehicles),v(!1)}))}),[S]);return r.a.createElement(x,{section:"Management",title:"Vehicles"},s&&r.a.createElement(Ua,{vehicle:s,open:l,onClose:function(){u(void 0),c(!1),C(!S)}}),r.a.createElement(R.a,{className:e.paper},r.a.createElement(st.a,{"aria-label":"vehicles"},r.a.createElement(oa.a,null,r.a.createElement(mt.a,null,r.a.createElement(za,null,"Vehicle ID"),r.a.createElement(za,null,"Display Name"),r.a.createElement(za,null))),r.a.createElement(ut.a,null,g.map((function(t){return r.a.createElement(mt.a,{key:t.id},r.a.createElement(dt.a,null,t.id),r.a.createElement(dt.a,null,t.displayName),r.a.createElement(dt.a,{className:e.actionButtonColumn},r.a.createElement(X.a,{className:e.button,startIcon:r.a.createElement(sa.a,null),variant:"outlined",size:"small",onClick:function(){return u(t),void c(!0)}},"Edit")))}))))),h&&r.a.createElement(O,null))},Va=function(){var e=Object(i.useRecoilValue)(m),t=e&&e.token&&e.roles.indexOf("admin")>-1;return r.a.createElement(o.c,{history:F.history},(void 0===e||!e.token)&&r.a.createElement(o.a,{to:"/login"}),r.a.createElement(f,{path:"/login",component:ca,layout:ke}),r.a.createElement(p,{path:"/",component:Ht,layout:De}),r.a.createElement(p,{path:"/uploadedlogs",component:ta,layout:De}),r.a.createElement(p,{path:"/tags",component:ya,layout:De}),r.a.createElement(p,{path:"/vehicles",component:Ma,layout:De}),t&&r.a.createElement("div",null,r.a.createElement(p,{path:"/admin/users",component:Wa,layout:De}),r.a.createElement(p,{path:"/admin/readers",component:ha,layout:De})))},Ya=function(){return r.a.createElement(i.RecoilRoot,null,r.a.createElement(u.f,{theme:we,config:u.j},r.a.createElement(s.a,null),r.a.createElement(Va,null)))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));c.a.render(r.a.createElement(Ya,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}},[[385,1,2]]]); //# sourceMappingURL=main.e1d4babd.chunk.js.map