{"version":3,"sources":["images/No_Barcode.png","images/noimage.png","images/UWMedicineLogo.png","CacheBuster.js","utils/Utils.js","actions/index.js","reducers/index.js","serviceWorker.js","pages/Login.jsx","components/PrimaryFilterContext.jsx","pages/Home.jsx","pages/DashBoard.jsx","components/PaginationActions.jsx","components/Filters.jsx","components/Page2Map.jsx","components/AlertDialog.jsx","components/CollectionsTable.jsx","components/TableHistory.jsx","components/Configure.jsx","components/PopUp.jsx","components/Table.jsx","components/MapView.jsx","pages/ViewDevicesTable.jsx","pages/ViewDevicesMap.jsx","components/TableMappedDevices.jsx","components/TableUnmappedDevices.jsx","components/ManageDevicesComp.jsx","pages/ManageDevicesPage.jsx","components/ManageDevicesCompCol.jsx","pages/ManageDevicesPageCollections.jsx","components/AlertContext.jsx","components/CreateAlert.jsx","pages/OptionsAlert.jsx","components/CreateEntity.jsx","components/TableForOption.jsx","components/AssignOrRemoveUsers.jsx","pages/OptionsEntity.jsx","components/CreateLocation.jsx","pages/OptionsLocation.jsx","components/CreateDepartment.jsx","pages/OptionsDepartment.jsx","components/TableMappedUsers.jsx","components/TableUnmappedUsers.jsx","components/ManageUsersComp.jsx","pages/ManageUsers.jsx","components/ModifyUsersComp.jsx","pages/CreateUsers.jsx","components/Navbar.jsx","components/PrimaryFilter.jsx","pages/Layout.jsx","components/TableForMetadata.jsx","pages/MasterDataManagement.jsx","pages/MasterDataManagementType.jsx","pages/MasterDataManagementManufacturerModel.jsx","components/TableUnmappedOrphanedDevices.jsx","pages/MapDevicesToEntity.jsx","pages/NoAccess.jsx","pages/UserPermissions.jsx","components/DropButton.jsx","pages/UserPermissionsAdminView.jsx","pages/UserPermissionsHandler.jsx","pages/UserProfile.jsx","components/ConfigureSingleComponent.jsx","pages/ManageAlertBannerPage.jsx","components/Wizzard.jsx","components/TagBulkUpload.jsx","pages/UploadTags.jsx","components/UserBulkUpload.jsx","pages/UploadUsers.jsx","pages/UsersListContainer.jsx","components/TableActionLog.jsx","pages/ViewActivityLog.jsx","App.js","theme/muiTheme.js","index.js"],"names":["module","exports","__webpack_require__","p","global","appVersion","packageJson","version","CacheBuster","props","_this","Object","R_UWMC_Portal_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","this","R_UWMC_Portal_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","R_UWMC_Portal_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","call","state","loading","isLatestVersion","refreshCacheAndReload","console","log","caches","keys","then","names","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","Symbol","iterator","next","done","name","value","delete","err","return","window","location","href","_this2","path","concat","fetch","response","json","meta","latestVersion","currentVersion","shouldForceRefresh","versionA","versionB","versionsA","split","versionsB","length","a","Number","shift","b","isNaN","semverGreaterThan","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","setState","catch","error","_this$state","children","React","Component","entityId","locationId","access","query","forceUrl","isPortalAdmin","API_BASE_URL","BASE_URL","admintoken","meridianLocationId","token","defaultImage","allowedDomains","PASSWORD_REGEX","PASSWORD_ERROR","lowBatteryClass","Date","now","toString","getOption","method","arguments","headers","Headers","append","byName","alc","toLowerCase","blc","byPropertyCalled","property","formatDate","date","getFullYear","getMonth","slice","getDate","getHours","getMinutes","getSeconds","storeUser","userName","localStorage","setItem","getUser","getItem","storeEntityId","data","parseInt","getEntityId","getlocationId","storelocationId","setAccess","accessLevels","filter","item","resourceType","getAccess","getAccessSorted","sort","access_level","collection_id","location_id","entity_id","getMaxEntityAccess","map","el","reduce","Math","max","getMaxLocationAccess","getMaxDepartmentAccess","setQuery","arg","getQuery","autoLogout","logoutUrl","pathname","Promise","resolve","reject","$","ajax","url","cache","dataType","success","res","includes","fetchRequest","_x","_x2","_fetchRequest","apply","_callee","URL","tokenJson","accounts","option","_args","regenerator_default","wrap","_context","prev","Cookies","getJSON","port","pca","getAllAccounts","getToken","sent","abrupt","entries","forEach","itm","stop","apiRequest","_x3","_x4","_apiRequest","_callee2","_args2","_context2","Authorization","username","x","atLastPageScrollToTop","datalength","rowsPerPage","currentpage","floor","scrollTo","addLowBatteryHint","t","battery_level","tags","Array","isArray","battery","labels","f1","values","f2","result","h","style","margin","color","round","i","STORE_ENTITIES","STORE_LOCATIONS","STORE_COLLECTIONS","STORE_DEVICE_FLAGS","STORE_ASSET_TYPES","STORE_ASSET_MANUFACTURERS","CLEAR_COLLECTIONS","CLEAR_DATA","SHOW_MESSAGE","CLEAR_MESSAGE","STORE_ASSETS","STORE_ASSET_MODELS","CLEAR_ASSETS","STORE_ACCESS_LEVELS","HIDE_LOADER","cleanData","type","showMessage","message","hideDevicesLoader","hide","getEntity","dispatch","status","entityData","c","id","EntityId","Name","short_name","ShortName","entities","getLocations","locationData","LocationId","LocationName","locations","getCollections","collectionData","CollectionId","CollectionName","collectionType","CollectionType","collections","getDeviceFlags","flagsData","ID","Value","toUpperCase","flags","getAssetManufacturer","assetManufacturer","assetManufacturers","getAssetType","assetType","assetsTypes","getAssets","assets","getAssetModel","assetModel","assetmodels","getAccessLevels","acessLevels","initialState","deviceFlags","assetTypes","hideLoader","rootReducer","action","assign","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","config","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","Login","password","showPassword","signingIn","open","email","name2","loginProcessOn","signInAsAdmin","handleChangeName","event","defineProperty","target","handleChangePassword","handleClickShowPassword","handleSubmit","_this2$state","THAT","assertThisInitialized","Username","Password","btoa","y","expiryTime","parse","expiresOn","expiretime","set","accessToken","expires","sameSite","history","push","lastUrl","removeItem","statusText","showMessageBox","handleKeyPress","e","key","handleForgetPassword","encodeURIComponent","_this3","jQuery","require","get","setTimeout","request","account","scopes","CLIENT_ID","acquireTokenSilent","tokenResponse","acquireTokenRedirect","apiToken","context","_this4","_this5","classes","logIn","react_default","createElement","className","Dialog","disableBackdropClick","disableEscapeKeyDown","onClose","handleClose","DialogTitle","DialogContent","TextField","label","textField","onChange","fontSize","marginBottom","DialogActions","Button","onClick","height","backgroundColor","width","src","logo","alt","buttonMicro","size","instance","loginRedirect","Collapse","in","onKeyPress","borderColor","marginTop","variant","inputProps","padding","InputProps","startAdornment","InputAdornment","position","AccountCircle_default","InputLabelProps","shrink","Lock_default","display","textDecoration","cursor","justifyContent","CircularProgress","marginRight","progress","button","paddingTop","flexWrap","alignContent","contextType","MsalContext","compose","connect","withStyles","theme","container","border","&:hover","PFContext","createContext","entity","handeChange","setCollectionEnable","About","classCallCheck","possibleConstructorReturn","getPrototypeOf","primaryFilter","collapse","isLoading","dashboardData","orphan","total","battery_below_30","dd","total_orphans","total_low_battery_30","total_items","sessionStorage","JSON","bind","transition","paddingLeft","float","react_router_dom","to","index_esm","strokeWidth","styles","root","stroke","strokeLinecap","transformOrigin","trail","text","fill","background","Error_default","fontWeight","fontFamily","Fragment","entity_name","items","Key","details","replace","Consumer","pages_Home","PaginationActions","backIconButtonProps","count","_props$onChangePage","nextIconButtonProps","onChangePage","_props$onPageChange","onPageChange","page","other","objectWithoutProperties","IconButton","aria-label","disabled","outline","LastPage_default","FirstPage_default","KeyboardArrowRight_default","KeyboardArrowLeft_default","ceil","batteryLevelOptions","Filters","handleChange","param","setLoading","searchParam","getLocation","getCollection","createSearchParameters","handleReset","resetSearchText","dept","batteryLevel","zone","manufacturer","model","flag","oldState","loc","coll","assetTypeData","assetModelData","assetManufacturerData","flagData","zoneData","searchStringFromTextBox","searchString","building","k","_this$props$values","getAsset","r","body","zones","ok","x-ms-continuation-nextpartitionkey","x-ms-continuation-nextrowkey","t0","getAssetTypes","getAssetModels","getAssetManufacturers","getFlags","getZones","params","substring","indexOf","_ref","old_entity","old_loc","nextProps","nextState","newState","stringify","deptId","dObj","find","bObj","mObj","tObj","manObj","fObj","zoneObj","paddingRight","Grid","spacing","alignItems","paddingBottom","Tooltip","title","placement","Autocomplete","options","getOptionSelected","getOptionLabel","renderOption","renderInput","xs","minWidth","textAlign","alignSelf","marginLeft","flexGrow","input","inputLabel","paper","palette","secondary","fab","autoCapitalize","extendedIcon","dense","menu","withRouter","DeviceMap","hideMap","renderMap","locid","floorid","macid","point","backgroundImage","image","element","document","getElementById","isDestroyed","api","MeridianSDK","environment","innerHTML","locationID","floorID","shouldMapPanZoom","altKey","touches","annotations","placemarks","labelZoomLevel","onPlacemarksUpdate","allPlacemarks","filteredPlacemarks","update","overlays","placemark","area","hue","points","loadTags","tag","mac","updateInterval","querySelector","click","destroy","_ref2","_ref2$x","_ref2$y","Paper","AlertDialog","close","aria-labelledby","aria-describedby","isError","DialogContentText","subText","hidden","onClickYes","autoFocus","rows","disablePadding","numeric","EnhancedTable","handleChangePage","handleChangeRowsPerPage","handleDelete","openAlert","showLoader","ids","collectionToDelete","MapId","refreshData","order","orderBy","min","AlertDialog_AlertDialog","row","tableHead","align","tableRow","icons","showCollectionDetail","opacity","OpenInNew_default","disableButton","Delete_default","_tableHead","rootcheckbox","&$checked","table","tableWrapper","overflowX","verticalAlign","moment","abbs","tz","Intl","DateTimeFormat","resolvedOptions","timeZone","format","headCells","desc","cmpa","cmpb","EnhancedTableHead","onSelectAllClick","onRequestSort","numSelected","rowCount","TableHead","TableRow","headCell","TableCell","sortDirection","whiteSpace","TableSortLabel","active","direction","History","handleRequestSort","maps","downloadData","showMap","days","results","isFullScreen","daysList","detail","childDiv","createRef","getMaps","assetDetail","MeridianLocationId","m","getAssetHistory","merge","nexT","_this6","_this7","zoneUrl","getZonesFromMeridian","_this8","localTime","time","lastHeard","last_heard","map_id","MeridianBuildingName","group_name","FloorNumber","zone_id","ZoneName","refresh","_this9","array","cmp","stabilizedThis","index","datePickerValue","d","setDate","setMonth","setUTCHours","toISOString","picker","asset","pickerDate","_this10","dayObj","ref","fullScreen","paddingInline","Typography","selectedItem","DeviceId","Timestamp","SvgIcon","Page2Map","MeridianMapId","X","Y","Toolbar","HighlightOff_default","flexDirection","evt","v","getMergedData","react_csv","filename","pointerEvents","TableContainer","Table","TableHistory_EnhancedTableHead","TableBody","stableSort","getSorting","current","scrollIntoView","behavior","block","icons_Map_default","TablePagination","rowsPerPageOptions","component","ActionsComponent","onChangeRowsPerPage","Transition","forwardRef","Slide","Configure","inputChange","manufacturerData","modelData","DeviceModel","fetchData","manufacturerId","handleBackButton","isNameChanged","savebuttondisabled","saveData","actionType","meridianName","isSubmitting","isEditable","selectedAssetDetail","MacId","saveChanges","handleRemoveFromEntity","that","handleRetire","handleScroll","scrollTop","documentElement","addCollection","newCollection","collectiondata","fetchAssetData","Description","CollectionTypeId","addDepartment","departmentdata","newDepartment","removeDeviceFromCollection","deviceToDelete","AssetMapId","showCollection","handleReplace","deviceToReplaceWith","showOrphanedList","getOrphanDevices","orphanedDevices","handleClickOpen","lastKnownModified","created","modified","savebtnstate","deletebuttondisabled","deletebtnstate","backbtnvisible","visiblebackbtn","isDeleteAllowed","canRetireDevice","typeData","Manufacturer","DeviceType","DisplayName","DeviceFlag","DeviceStatus","ExternalId","SerialNumber","openAddColection","openAddDepartment","showCollectionTable","selectedCollection","loaded","showRemoveEntityButton","selectedCollType","meridiandata","isCurrentlySyncing","tab","currentZone","searchText","mapID","isCurrent","getAssetFromMeridian","assetId","modi","modi_date","strDate","isZoneFound","tag_ids","syncTime","_this$state2","objectSpread","checkEntityAccess","coll_id","borderBottom","_this$state$data","EntityName","TagCode","BatteryLevel","FloorLabel","ImageUrl","IsActive","_this$state3","Collections","lastSync","TransitionComponent","AppBar","appBar","edge","Close_default","placeholder","Search_default","filterOrphans","borderRadius","md","lg","TableHistory","sm","ArrowBackIos_default","AddCircleOutline_default","list","input2","multiple","user","Refresh_default","BatteryAlert_default","Battery20_default","Battery30_default","Battery50_default","Battery60_default","Battery80_default","Battery90_default","BatteryFull_default","BatteryUnknown_default","required","input1","handleAdd","RemoveCircleOutline_default","CollectionsTable","coll_type","level_label","getEntities","resetData","unit","input3","&:disabled","root2","mixins","gutters","flex","PopUp","assignDisabled","handleAssign","isCheckBoxColumnActive","isInteger","defaultRows","isActive","isFixed","export","o","l","join","dict","cookie","RegExp","arrayFromCookie","before","pos","ColumnFilter","_React$useState","useState","_React$useState2","slicedToArray","anchorEl","setAnchorEl","_React$useState3","_React$useState4","checked","setChecked","_React$useState5","_React$useState6","isOrderChanged","setOrder","setOrderMain","saveInCookie","_React$useState7","_React$useState8","search","setSearch","_React$useState9","_React$useState10","setTab","firstActive","findIndex","lastActive","findLastIndex","today","expiry","getTime","kv","obj","toGMTString","currentTarget","aria-controls","aria-haspopup","aria-expanded","ViewColumnOutlined_default","Menu","maxHeight","overflowY","expired","toLocaleLowerCase","idx","Checkbox","react_beautiful_dnd_esm","onDragEnd","destination","_rows$splice","splice","source","removed","droppableId","provided","droppableProps","innerRef","draggableId","isDragDisabled","snapshot","draggableProps","dragHandleProps","prevIndex","KeyboardArrowUp_default","nextIndex","KeyboardArrowDown_default","CSVExport","_React$Component","getCsvData","oldProps","inherits","createClass","columns","prevProps","prevState","getOwnPropertyNames","csvData","csvColumns","n","AssignPopUp","selected","manufacturerObject","modelObject","typeObject","onAssigned","_this$props","PopUp_PopUp","gap","AssignPopUpwithStyle","createSortHandler","scroll","tr","childNodes","offsetWidth","scrollLeft","_this$props2","handleSelectAllClick","indeterminate","enterDelay","_this7$props","handleClick","isSelected","handleDetailsPanel","isHiddenDetails","setSearchText","hasOwnProperty","Labels","some","showNoDeviceMsg","exec","isSelectedRow","selectedAssets","selectRow","newList","AccessLevel","deleteRadio","openDelete","_loop","wait","maptablebackground","maptableborder","deviceid","devicename","isMapHidden","isHidden","openAssign","haveNoAcess","syncData","prop","EntityIds","CollectionIds","CollectionNames","FirstAssignment","policy","DepartmentId","selectedmacid","selectedLocationId","selectedFloorId","_this11","_this12","MapHidden","toggleHiddenDetails","Badge","badgeContent","CollectionsBookmarkOutlined_default","LocalOfferOutlined_default","scope","_this13","mm","zoneAbbr","sync_time","toggleHidden","components_Filters","Table_CSVExport","SaveAlt_default","Edit_default","Table_ColumnFilter","toConsumableArray","root1","stickyHeader","Table_EnhancedTableHead","hover","aria-checked","tabIndex","renderCells","updateLoading","FormControl","RadioGroup","FormControlLabel","control","Radio","hardDeleteRadio","softDeleteRadio","mountOnEnter","unmountOnExit","src_components_Configure","selectedfloor","noPadding","components_Table","tabsIndicator","tabsRoot","tabRoot","&:focus","MapView","mountMap","collection","showRedField","showMapControls","floors","floor_id","showFloorsControl","showTagsControl","mountMap2","floorData","aObj","unmountMap","resetColl","getFloorData","resetMap","cmpf","st","filtered","assetData","j","device_name","currentData","handleOpen","selectedLocationMapId","selectedFloorMapId","tagMacs","isSecondaryFilterOpened","from","datas","building_id","MeridianBuildingId","buildingid","getMapsFromMeridian","group","macs","currentValue","devs","tagmacs","notfloors","dev","showFilters","f","_ref3","_this6$props","fullWidth","maxWidth","closeButton","dividers","justify","renderGroupInfo","label1","right","components_MapView","EnhancedTableToolbar","classNames","highlight","spacer","actions","main","primary","dark","entityid","showButton","hasAccess","selectedIndex","newSelected","handleRemove","getMappedMacId","getIdtoberemoved","checkAccess","newProps","mappedDevices","TableMappedDevices_EnhancedTableHead","role","MeridianCreated","button3","unmappedDevices","assignTo","getMacId","filterBasedOnMapping","unmapped","mapped","mds","storeEntity","found","td","getElementsByTagName","sd","searchTable","TableUnmappedDevices_EnhancedTableHead","select","SelectProps","MenuProps","MenuItem","ManageDevices","selectedRows","mappedAssets","unmappedAssets","macId","showMappingTable","loadingunMapped","loadingMapped","enableFilterBtn","deptType","isFilterOpen","onSubmit","reloadUnmapped","That","handleFilter","handleSearch","handleResetFilters","handleSelected","loadunMapped","z","macID","MacIds","_ref$params","mapDevices","manuObj","TableUnmappedDevices","filteredData","getMacID","TableMappedDevices","getMappedMacID","getMacIdtoBeRemoved","ip","DeviceManage","ManageDevicesComp","ManageDevicesCompCol","AlertContext","isActiveAlertChanged","handleAlert","Quill","import","TableCellS","word-break","CreateAlert","stateModel","serverModel","disableFields","alerts","Type","IsDisMissable","DescriptionLength","handleSubmt","Id","change","PROTOCOL_WHITELIST","CheckCircleOutline_default","xxs","lib_default","bounds","scrollingContainer","modules","toolbar","clipboard","matchVisual","formats","content","delta","editor","cont","getHTML","replaceAll","getLength","labelPlacement","CreateAlert_EnhancedTableHead","Created","dateTime","textTransform","dangerouslySetInnerHTML","__html","dist_default","local","newItems","alert","Settings","components_CreateAlert","function","CreateEntity","old_EntityId","reload","showTables","oldEntityId","getEntityDetails","accessLevel","stateChange","multiline","locId","TableForOption","rowToDelete","tableName","disableAllButtons","_this$props$locationI","resourceId","campus","locationName","header","tableHeader","AssignOrRemoveUsers","handleChangeUser","FullName","collectionId","CreatedBy","UserName","UserId","fetchMappedUsers","memberToDelete","_isMounted","UnMappeduserData","MappedUserData","hideControls","getAccessLevel","fetchUnMappedUsers","Label","disableClearable","inputValue","matches","parts","part","ExpansionPanel","ExpansionPanelSummary","expandIcon","ExpandMore_default","ExpansionPanelDetails","MembershipId","LocationHeader","DepartmentHeader","showTable","components_CreateEntity","components_TableForOption","components_AssignOrRemoveUsers","CreateLocation","selectedEntity","EntityShortName","resetCollection","resetState","LocationShortName","City","Address","ContactNumber","AlternateNumber","_this$state$stateMode","getLocationDetails","initialModel","_ref$locations","goBack","ArrowBack_default","submit","components_CreateLocation","collectiontype","CreateDepartment","showUsers","getCollectionDetails","sameLocation","_ref$collections","isCollection","heignt","components_CreateDepartment","fetchUsers","changeRowsPerPage","last","users","Email","selectedUsers","levels","TableUnmappedUsers_EnhancedTableHead","ImageURLSmall","button1","showAssigned","showUnassigned","loadingUnmapped","_this$setState","newvalue","_this$setState2","handleNext","TableUnmappedUsers","TableMappedUsers","showTabs","ManageUsersComp","phone","fname","altphone","disabledFields","emailError","disableAdd","isO365User","checkForDuplicateUserName","checkEmail","lower","endsWith","u","addUser","PhoneNumber","AlternatePhoneNumber","IsOfficeUser","handleReset2","handleReset1","removeUser","onBlur","autoComplete","ModifyUsersComp","StyledMenu","elevation","getContentAnchorEl","anchorOrigin","vertical","horizontal","Navbar","hidesearch","collapsesidebar","open1","open2","open3","devices_class","link1","link2","notificationcount","noAccess","administrator","entityAdmin","entityEditor","locAdmin","locEditor","deptAdmin","deptEditor","isNotDisMissedByUser","onFocus","setUpSideBar","handleExpand","setLeftPadding","handleMenu","handleMenu3","handleMenu4","open4","handleMenu5","open5","which","activeAlert","notDismiss","Updated","changeHasActiveAlert","removeEventListener","addEventListener","getSyncData","setInterval","icon","InfoOutlined_default","ReportProblemOutlined_default","ErrorOutlineOutlined_default","pathName","isActiveExisted","keepMounted","auth","remove","clear","logout","HelpOutline_default","getColor","renderStatus","activeAlertCookie","icons_Home_default","Domain_default","DynamicFeed_default","Settings_default","ExpandLess_default","grow","menuButton","breakpoints","up","shape","fade","common","white","searchIcon","inputRoot","inputInput","transitions","create","notificationContainer","top","&::-webkit-scrollbar","&::-webkit-scrollbar-thumb","PrimaryFilter","getColl","getDept","getLoc","bool","isCollectionEnabled","departmentData","meridianBuildings","getData","floorId","lObj","handleClear","published","invalid","building_name","localeCompare","sensitivity","_i","_entries","cb","visible","expand","_this$props$location","visibility","eObj","sessionLoc","sessionDept","cObj","sessionColl","notVisible","isFloorMatching","Provider","flexBasis","Layout","loadNav","deptChanged","hasActiveAlert","handleActiveAlert","handlePadding","reason","clearMessages","onFocus2","doc","setAttribute","head","appendChild","addLowBatteryStyle","_this$props$location2","components_AlertContext","src_components_Navbar","Snackbar","autoHideDuration","ContentProps","overflowx","components_PrimaryFilter","TableForMetadata","TableForMetadata_TableCellS","singlePagePath","ManufacturerId","ModelId","MasterDataManagement","newManufacture","newModel","newType","default","rename_type","rename_value","manufacturermodels","add","rename","old_data","handleRenameRequest","querySelectorAll","new_data","handleDeleteRequest","components_TableForMetadata","editable","openError","errorMessages","originalModel","tooltipTypeData","functionName","itemCategory","addMessage","errMsg","addErrorMessage","delay","addShowErrorMessage","redirectNoError","msg","handleSave","MasterDataManagementManufacturerModel","errorCategories","manufactures","assettypes","manufacturerModel","ManufacturerName","ModelName","responseData","toolTipManufacturerData","toolTipModelData","deleteItem","object","modelId","updateTooltipModel","oModel","manufacturerFilterId","modArr","saveOriginalModel","manuDeletePromise","manuAddPromise","lastModelManufacturerId","lastModelManufacturerName","isModelLast","models","all","newName","errorText","handleUpdateName","entityObject","loadData","TableUnmappedOrphanedDevices_EnhancedTableHead","MapDevices","isAssetsLoaded","TableUnmappedOrphanedDevices","UserPermissions","selectedUser","imageUrl","permissions","openNewPwd","newPwd","cnfPwd","passwordType","selectUser","ControlLevel","ResourceInfo","fetchUserData","handleResetPassword","NewPasswordBase64","NewPasswordConfirmBase64","Permissiones","_this4$state","test","policyGroup","PermissionGroupLevel","_input","FadeMenu","MenuListProps","Fade","UserPermissionsAdminView","isLoaded","filteredUsers","Admin","ReadOnly","_this3$state","Auth","selectedUserDetail","_this6$state","UserPermissionsAdminView_EnhancedTableHead","UserPermissionsHandler","pages_UserPermissionsAdminView","pages_UserPermissions","Msg","UserProfile","userid","usersData","confirmPassword","oldPassword","editName","editEmail","editPhone","show","editDetails","selectedFile","uploadImg","microsoftOnly","uploadHandler","formData","FormData","axios","post","getUserDetail","fileChangedHandler","files","buffer","binary","Uint8Array","String","fromCharCode","er","responseType","link","arrayBuffer","imageStr","arrayBufferToBase64","getDataFromGraph","mobilePhone","getPhotoFromGraph","ImageURL","OldPasswordBase64","overflow","textOverflow","handleEdit","setPassword","fileImage","fm","public_url","getReplacements","handleSoftDelete","handleHardDelete","addCollectionClicked","addDepartmentClicked","handleRemoveFromCollection","isReplaceInProgress","handleReplaceAndDelete","resp","replacements","getEditableDevices","updated","filterByName","filterType","filterDepartment","numberOfFailures","replaceRadio","Error","_ref4","first","DepartmentName","entry","acc","val","MeridianModified","LastAssignment","replaceDeleteRadio","replaceRenameRadio","accept","createObjectURL","Blob","_ref5","_ref6","_ref7","Chip","AlertBannerManage","titleheader","savebutton","WizzardContext","HorizontalLinearStepper","activeStep","setActiveStep","Set","skipped","setSkipped","issues","stepState","setStepState","finished","setFinished","canceled","setCanceled","_React$useState11","_React$useState12","onNext","setOnNext","steps","isStepOptional","isSkippable","isStepSkipped","step","has","newSkipped","prevActiveStep","onSave","react","Box","sx","Stepper","stepProps","labelProps","optional","completed","Step","StepLabel","fn","doNext","minHeight","mt","mb","mr","prevSkipped","Upload","validationCheck","clearValidation","errorsno","trimmed","trim","tags_err","existingTags","numberOfIssue","wizard","MAC","file","externalId","dist_es","text/csv","maxFiles","onDrop","acceptedFiles","reader","FileReader","onprogress","progressValue","onabort","onerror","readAsArrayBuffer","Papa","delimiter","skipEmptyLines","complete","uploadIssue","getRootProps","getInputProps","Add_default","DoneTwoTone_default","LinearProgress","TagBulkUpload_EnhancedTableHead","Check_default","UploadTags","Wizzard","TagBulkUpload","exists","handleRadio","onDone","onTransitioned","_objectSpread3","_this3$setState2","newstate","_objectSpread4","_this3$setState3","hint","getRoleHint","selectedRoles","misc","existingUsers","_ref$accessLevels","roles","users_err","someExist","TransitionProps","onExited","every","UserBulkUpload_EnhancedTableHead","warn","Full Name","readOnly","Phone Number","pfdata","newrole","& input + fieldset","UploadUsers","UserBulkUpload","UserPermissionsHandler_UserPermissionsHandler","ActionLog","filteredLog","selectedCategories","selectedActions","selectedStatus","utc","Activity","Category","Action","Status","selectedDate","getTimezoneOffset","logDate","limitTags","ac","cat","groupBy","TableActionLog_EnhancedTableHead","ViewActivityLog","TableActionLog","App","react_router","pages_Layout","exact","Page3Col","Page3","Page2","Home","MasterDataManagementType","NoAccessHome","ManageUsers","CreateUsers","UsersListContainer","Alert","Page4Dept","Page4Entity","Page4Loc","createMuiTheme","light","contrastText","__webpack_exports__","store","createStore","STATE_FROM_SERVER","overrides","MuiTableCell","sizeSmall","MuiTableRow","&$selected","&$selected:hover","&$hover:hover","MuiAutocomplete","listbox","MuiButton","outlined","textPrimary","MuiOutlinedInput","adornedStart","inputAdornedStart","MuiRadio","MuiStepper","clientId","authority","redirectUri","origin","postLogoutRedirectUri","system","loggerOptions","loggerCallback","level","containsPii","LogLevel","Info","info","Verbose","debug","Warning","piiLoggingEnabled","PublicClientApplication","ReactDOM","render","es","ThemeProvider","msal_react_esm","src_App_0","process","contentType","ready","unregister","checkValidServiceWorker"],"mappings":"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","file":"static/js/main.dd8d8b6f.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/No_Barcode.aeda47e9.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/UWMedicineLogo.075773e3.png\";","import React from 'react';\r\nimport packageJson from '../package.json';\r\nglobal.appVersion = packageJson.version;\r\n\r\n// version from response - first param, local version second param\r\nconst semverGreaterThan = (versionA, versionB) => {\r\n const versionsA = versionA.split(/\\./g);\r\n\r\n const versionsB = versionB.split(/\\./g);\r\n while (versionsA.length || versionsB.length) {\r\n const a = Number(versionsA.shift());\r\n\r\n const b = Number(versionsB.shift());\r\n // eslint-disable-next-line no-continue\r\n if (a === b) continue;\r\n // eslint-disable-next-line no-restricted-globals\r\n return a > b || isNaN(b);\r\n }\r\n return false;\r\n};\r\n\r\nclass CacheBuster extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n isLatestVersion: false,\r\n refreshCacheAndReload: () => {\r\n console.log(' buster Clearing cache and hard reloading...');\r\n if (caches) {\r\n //Service worker cache should be cleared with caches.delete()\r\n caches.keys().then(function (names) {\r\n for (let name of names) {\r\n console.log(\"Deleting cache from \", name, \"in\", names);\r\n caches.delete(name);\r\n }\r\n });\r\n }\r\n\r\n // delete browser cache and hard reload\r\n //window.location.reload(true);\r\n // eslint-disable-next-line no-self-assign\r\n window.location.href = window.location.href;\r\n }\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n var path = `/meta${global.appVersion}.json`;\r\n fetch(/*'/meta.json'*/path)\r\n .then((response) => response.json())\r\n .then((meta) => {\r\n const latestVersion = meta.version;\r\n const currentVersion = global.appVersion;\r\n const shouldForceRefresh = semverGreaterThan(latestVersion, currentVersion);\r\n console.log(\"buster\", latestVersion, currentVersion, shouldForceRefresh);\r\n if (caches) {\r\n //Service worker cache should be cleared with caches.delete()\r\n caches.keys().then(function (names) {\r\n for (let name of names) {\r\n console.log(\"Deleting cache from \", name, \"in\", names);\r\n caches.delete(name);\r\n }\r\n });\r\n }\r\n if (shouldForceRefresh) {\r\n console.log(`buster We have a new version - ${latestVersion}. Should force refresh`);\r\n this.setState({ loading: false, isLatestVersion: false });\r\n } else {\r\n console.log(`buster You already have the latest version - ${latestVersion}. No cache refresh needed.`);\r\n this.setState({ loading: false, isLatestVersion: true });\r\n }\r\n })\r\n .catch(error => {\r\n console.log(\"buster-error\", error);\r\n this.state.refreshCacheAndReload();\r\n });\r\n }\r\n render() {\r\n const { loading, isLatestVersion, refreshCacheAndReload } = this.state;\r\n console.log(\"buster\", this.state);\r\n return this.props.children({ loading, isLatestVersion, refreshCacheAndReload });\r\n }\r\n}\r\n\r\nexport default CacheBuster;","import $ from \"jquery\";\r\nimport Cookies from \"js-cookie\";\r\nimport { h } from \"preact\";\r\nimport { pca } from \"../index.js\";\r\n\r\nlet entityId = -1;\r\nlet locationId = -1;\r\nlet access = null;\r\nlet query = null;\r\nlet forceUrl = null;\r\nexport let isPortalAdmin = false;\r\n\r\nexport const API_BASE_URL = window.BASE_URL;\r\nexport const admintoken = \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0IjoxNTg1MTUxMDkzLCJ2YWx1ZSI6IjU1NTQ5OTdjZDc2ODgwYTI4NzE1YjJiZDQ2ZWFlOTZiYzZlMDgwODcifQ.6zmgDTp6-zONGze3jCiXHW9C7jYaBDiCNB1mf_QP_XM\";\r\nexport const meridianLocationId = \"5103333125914624\";\r\nexport const token = admintoken;\r\n\r\nexport const defaultImage = 'https://files.meridianapps.com/meridian-web-sdk/0.25.0/files/tags/generic.svg';\r\n\r\nexport const allowedDomains = [\"@uw.edu\", \"@hpe.com\", \"@hpepngalway.onmicrosoft.com\"];\r\n\r\nexport const PASSWORD_REGEX = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!#$_&@%]).{8,15}$/;\r\nexport const PASSWORD_ERROR = \"Password does not meet the criteria\";\r\n\r\nexport const lowBatteryClass = \"tag\" + Date.now().toString(16);\r\n\r\n\r\nexport function getOption(method = 'get') {\r\n let headers = new Headers();\r\n headers.append('Authorization', `Token ${admintoken}`);\r\n headers.append('Content-Type', 'application/json');\r\n var option = {\r\n method,\r\n headers\r\n };\r\n return option;\r\n}\r\n\r\nexport function byName(a, b) {\r\n const alc = a.name ? a.name.toLowerCase() : '';\r\n const blc = b.name ? b.name.toLowerCase() : '';\r\n if (alc < blc)\r\n return -1;\r\n else if (alc > blc)\r\n return 1;\r\n else\r\n return 0;\r\n}\r\n\r\nexport function byPropertyCalled(property=\"name\") {\r\n return function(a, b) {\r\n const alc = a[property] ? a[property].toLowerCase() : '';\r\n const blc = b[property] ? b[property].toLowerCase() : '';\r\n if (alc < blc)\r\n return -1;\r\n else if (alc > blc)\r\n return 1;\r\n else\r\n return 0;\r\n }\r\n}\r\n\r\nexport function formatDate(date) {\r\n return date.getFullYear() + \"-\" + (\"00\" + (date.getMonth() + 1)).slice(-2)\r\n + \"-\" + (\"00\" + date.getDate()).slice(-2)\r\n + \" \"\r\n + (\"00\" + date.getHours()).slice(-2) + \":\"\r\n + (\"00\" + date.getMinutes()).slice(-2)\r\n + \":\" + (\"00\" + date.getSeconds()).slice(-2);\r\n}\r\n\r\nexport function storeUser(userName) {\r\n localStorage.setItem(\"user\", userName);\r\n}\r\n\r\nexport function getUser() {\r\n return localStorage.getItem(\"user\");\r\n}\r\n\r\nexport function storeEntityId(data) {\r\n entityId = data ? parseInt(data) : (data === 0 ? 0 : -1);\r\n}\r\n\r\nexport function getEntityId() {\r\n return entityId;\r\n}\r\n\r\nexport function getlocationId() {\r\n return locationId;\r\n}\r\n\r\nexport function storelocationId(data) {\r\n locationId = data ? parseInt(data) : (data === 0 ? 0 : -1);\r\n}\r\n\r\nexport function setAccess(accessLevels) {\r\n access = accessLevels;\r\n let data = access.filter(item => item.resourceType == \"global\");\r\n if (data.length > 0)\r\n isPortalAdmin = true;\r\n}\r\n\r\nexport function getAccess() {\r\n return access;\r\n}\r\n\r\nexport function getAccessSorted() {\r\n return (access ? access.sort((a, b) => {\r\n if (a.access_level === b.access_level) {\r\n if (a.collection_id == b.collection_id) {\r\n if (a.location_id == b.location_id) {\r\n return a.entity_id - b.entity_id;\r\n }\r\n return a.location_id - b.location_id;\r\n }\r\n //if (a.collection_id == null || b.collection_id == null || a.location_id === b.location_id)\r\n return a.collection_id - b.collection_id;\r\n //return b.location_id - a.location_id;\r\n }\r\n return b.access_level - a.access_level;\r\n }) : []);\r\n}\r\n\r\nexport function getMaxEntityAccess() {\r\n let maxAccess = 100;\r\n let data = [];\r\n\r\n data = access.filter(item => item.resourceType == \"global\");\r\n if (data.length > 0) {\r\n isPortalAdmin = true;\r\n return data[0].access_level;\r\n }\r\n isPortalAdmin = false;\r\n data = access.filter(item => item.resourceType == \"entity\");\r\n if (data.length === 0) maxAccess = 100;\r\n else if (data.length === 1) maxAccess = data[0].access_level;\r\n else\r\n maxAccess = data\r\n .map(el => el.access_level)\r\n .reduce((a, b) => Math.max(a, b));\r\n return maxAccess;\r\n}\r\n\r\nexport function getMaxLocationAccess() {\r\n let maxAccess = 100;\r\n const data = access.filter(item => item.resourceType == \"location\");\r\n if (data.length === 0) maxAccess = 100;\r\n else if (data.length === 1) maxAccess = data[0].access_level;\r\n else\r\n maxAccess = data\r\n .map(el => el.access_level)\r\n .reduce((a, b) => Math.max(a, b));\r\n return maxAccess;\r\n}\r\n\r\nexport function getMaxDepartmentAccess() {\r\n let maxAccess = 100;\r\n const data = access.filter(item => item.resourceType == \"department\" || item.resourceType == \"collection\");\r\n if (data.length === 0) maxAccess = 100;\r\n else if (data.length === 1) maxAccess = data[0].access_level;\r\n else\r\n maxAccess = data\r\n .map(el => el.access_level)\r\n .reduce((a, b) => Math.max(a, b));\r\n return maxAccess;\r\n}\r\n\r\nexport function setQuery(arg) {\r\n query = arg;\r\n}\r\n\r\nexport function getQuery() {\r\n return query;\r\n}\r\n\r\nfunction getToken(account) {\r\n var request = {\r\n account: account,\r\n scopes: [`${window.CLIENT_ID}/.default`]\r\n };\r\n return pca.acquireTokenSilent(request)\r\n .then((tokenResponse) => {\r\n //const expiryTime = new Date(new Date().getTime() + 175 * 60 * 1000);\r\n const expiryTime = new Date(Date.parse(tokenResponse.expiresOn) - 5 * 60 * 1000);\r\n const expiretime = Math.floor(expiryTime / 1000);\r\n const tokenJson = { token: tokenResponse.accessToken, expires: expiretime };\r\n Cookies.set(\r\n `owAuth${window.location.port}`,\r\n tokenJson,\r\n { expires: expiryTime, sameSite: \"lax\" }\r\n );\r\n return tokenJson;\r\n })\r\n .catch((error) => {\r\n return null;// pca.acquireTokenRedirect(request);\r\n });\r\n}\r\n\r\nfunction autoLogout() {\r\n const logoutUrl = forceUrl || `${API_BASE_URL}/autologout?userId=${getUser()}`;\r\n forceUrl = `${API_BASE_URL}/autologout`;\r\n localStorage.setItem(\"lastUrl\", window.location.pathname);\r\n return new Promise((resolve, reject) => {\r\n $.ajax({\r\n method: \"post\",\r\n url: logoutUrl,\r\n cache: false,\r\n dataType: \"json\",\r\n success: res => {\r\n resolve(res);\r\n if (logoutUrl.includes(\"?\"))\r\n window.location = \"/\";\r\n },\r\n error: err => {\r\n reject(err);\r\n if (logoutUrl.includes(\"?\"))\r\n window.location = \"/\";\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport async function fetchRequest(url, method, next = null) {\r\n const URL = API_BASE_URL + url;\r\n\r\n let tokenJson = Cookies.getJSON(`owAuth${window.location.port}`);\r\n if (!tokenJson) {\r\n const accounts = pca.getAllAccounts();\r\n if (accounts && accounts.length > 0) {\r\n tokenJson = await this.getToken(accounts[0]);\r\n }\r\n if (!tokenJson) {\r\n return autoLogout();\r\n }\r\n }\r\n forceUrl = null;\r\n\r\n let headers = new Headers();\r\n headers.append('Authorization', `Bearer ${tokenJson.token}`);\r\n headers.append('Content-Type', 'application/json');\r\n headers.append('username', localStorage.getItem(\"user\"));\r\n if (next) {\r\n Object.entries(next).forEach(itm => headers.append(itm[0], itm[1]));\r\n }\r\n var option = {\r\n method,\r\n headers\r\n };\r\n return fetch(URL, option);\r\n}\r\n\r\nexport async function apiRequest(url, method, data = \"\") {\r\n const URL = API_BASE_URL + url;\r\n\r\n let tokenJson = Cookies.getJSON(`owAuth${window.location.port}`);\r\n if (!tokenJson) {\r\n const accounts = pca.getAllAccounts();\r\n if (accounts && accounts.length > 0) {\r\n tokenJson = await this.getToken(accounts[0]);\r\n }\r\n if (!tokenJson) {\r\n return autoLogout();\r\n }\r\n }\r\n forceUrl = null;\r\n\r\n return new Promise((resolve, reject) => {\r\n $.ajax({\r\n url: URL,\r\n method: method,\r\n cache: false,\r\n dataType: \"json\",\r\n data: data,\r\n headers: {\r\n Authorization: `Bearer ${tokenJson.token}`,\r\n username: localStorage.getItem(\"user\")\r\n },\r\n success: x => {\r\n // console.log(\r\n // \"url:\",\r\n // URL,\r\n // \" method:\",\r\n // method,\r\n // \" data:\",\r\n // JSON.stringify(data)\r\n // );\r\n // console.log(\"uow-response\", x);\r\n resolve(x);\r\n },\r\n error: err => {\r\n reject(err);\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport function atLastPageScrollToTop(datalength, rowsPerPage, currentpage) {\r\n //currentpage start from 0\r\n var a = Math.floor(datalength / rowsPerPage);\r\n var b = datalength % rowsPerPage;\r\n if ((b !== 0 && a == currentpage) || (b == 0 && a-1 == currentpage)) {\r\n window.scrollTo(0, 0);\r\n }\r\n}\r\n\r\nexport function addLowBatteryStyle(doc) {\r\n if (!doc.getElementById(lowBatteryClass)) {\r\n var style = doc.createElement(\"style\");\r\n style.id = lowBatteryClass;\r\n style.innerHTML = `.${lowBatteryClass} { border: 3px solid red; overflow: visible; }`;\r\n style.setAttribute(\"type\", \"text/css\");\r\n doc.head.appendChild(style);\r\n }\r\n}\r\n\r\nexport function addLowBatteryHint(t) {\r\n if (t.battery_level && t.battery_level < 30 && (t.tags == null || Array.isArray(t.tags))) {\r\n t.tags = {\r\n battery: t.battery_level,\r\n labels: t.tags ? t.tags : [],\r\n map(f1) {\r\n return {\r\n battery: this.battery,\r\n values: this.labels.map(f1),\r\n map(f2) {\r\n let result = new Array(this.values.length + 1);\r\n if (typeof f2(lowBatteryClass) == \"string\")\r\n result[0] = lowBatteryClass;\r\n else\r\n result[0] = h(\"div\", { style: { margin: \"-8px 0 8px -3px\", color: \"red\" } }, `Battery Level: ${Math.round(this.battery)}%`);\r\n for (let i = 0; i < this.values.length; i++)\r\n result[i+1] = f2(this.values[i], i, this.values);\r\n return result;\r\n }\r\n };\r\n }\r\n };\r\n }\r\n}\r\n","import { apiRequest, getQuery, setQuery } from \"../utils/Utils\";\r\n\r\nexport const STORE_ENTITIES = \"STORE_ENTITIES\";\r\nexport const STORE_LOCATIONS = \"STORE_LOCATIONS\";\r\nexport const STORE_COLLECTIONS = \"STORE_COLLECTIONS\";\r\nexport const STORE_DEVICE_FLAGS = \"STORE_DEVICE_FLAGS\";\r\nexport const STORE_ASSET_TYPES = \"STORE_ASSET_TYPES\";\r\nexport const STORE_ASSET_MANUFACTURERS = \"STORE_ASSET_MANUFACTURERS\";\r\nexport const CLEAR_COLLECTIONS = \"CLEAR_COLLECTIONS\";\r\nexport const CLEAR_DATA = \"CLEAR_DATA\";\r\nexport const SHOW_MESSAGE = \"SHOW_MESSAGE\";\r\nexport const CLEAR_MESSAGE = \"CLEAR_MESSAGE\";\r\nexport const STORE_ASSETS = \"STORE_ASSETS\";\r\nexport const STORE_ASSET_MODELS = \"STORE_ASSET_MODELS\";\r\nexport const CLEAR_ASSETS = \"CLEAR_ASSETS\";\r\nexport const STORE_ACCESS_LEVELS = \"STORE_ACCESS_LEVELS\";\r\nexport const HIDE_LOADER = \"HIDE_LOADER\";\r\n\r\nfunction storeEntities(entities) {\r\n return {\r\n type: STORE_ENTITIES,\r\n entities\r\n };\r\n}\r\n\r\nfunction storeLocations(locations) {\r\n return {\r\n type: STORE_LOCATIONS,\r\n locations\r\n };\r\n}\r\n\r\nfunction storeCollections(collections) {\r\n return {\r\n type: STORE_COLLECTIONS,\r\n collections\r\n };\r\n}\r\n\r\nfunction storeAssets(assets) {\r\n return {\r\n type: STORE_ASSETS,\r\n assets\r\n };\r\n}\r\n\r\nfunction storeAssetModels(assetmodels) {\r\n return {\r\n type: STORE_ASSET_MODELS,\r\n assetmodels\r\n };\r\n}\r\n\r\nfunction storeAccessLevels(accessLevels) {\r\n return {\r\n type: STORE_ACCESS_LEVELS,\r\n accessLevels\r\n };\r\n}\r\n\r\nfunction storeDeviceFlags(flags) {\r\n return {\r\n type: STORE_DEVICE_FLAGS,\r\n flags\r\n };\r\n}\r\n\r\nfunction storeAssetTypes(assetsTypes) {\r\n return {\r\n type: STORE_ASSET_TYPES,\r\n assetsTypes\r\n };\r\n}\r\n\r\nfunction storeAssetManufacturers(assetManufacturers) {\r\n return {\r\n type: STORE_ASSET_MANUFACTURERS,\r\n assetManufacturers\r\n };\r\n}\r\n\r\nexport function clearCollections() {\r\n return {\r\n type: CLEAR_COLLECTIONS\r\n };\r\n}\r\n\r\nexport function cleanData() {\r\n return {\r\n type: CLEAR_DATA\r\n };\r\n}\r\n\r\nexport function showMessage(message) {\r\n return {\r\n type: SHOW_MESSAGE,\r\n message\r\n };\r\n}\r\n\r\nexport function clearMessage() {\r\n return {\r\n type: CLEAR_MESSAGE\r\n };\r\n}\r\n\r\nexport function clearAssets() {\r\n return {\r\n type: CLEAR_ASSETS\r\n };\r\n}\r\n\r\nexport function hideDevicesLoader(hide) {\r\n return {\r\n type: HIDE_LOADER,\r\n hide\r\n };\r\n}\r\n\r\nexport function getEntity(dispatch) {\r\n dispatch(cleanData());\r\n\r\n apiRequest(`/entities`, \"get\")\r\n .then(response => {\r\n if (response.status > 0) {\r\n const entityData = response.data.map(c => {\r\n return {\r\n id: c.EntityId,\r\n name: c.Name,\r\n short_name: c.ShortName\r\n };\r\n });\r\n dispatch(storeEntities(entityData));\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n}\r\n\r\nexport function getLocations(dispatch, entityId) {\r\n apiRequest(`/entities/${entityId}/locations`, \"get\")\r\n .then(response => {\r\n if (response.status > 0) {\r\n const locationData = response.data.map(c => {\r\n return {\r\n id: c.LocationId,\r\n name: c.LocationName,\r\n entityId: c.EntityId\r\n };\r\n });\r\n dispatch(storeLocations(locationData));\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n}\r\n\r\nexport function getCollections(dispatch, entityId, locationId = \"\") {\r\n const url =\r\n locationId || locationId === 0\r\n ? `/entities/${entityId}/locations/${locationId}/collections`\r\n : `/entities/${entityId}/collections`;\r\n\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n if (response.status > 0) {\r\n const collectionData = response.data.map(c => {\r\n return {\r\n id: c.CollectionId,\r\n name: c.CollectionName,\r\n location: c.LocationName,\r\n locationId: c.LocationId,\r\n entityId: c.EntityId,\r\n collectionType: c.CollectionType\r\n };\r\n });\r\n dispatch(storeCollections(collectionData));\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n}\r\n\r\nexport function getDeviceFlags(dispatch) {\r\n apiRequest(\"/masters/GetDeviceFlags\", \"get\")\r\n .then(response => {\r\n if (response.status > 0) {\r\n const flagsData = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value.toUpperCase()\r\n };\r\n });\r\n dispatch(storeDeviceFlags(flagsData));\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n}\r\n\r\nexport function getAssetManufacturer(dispatch) {\r\n apiRequest(\"/masters/manufactures\", \"get\")\r\n .then(response => {\r\n if (response.status > 0) {\r\n const assetManufacturer = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n dispatch(storeAssetManufacturers(assetManufacturer));\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n}\r\n\r\nexport function getAssetType(dispatch) {\r\n apiRequest(\"/masters/assettypes\", \"get\")\r\n .then(response => {\r\n if (response.status > 0) {\r\n const assetType = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n dispatch(storeAssetTypes(assetType));\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n}\r\n\r\n//window.y = 0;\r\nexport function getAssets(dispatch, id = \"\") {\r\n if (getQuery() == null) {\r\n dispatch(clearAssets());\r\n dispatch(hideDevicesLoader(false));\r\n }\r\n setQuery(id);\r\n let url = \"/assets/search\";\r\n if (id) url += `?${id}`;\r\n //window.z = window.y;\r\n\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n if (id === getQuery()) {\r\n setQuery(null);\r\n dispatch(hideDevicesLoader(true));\r\n //window.y++;\r\n dispatch(storeAssets(response.data));\r\n //window.z = window.y;\r\n }\r\n })\r\n .catch(error => {\r\n if (id === getQuery()) {\r\n setQuery(null);\r\n dispatch(hideDevicesLoader(null));\r\n }\r\n console.log(error);\r\n });\r\n}\r\n\r\nexport function getAssetModel(dispatch) {\r\n apiRequest(\"/masters/assetmodels\", \"get\")\r\n .then(response => {\r\n if (response.status > 0) {\r\n const assetModel = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n dispatch(storeAssetModels(assetModel));\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n}\r\n\r\nexport function getAccessLevels(dispatch) {\r\n apiRequest(\"/masters/permissiontypes\", \"get\")\r\n .then(response => {\r\n if (response.status > 0) {\r\n const acessLevels = response.data\r\n .filter(c => c.ID != 700)\r\n .map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n dispatch(storeAccessLevels(acessLevels));\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n}\r\n","import {\r\n STORE_ENTITIES,\r\n STORE_LOCATIONS,\r\n STORE_COLLECTIONS,\r\n STORE_ASSETS,\r\n STORE_DEVICE_FLAGS,\r\n STORE_ASSET_TYPES,\r\n CLEAR_COLLECTIONS,\r\n CLEAR_DATA,\r\n SHOW_MESSAGE,\r\n CLEAR_MESSAGE,\r\n STORE_ASSET_MODELS,\r\n STORE_ASSET_MANUFACTURERS,\r\n CLEAR_ASSETS,\r\n STORE_ACCESS_LEVELS,\r\n HIDE_LOADER\r\n} from \"../actions/index\";\r\n\r\nconst initialState = {\r\n entities: [],\r\n locations: [],\r\n collections: [],\r\n assets: [],\r\n deviceFlags: [],\r\n assetTypes: [],\r\n assetModel: [],\r\n assetManufacturer: [],\r\n message: \"\",\r\n accessLevels: [],\r\n hideLoader: false\r\n};\r\n\r\nfunction rootReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case STORE_ENTITIES:\r\n return Object.assign({}, state, {\r\n entities: action.entities\r\n });\r\n\r\n case STORE_LOCATIONS:\r\n return Object.assign({}, state, {\r\n locations: action.locations\r\n });\r\n\r\n case STORE_COLLECTIONS:\r\n return Object.assign({}, state, {\r\n collections: action.collections\r\n });\r\n\r\n case STORE_ASSETS:\r\n return Object.assign({}, state, {\r\n assets: action.assets\r\n });\r\n\r\n case STORE_DEVICE_FLAGS:\r\n return Object.assign({}, state, {\r\n deviceFlags: action.flags\r\n });\r\n\r\n case STORE_ASSET_TYPES:\r\n return Object.assign({}, state, {\r\n assetTypes: action.assetsTypes\r\n });\r\n\r\n case STORE_ASSET_MANUFACTURERS:\r\n return Object.assign({}, state, {\r\n assetManufacturer: action.assetManufacturers\r\n });\r\n\r\n case STORE_ASSET_MODELS:\r\n return Object.assign({}, state, {\r\n assetModel: action.assetmodels\r\n });\r\n\r\n case STORE_ACCESS_LEVELS:\r\n return Object.assign({}, state, {\r\n accessLevels: action.accessLevels\r\n });\r\n\r\n case CLEAR_COLLECTIONS:\r\n return Object.assign({}, state, {\r\n collections: []\r\n });\r\n\r\n case CLEAR_DATA:\r\n return Object.assign({}, state, {\r\n locations: [],\r\n collections: []\r\n });\r\n\r\n case CLEAR_ASSETS:\r\n return Object.assign({}, state, {\r\n assets: []\r\n });\r\n\r\n case SHOW_MESSAGE:\r\n return Object.assign({}, state, {\r\n message: action.message\r\n });\r\n\r\n case CLEAR_MESSAGE:\r\n return Object.assign({}, state, {\r\n message: \"\"\r\n });\r\n\r\n case HIDE_LOADER:\r\n return Object.assign({}, state, {\r\n hideLoader: action.hide\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\nexport default rootReducer;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === \"localhost\" ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === \"[::1]\" ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener(\"load\", () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n \"This web app is being served cache-first by a service \" +\r\n \"worker. To learn more, visit https://bit.ly/CRA-PWA\"\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === \"installed\") {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n \"New content is available and will be used when all \" +\r\n \"tabs for this page are closed. See https://bit.ly/CRA-PWA.\"\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log(\"Content is cached for offline use.\");\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error(\"Error during service worker registration:\", error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get(\"content-type\");\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n \"No internet connection found. App is running in offline mode.\"\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if (\"serviceWorker\" in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport \"./Login.css\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport logo from \"../images/UWMedicineLogo.png\";\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\nimport Lock from \"@material-ui/icons/Lock\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport Cookies from \"js-cookie\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport {\r\n API_BASE_URL,\r\n apiRequest,\r\n getAccess,\r\n setAccess,\r\n getUser,\r\n storeUser,\r\n getMaxEntityAccess\r\n} from \"../utils/Utils\";\r\nimport $ from \"jquery\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { showMessage } from \"../actions/index\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport { rgbToHex } from \"@material-ui/core/styles/colorManipulator\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\n\r\n//AUTH\r\nimport { MsalContext, AuthenticatedTemplate, UnauthenticatedTemplate} from \"@azure/msal-react\";\r\nimport { pca } from \"../index.js\";\r\n\r\nconst backcolor = \"#4b2e83\";\r\nconst styles = theme => ({\r\n container: {\r\n display: \"flex\",\r\n flexWrap: \"wrap\"\r\n },\r\n textField: {\r\n width: \"100%\"\r\n },\r\n button: {\r\n width: \"inherit\",\r\n margin: 0,\r\n //margin: theme.spacing.unit,\r\n backgroundColor: backcolor,\r\n color: \"white\",\r\n border: \"1px solid \" + backcolor,\r\n\r\n \"&:hover\": {\r\n backgroundColor: \"#fff\",\r\n color: \"#4b2e83 !important\",\r\n border: \"1px solid \" + backcolor,\r\n },\r\n },\r\n buttonMicro: {\r\n width: 270,\r\n margin: 0,\r\n //margin: theme.spacing.unit,\r\n backgroundColor: \"white\",\r\n color: backcolor,\r\n border: \"1px solid \" + backcolor,\r\n\r\n \"&:hover\": {\r\n backgroundColor: backcolor,\r\n color: \"white\",\r\n border: \"1px solid \" + backcolor,\r\n },\r\n },\r\n});\r\n\r\nclass Login extends Component {\r\n static contextType = MsalContext;\r\n state = {\r\n name: \"\",\r\n password: \"\",\r\n showPassword: false,\r\n signingIn: false,\r\n open: false,\r\n email: \"\",\r\n name2: \"\",\r\n loginProcessOn: false,\r\n signInAsAdmin: false\r\n };\r\n\r\n componentWillMount() {\r\n window.$ = window.jQuery = require(\"jquery\");\r\n if (Cookies.get(`owAuth${window.location.port}`)) {\r\n this.props.history.push(\"/home\");\r\n }\r\n else {\r\n setTimeout(() => {\r\n this.setState({ loginProcessOn: true });\r\n }, 2000);\r\n }\r\n }\r\n\r\n handleChangeName = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n\r\n handleChangePassword = password => event => {\r\n this.setState({\r\n [password]: event.target.value\r\n });\r\n };\r\n\r\n handleClickShowPassword = () => {\r\n this.setState(state => ({ showPassword: !state.showPassword }));\r\n };\r\n\r\n handleSubmit = () => {\r\n const { name, password } = this.state;\r\n const THAT = this;\r\n THAT.setState({\r\n signingIn: true\r\n });\r\n const data = {\r\n Username: name,\r\n Password: btoa(password)\r\n };\r\n storeUser(name);\r\n $.ajax({\r\n method: \"post\",\r\n url: `${API_BASE_URL}/login`,\r\n data: data,\r\n cache: false,\r\n dataType: \"json\",\r\n success: function(y) {\r\n //var expiryTime = new Date(new Date().getTime() + 175 * 60 * 1000);\r\n var expiryTime = new Date(Date.parse(y.expiresOn) - 5 * 60 * 1000);\r\n var expiretime = Math.floor(expiryTime / 1000);\r\n Cookies.set(\r\n `owAuth${window.location.port}`,\r\n { token: y.accessToken, expires: expiretime },\r\n { expires: expiryTime, sameSite: \"lax\" }\r\n );\r\n apiRequest(`/accesscontrol`, \"get\")\r\n .then(x => {\r\n setAccess(x.data);\r\n //THAT.setState({\r\n // signingIn: false\r\n //});\r\n if (x.data.length == 0) {\r\n THAT.props.history.push(\"/noaccess\");\r\n //redirect the user to no access to view page\r\n } else if (getMaxEntityAccess() <= 300) {\r\n THAT.props.history.push(\"/devices/viewtable\");\r\n } else {\r\n const lastUrl = localStorage.getItem(\"lastUrl\");\r\n localStorage.removeItem(\"lastUrl\");\r\n if (getUser() == name && lastUrl && lastUrl != \"/\")\r\n THAT.props.history.push(lastUrl);\r\n else\r\n THAT.props.history.push(\"/home\");\r\n }\r\n })\r\n .catch(err => {\r\n THAT.props.history.push(\"/\");\r\n });\r\n },\r\n error: function (err) {\r\n THAT.setState({\r\n signingIn: false\r\n });\r\n if (err.statusText == \"Unauthorized\") {\r\n THAT.props.showMessageBox(\"Username or Password incorrect\");\r\n } else {\r\n THAT.props.showMessageBox(\"ERROR\");\r\n }\r\n }\r\n });\r\n };\r\n\r\n handleKeyPress = e => {\r\n if (e.key === \"Enter\") {\r\n this.handleSubmit();\r\n }\r\n };\r\n\r\n handleForgetPassword = () => {\r\n const _this = this;\r\n $.ajax({\r\n method: \"post\",\r\n url: `${API_BASE_URL}/login/forgetpassword?emailOrId=${encodeURIComponent(_this.state.email)}`,\r\n cache: false,\r\n dataType: \"json\",\r\n success: res => {\r\n if (res.status == 0 && res.message != null) {\r\n _this.props.showMessageBox(res.message);\r\n }\r\n if (res.status == 1) {\r\n _this.setState({ open: false, email: \"\" });\r\n _this.props.showMessageBox(\"SUCCESS\");\r\n }\r\n },\r\n error: err => {\r\n _this.setState({ open: false, email: \"\" });\r\n }\r\n });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ open: false, email: \"\" });\r\n }\r\n\r\n async getToken() {\r\n var request = {\r\n account: pca.getAllAccounts()[0],\r\n scopes: [`${window.CLIENT_ID}/.default`]\r\n };\r\n let apiToken = await pca.acquireTokenSilent(request)\r\n .then((tokenResponse) => {\r\n return tokenResponse;\r\n })\r\n .catch((error) => {\r\n return pca.acquireTokenRedirect(request);\r\n });\r\n return apiToken;\r\n }\r\n\r\n async logIn() {\r\n if (this.context.accounts.length == 0) {\r\n //this.context.instance.loginRedirect({ scopes: [`${window.CLIENT_ID}/.default`] });\r\n } else {\r\n //this.props.history.push(\"/home\");\r\n //console.log(\"LoginO365\", getUser(), getAccess());\r\n\r\n let y = await this.getToken();\r\n let name = this.context.accounts[0].username;\r\n\r\n //var expiryTime = new Date(new Date().getTime() + 175 * 60 * 1000);\r\n var expiryTime = new Date(Date.parse(y.expiresOn) - 5 * 60 * 1000);\r\n var expiretime = Math.floor(expiryTime / 1000);\r\n Cookies.set(\r\n `owAuth${window.location.port}`,\r\n { token: y.accessToken, expires: expiretime },\r\n { expires: expiryTime, sameSite: \"lax\" }\r\n );\r\n\r\n ////\r\n if (!getUser()) {\r\n console.log(\"user first attempt to login\", name);\r\n //Store Login\r\n storeUser(name);\r\n const _this = this;\r\n apiRequest(`/login/o365?userId=${name}`, \"post\")\r\n .then((res) => {\r\n if (res) {\r\n if (res.status == 0 && res.message != null) {\r\n _this.props.showMessageBox(res.message);\r\n }\r\n if (res.status == 1) {\r\n //_this.setState({ open: false, email: \"\" });\r\n _this.props.showMessageBox(\"SUCCESS\");\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n //_this.setState({ open: false, email: \"\" });\r\n });\r\n }\r\n ////\r\n storeUser(name);\r\n console.log(\"acc\", this.context.accounts);\r\n\r\n if (!getAccess()) {\r\n console.log(\"user access check\");\r\n setAccess([]);\r\n apiRequest(`/accesscontrol`, \"get\")\r\n .then(x => {\r\n setAccess(x.data);\r\n if (x.data.length == 0) {\r\n this.props.history.push(\"/noaccess\");\r\n //redirect the user to no access to view page\r\n } else if (getMaxEntityAccess() <= 300) {\r\n this.props.history.push(\"/devices/viewtable\");\r\n } else {\r\n const lastUrl = localStorage.getItem(\"lastUrl\");\r\n localStorage.removeItem(\"lastUrl\");\r\n if (getUser() == name && lastUrl && lastUrl != \"/\")\r\n this.props.history.push(lastUrl);\r\n else\r\n this.props.history.push(\"/home\");\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"Error\", err);\r\n this.props.history.push(\"/\");\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n if (!Cookies.get(`owAuth${window.location.port}`) && this.context.accounts.length != 0) {\r\n this.logIn();\r\n }\r\n if (!this.state.loginProcessOn) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n
\r\n {\r\n this.handleClose();\r\n }}\r\n >\r\n Enter UserId/EmailID\r\n \r\n {\r\n this.setState({ email: e.target.value });\r\n }}\r\n value={this.state.email}\r\n />\r\n

\r\n *New password will be sent to the registered EmailID\r\n

\r\n
\r\n \r\n {\r\n this.handleClose();\r\n }}\r\n color=\"primary\"\r\n className=\"button1\"\r\n >\r\n Cancel\r\n \r\n \r\n Ok\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {\"logo\"}\r\n
\r\n {/*
\r\n

\r\n Asset Tracking System\r\n

\r\n
*/}\r\n
\r\n \r\n
\r\n
\r\n

\r\n Sign into your account\r\n

\r\n this.context.instance.loginRedirect({ scopes: [`${window.CLIENT_ID}/.default`] })}\r\n >\r\n SIGN IN WITH OFFICE 365\r\n \r\n
or
\r\n this.setState({ signInAsAdmin: !this.state.signInAsAdmin })}\r\n >\r\n SIGN IN WITH LOCAL ACCOUNT\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n InputLabelProps={{\r\n shrink: true\r\n }}\r\n />\r\n \r\n \r\n \r\n )\r\n }}\r\n InputLabelProps={{ shrink: true }}\r\n />\r\n {\r\n this.setState({\r\n open: true\r\n });\r\n }}\r\n >\r\n Forgot Password\r\n
\r\n {!this.state.signingIn ? (\r\n {\r\n this.handleSubmit();\r\n }}\r\n >\r\n Sign in\r\n \r\n ) : (\r\n \r\n \r\n Signing in\r\n
\r\n )}\r\n \r\n \r\n \r\n HELP\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n © {new Date().getFullYear().toString()} University of Washington | Seattle, WA\r\n {/* © 2019-{new Date().getFullYear().toString()} Hewlett Packard Enterprise Development LP | Version 1.0.1 */}\r\n

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(Login);\r\n","import React from \"react\";\r\nexport const PFContext = React.createContext({\r\n entity: \"\",\r\n handeChange: () => {},\r\n setCollectionEnable: () => {}\r\n});","import React, { Component } from \"react\";\r\nimport \"../pages/Home.css\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { CircularProgressbarWithChildren } from \"react-circular-progressbar\";\r\nimport OrphanedIcon from \"@material-ui/icons/Error\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { apiRequest, isPortalAdmin, byPropertyCalled } from \"../utils/Utils\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nconst strokewidth = 10;\r\n\r\nclass About extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.entity = props.primaryFilter.entity;\r\n this.state = {\r\n collapse: false,\r\n isLoading: true,\r\n dashboardData: {\r\n orphan: 0,\r\n total: 0,\r\n battery_below_30: 0,\r\n entities: [],\r\n },\r\n };\r\n }\r\n\r\n componentWillReceiveProps(props) {\r\n if (props.primaryFilter && this.entity != props.primaryFilter.entity) {\r\n this.entity = props.primaryFilter.entity;\r\n this.setState({ isLoading: true });\r\n var url;\r\n if (props.primaryFilter.entity != \"\") {\r\n url = `/dashboard?entity_id=${props.primaryFilter.entity}`;\r\n } else {\r\n url = `/dashboard`;\r\n }\r\n apiRequest(url, \"get\").then((x) => {\r\n let data = x.data[0];\r\n let dd = this.state.dashboardData;\r\n dd.orphan = data.total_orphans;\r\n dd.battery_below_30 = data.total_low_battery_30;\r\n dd.total = data.total_items;\r\n dd.entities = data.entities;\r\n dd.entities.sort(byPropertyCalled(\"entity_name\"));\r\n this.setState({ dashboardData: dd, isLoading: false });\r\n });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n var url;\r\n if (sessionStorage.getItem(\"entityID\")) {\r\n url = `/dashboard?entity_id=${JSON.parse(sessionStorage.getItem(\"entityID\"))}`;\r\n } else {\r\n url = `/dashboard`;\r\n }\r\n apiRequest(url, \"get\").then((x) => {\r\n let data = x.data[0];\r\n let dd = this.state.dashboardData;\r\n dd.orphan = data.total_orphans;\r\n dd.battery_below_30 = data.total_low_battery_30;\r\n dd.total = data.total_items;\r\n dd.entities = data.entities;\r\n dd.entities.sort(byPropertyCalled(\"entity_name\"));\r\n this.setState({ dashboardData: dd, isLoading: false });\r\n });\r\n }\r\n\r\n setDashboardData(option) {\r\n this.setState({ dashboardData: option }).bind(this);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n {!this.state.isLoading ? (\r\n
\r\n \r\n Total Devices: {this.state.dashboardData.total}\r\n
\r\n
\r\n
\r\n Global Values\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/*
*/}\r\n
\r\n
\r\n {this.state.dashboardData.orphan}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {this.state.dashboardData.total == 0\r\n ? 0\r\n : Math.floor(\r\n 100 *\r\n (this.state.dashboardData.orphan /\r\n this.state.dashboardData.total)\r\n )}{\" \"}\r\n %\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
ORPHANS
\r\n
\r\n All devices in all entities\r\n
\r\n
\r\n
\r\n \r\n\r\n this.props.primaryFilter.handeChange(\"\")}\r\n style={{ color: \"white\" }}\r\n to={`/devices/viewtable?flag=LOW_BATTERY_30`}\r\n >\r\n
\r\n {/*
*/}\r\n
\r\n {isPortalAdmin ? (\r\n
\r\n {this.state.dashboardData.battery_below_30}\r\n
\r\n ) : (\r\n \r\n {this.state.dashboardData.battery_below_30}\r\n
\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n {this.state.dashboardData.total == 0\r\n ? 0\r\n : Math.floor(\r\n 100 *\r\n (this.state.dashboardData\r\n .battery_below_30 /\r\n this.state.dashboardData.total)\r\n )}{\" \"}\r\n %\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n LOW CHARGE\r\n
\r\n
\r\n Low Charge < 30% remaining\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n {this.state.dashboardData.entities.length > 0 ? (\r\n
\r\n {this.state.dashboardData.entities.map((entity) => {\r\n return (\r\n \r\n this.props.primaryFilter.handeChange(entity.entity_id)}\r\n style={{ \"textDecoration\": \"none\" }}\r\n to={`/devices/viewtable?id=${entity.entity_id}&`}\r\n >\r\n
\r\n {`${entity.entity_name} (Total Devices:${entity.total_items})`}\r\n
\r\n \r\n
\r\n
\r\n {entity.items\r\n .filter((x) => x.Key != \"ORPHAN\")\r\n .map((item) => {\r\n let details = \"\";\r\n if (item.Key == \"NOT_MAPPED\") {\r\n details =\r\n \"Devices not mapped to a Department\";\r\n }\r\n if (item.Key == \"NOT_TRACEABLE\") {\r\n details = \"Devices not traceable\";\r\n }\r\n if (item.Key == \"MISSING_SYNC\") {\r\n details =\r\n \"Devices missing since last sync\";\r\n }\r\n if (item.Key == \"HEALTHY\") {\r\n details = \"Healthy Devices\";\r\n }\r\n if (item.Key == \"LOW_BATTERY_30\") {\r\n details = \"Devices having battery <30\";\r\n }\r\n return (\r\n this.props.primaryFilter.handeChange(entity.entity_id)}\r\n style={{ color: \"white\" }}\r\n to={\r\n item.Key == \"NOT_MAPPED\"\r\n ? `devices/manage/dept?id=${entity.entity_id}&flag=${item.Key}`\r\n : `/devices/viewtable?id=${entity.entity_id}&flag=${item.Key}`\r\n }\r\n >\r\n
\r\n
\r\n
\r\n {item.Value}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {entity.total_items == 0\r\n ? 0\r\n : Math.floor(\r\n 100 *\r\n (item.Value /\r\n entity.total_items)\r\n )}{\" \"}\r\n %\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {item.Key == \"NOT_MAPPED\"\r\n ? \"NO DEPARTMENT\"\r\n : item.Key == \"LOW_BATTERY_30\"\r\n ? \"LOW CHARGE\"\r\n : item.Key.replace(\"_\", \" \")}\r\n
\r\n
\r\n {details}\r\n
\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n ) : null}\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default About;\r\n","import React, { Component } from \"react\";\r\nimport Home from \"./Home.jsx\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nclass About extends Component {\r\n //static contextType = PFContext;\r\n //constructor() {\r\n // super();\r\n // this.state = {};\r\n //}\r\n\r\n render() {\r\n //const { classes } = this.props;\r\n //const { value } = this.state;\r\n\r\n return (\r\n \r\n {data =>\r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default About;\r\n","import React from \"react\";\r\nimport FirstPageIcon from \"@material-ui/icons/FirstPage\";\r\nimport KeyboardArrowLeft from \"@material-ui/icons/KeyboardArrowLeft\";\r\nimport KeyboardArrowRight from \"@material-ui/icons/KeyboardArrowRight\";\r\nimport LastPageIcon from \"@material-ui/icons/LastPage\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\n\r\nexport default function PaginationActions(props) {\r\n const {\r\n backIconButtonProps,\r\n count,\r\n nextIconButtonProps,\r\n onChangePage = () => {},\r\n onPageChange = () => {},\r\n page,\r\n rowsPerPage,\r\n ...other\r\n } = props;\r\n\r\n //const theme = useTheme();\r\n const theme = { direction: \"ltr\" };\r\n\r\n const handleFirstPageButtonClick = (event) => {\r\n onChangePage(event, 0);\r\n onPageChange(event, 0);\r\n };\r\n\r\n const handleBackButtonClick = (event) => {\r\n onChangePage(event, page - 1);\r\n onPageChange(event, page - 1);\r\n };\r\n\r\n const handleNextButtonClick = (event) => {\r\n onChangePage(event, page + 1);\r\n onPageChange(event, page + 1);\r\n };\r\n\r\n const handleLastPageButtonClick = (event) => {\r\n onChangePage(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\r\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\r\n };\r\n\r\n return (\r\n
\r\n \r\n {theme.direction === 'rtl' ? : }\r\n \r\n \r\n {theme.direction === 'rtl' ? : }\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n style={{ outline: \"none\" }}\r\n >\r\n {theme.direction === 'rtl' ? : }\r\n \r\n = Math.ceil(count / rowsPerPage) - 1}\r\n style={{ outline: \"none\" }}\r\n >\r\n {theme.direction === 'rtl' ? : }\r\n \r\n
\r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport {\r\n //getEntity,\r\n getLocations,\r\n getCollections,\r\n getAssetType,\r\n getAssetModel,\r\n getAssets,\r\n getDeviceFlags,\r\n getAssetManufacturer,\r\n} from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { apiRequest, byName, fetchRequest } from \"../utils/Utils\";\r\nimport { withRouter } from \"react-router\";\r\n\r\nconst batteryLevelOptions = [\r\n { id: 0, name: \"Battery < 30%\", value: \"0,29\" },\r\n { id: 1, name: \"Battery 30 - 60%\", value: \"30,60\" },\r\n { id: 2, name: \"Battery < 60%\", value: \"0,59\" },\r\n { id: 3, name: \"Battery 61 - 90%\", value: \"61,90\" },\r\n { id: 4, name: \"Battery > 90%\", value: \"91,100\" },\r\n { id: 5, name: \"Battery Unknown\", value: \"101,9999\" },\r\n];\r\n\r\nconst styles = (theme) => ({\r\n root: {\r\n flexGrow: 1,\r\n },\r\n input: {\r\n height: 38,\r\n },\r\n inputLabel: {\r\n //marginTop: \"-5px\",\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n width: \"100%\",\r\n color: theme.palette.text.secondary,\r\n },\r\n fab: {\r\n backgroundColor: \"#4b2e83\",\r\n color: \"white\",\r\n margin: theme.spacing(1),\r\n autoCapitalize: false,\r\n },\r\n extendedIcon: {\r\n marginRight: theme.spacing(1),\r\n },\r\n textField: { width: \"100%\" },\r\n dense: {\r\n marginTop: 16,\r\n },\r\n menu: {\r\n width: 200,\r\n },\r\n});\r\n\r\nclass Filters extends Component {\r\n constructor(props) {\r\n super(props);\r\n let oldState = sessionStorage.getItem(\"filter\") ? JSON.parse(sessionStorage.getItem(\"filter\")) : null;\r\n //oldState = { ...oldState, ...this.props.location.state };\r\n this.state = {\r\n //loc: \"\",\r\n dept: (oldState && (props.values.entity === oldState.entity) && (props.values.loc === oldState.loc) && !props.values.coll && oldState.dept) || \"\",\r\n manufacturer: (oldState && oldState.manufacturer) || \"\",\r\n type: (oldState && oldState.type) || \"\",\r\n //entity: \"\",\r\n model: (oldState && oldState.model) || \"\",\r\n flag: (oldState && oldState.flag) || \"\",\r\n batteryLevel: (oldState && oldState.batteryLevel) || \"\",\r\n zone: (oldState && oldState.zone) || \"\",\r\n assetTypeData: [],\r\n //entityData: [],\r\n locationData: [],\r\n collectionData: [],\r\n assetModelData: [],\r\n assetManufacturerData: [],\r\n flagData: [],\r\n zoneData: [],\r\n searchStringFromTextBox: props.searchString,\r\n\r\n entity: sessionStorage.getItem(\"entityID\")\r\n ? JSON.parse(sessionStorage.getItem(\"entityID\"))\r\n : \"\",\r\n loc: sessionStorage.getItem(\"locationID\")\r\n ? JSON.parse(sessionStorage.getItem(\"locationID\"))\r\n : \"\",\r\n // dept: sessionStorage.getItem(\"departmentID\")\r\n // ? JSON.parse(sessionStorage.getItem(\"departmentID\"))\r\n // : \"\",\r\n coll: sessionStorage.getItem(\"collectionID\")\r\n ? JSON.parse(sessionStorage.getItem(\"collectionID\"))\r\n : \"\",\r\n floor: sessionStorage.getItem(\"floorID\") || \"\",\r\n building: sessionStorage.getItem(\"buildingID\") || \"\"\r\n };\r\n this.k = 1;\r\n //this.zones = [];\r\n }\r\n\r\n handleChange = (name) => (event, value) => {\r\n //console.log(\"heloka\", event, value);\r\n var param = \"\";\r\n if (value !== null) {\r\n switch (name) {\r\n case \"dept\":\r\n param = value.id;\r\n this.props.values.setCollectionEnable(false);\r\n break;\r\n case \"batteryLevel\":\r\n param = value.value;\r\n break;\r\n case \"model\":\r\n param = value.name;\r\n break;\r\n case \"type\":\r\n param = value.name;\r\n break;\r\n case \"flag\":\r\n param = value.name\r\n break;\r\n case \"manufacturer\":\r\n param = value.name\r\n break;\r\n case \"zone\":\r\n param = value.name\r\n break;\r\n //default:\r\n // break;\r\n }\r\n }\r\n else {\r\n if (name == \"dept\") {\r\n this.props.values.setCollectionEnable(true);\r\n }\r\n }\r\n if (param) {\r\n // this.props.history.replace({\r\n // pathname: this.props.location.pathname,\r\n // state: {\r\n // ...this.props.location.state,\r\n // [name]: param\r\n // }\r\n // });\r\n } else {\r\n //Remove from state\r\n // let oldState = {...this.props.location.state};\r\n // delete oldState[name];\r\n // const isEmpty = Object.keys(oldState).length === 0;\r\n // oldState = isEmpty ? undefined : oldState;\r\n // this.props.history.replace({\r\n // pathname: this.props.location.pathname,\r\n // state: oldState\r\n // });\r\n this.props.setLoading(false);\r\n }\r\n this.searchParam = \"\";\r\n this.setState(\r\n {\r\n //[name]: event.target.value,\r\n //[name]: value !== null ? value.id : \"\",\r\n [name]: param,\r\n },\r\n () => {\r\n if (name === \"entity\") {\r\n this.props.getLocation(event.target.value);\r\n this.props.getCollection(event.target.value);\r\n // this.searchParam += `EntityId=${event.target.value}&`;\r\n // this.props.getAsset(this.searchParam);\r\n } else if (name === \"loc\") {\r\n this.props.getCollection(this.state.entity, event.target.value);\r\n }\r\n this.createSearchParameters();\r\n }\r\n );\r\n };\r\n\r\n createSearchParameters() {\r\n const { entity, coll, loc, building, floor } = this.props.values;\r\n this.searchParam = \"\";\r\n if (entity !== \"\")\r\n this.searchParam += `entity_id=${entity}&`;\r\n if (this.state.type !== \"\")\r\n this.searchParam += `type=${this.state.type}&`;\r\n if (this.state.model !== \"\")\r\n this.searchParam += `model=${this.state.model}&`;\r\n if (this.state.manufacturer !== \"\")\r\n this.searchParam += `manufacturer=${this.state.manufacturer}&`;\r\n if (this.state.zone !== \"\")\r\n this.searchParam += `zone_name=${this.state.zone}&`;\r\n if (loc !== \"\")\r\n this.searchParam += `location_id=${loc}&`;\r\n if (building !== \"\")\r\n this.searchParam += `meridian_building_id=${building}&`;\r\n if (this.state.dept !== \"\")\r\n this.searchParam += `dept_id=${this.state.dept}&`;\r\n if (coll !== \"\")\r\n this.searchParam += `collection_id=${coll}&`;\r\n if (this.state.flag !== \"\")\r\n this.searchParam += `device_flag=${this.state.flag}&`;\r\n if (floor !== \"\")\r\n this.searchParam+= `meridian_map_id=${floor}&`;\r\n if (this.state.batteryLevel !== \"\")\r\n this.searchParam += `battery_level_between=${this.state.batteryLevel}&`;\r\n if (\r\n this.state.searchStringFromTextBox !== \"\" &&\r\n this.state.searchStringFromTextBox !== undefined\r\n )\r\n this.searchParam += `searchType=wildcard¶m=${encodeURIComponent(\r\n this.state.searchStringFromTextBox\r\n )}&`;\r\n console.log(\"search\", this.searchParam);\r\n this.props.getAsset(this.searchParam.slice(0, -1));\r\n }\r\n\r\n async getZones() {\r\n let r = null, next = null, body = null, zones = [];\r\n try {\r\n do {\r\n r = await fetchRequest(\"/zones\", \"get\", next);\r\n if (r.ok) {\r\n if (r.headers.get('x-ms-continuation-nextrowkey')) {\r\n next = {\r\n \"x-ms-continuation-nextpartitionkey\" : r.headers.get('x-ms-continuation-nextpartitionkey'),\r\n \"x-ms-continuation-nextrowkey\" : r.headers.get('x-ms-continuation-nextrowkey')\r\n };\r\n } else {\r\n next = null;\r\n }\r\n body = await r.json();\r\n if (body && body.value)\r\n zones = zones.concat(body.value);\r\n }\r\n } while (next);\r\n this.setState({ zoneData: zones.sort(byName) });\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n //this.props.getEntities();\r\n this.props.getAssetTypes();\r\n this.props.getAssetModels();\r\n this.props.getAssetManufacturers();\r\n this.props.getFlags();\r\n this.getZones();\r\n\r\n if (this.state.entity !== \"\" && this.state.loc !== \"\") {\r\n this.props.getCollection(this.state.entity, this.state.loc);\r\n }\r\n if (!this.state.dept)\r\n this.props.values.setCollectionEnable(true);\r\n }\r\n\r\n componentDidMount() {\r\n apiRequest(`/accesscontrol`, \"get\").then((x) => {\r\n if (x.data.length == 0) {\r\n this.props.history.push(\"/noaccess\");\r\n } else {\r\n if (this.props.params === \"\") {\r\n //this.props.getAsset();\r\n this.createSearchParameters();\r\n } else {\r\n if (this.props.params.includes(\"BATTERY\")) {\r\n if (this.props.params.includes(\"id\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.params.substring(\r\n 4,\r\n this.props.params.indexOf(\"&\")\r\n )}&battery_level_between=0,29`\r\n );\r\n } else {\r\n this.props.getAsset(`battery_level_between=0,29`);\r\n }\r\n } else if (this.props.params.includes(\"NOT_TRACEABLE\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.params.substring(\r\n 4,\r\n this.props.params.indexOf(\"&\")\r\n )}&device_flag=NOT_TRACEABLE`\r\n );\r\n } else if (this.props.params.includes(\"MISSING_SYNC\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.params.substring(\r\n 4,\r\n this.props.params.indexOf(\"&\")\r\n )}&device_flag=MISSING_SYNC`\r\n );\r\n } else if (this.props.params.includes(\"HEALTHY\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.params.substring(\r\n 4,\r\n this.props.params.indexOf(\"&\")\r\n )}&device_flag=HEALTHY`\r\n );\r\n } else if (this.props.params.includes(\"id\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.params.substring(\r\n 4,\r\n this.props.params.indexOf(\"&\")\r\n )}`\r\n );\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n componentWillReceiveProps({\r\n //entities,\r\n locations,\r\n collections,\r\n assetTypes,\r\n assetModel,\r\n assetManufacturer,\r\n searchString,\r\n deviceFlags,\r\n params,\r\n values\r\n }) {\r\n if (values) {\r\n let old_entity = this.state.entity;\r\n let old_loc = this.state.loc;\r\n if (\r\n values.entity !== this.state.entity ||\r\n values.coll !== this.state.coll ||\r\n values.loc !== this.state.loc ||\r\n values.building !== this.state.building ||\r\n values.floor !== this.state.floor\r\n ) {\r\n this.setState(\r\n {\r\n entity: values.entity,\r\n coll: values.coll,\r\n loc: values.loc,\r\n building: values.building,\r\n floor: values.floor\r\n },\r\n () => {\r\n if (old_entity !== this.state.entity || old_loc !== this.state.loc) {\r\n this.setState({ dept: \"\" }, () => {\r\n this.createSearchParameters();\r\n values.setCollectionEnable(true);\r\n });\r\n if (this.state.entity && this.state.loc) {\r\n this.props.getCollection(this.state.entity, this.state.loc);\r\n }\r\n } else {\r\n this.createSearchParameters();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n this.setState({\r\n //entityData: entities,\r\n locationData: locations,\r\n collectionData: collections,\r\n assetTypeData: assetTypes || [],\r\n assetModelData: assetModel,\r\n assetManufacturerData: assetManufacturer || [],\r\n flagData: deviceFlags\r\n });\r\n if (params != \"\") {\r\n let flag = \"\";\r\n let batteryLevel = \"\";\r\n if (params.includes(\"NOT_TRACEABLE\")) {\r\n flag = \"NOT_TRACEABLE\";\r\n } else if (params.includes(\"MISSING_SYNC\")) {\r\n flag = \"MISSING_SYNC\";\r\n } else if (params.includes(\"HEALTHY\")) {\r\n flag = \"HEALTHY\";\r\n } else if (params.includes(\"LOW_BATTERY_30\")) {\r\n batteryLevel = \"0,29\";\r\n }\r\n if (this.k == 1) {\r\n this.setState(\r\n {\r\n // entity: params.includes(\"id\")\r\n // ? parseInt(params.substring(4, params.indexOf(\"&\")))\r\n // : \"\",\r\n flag,\r\n batteryLevel,\r\n },\r\n () => {\r\n this.k = 2;\r\n if (params.includes(\"id\")) {\r\n this.props.getLocation(params.substring(4, params.indexOf(\"&\")));\r\n this.props.getCollection(\r\n params.substring(4, params.indexOf(\"&\"))\r\n );\r\n }\r\n }\r\n );\r\n }\r\n }\r\n if (this.state.searchStringFromTextBox != searchString) {\r\n this.setState(\r\n {\r\n searchStringFromTextBox: searchString,\r\n },\r\n () => {\r\n this.createSearchParameters();\r\n }\r\n );\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n if (nextState.dept || nextState.batteryLevel || nextState.zone || nextState.manufacturer || nextState.model || nextState.type || nextState.flag) {\r\n const newState = JSON.stringify({\r\n entity: (nextProps.values && nextProps.values.entity) || undefined,\r\n loc: (nextProps.values && nextProps.values.loc) || undefined,\r\n dept: nextState.dept || undefined,\r\n batteryLevel: nextState.batteryLevel || undefined,\r\n zone: nextState.zone || undefined,\r\n manufacturer: nextState.manufacturer || undefined,\r\n model: nextState.model || undefined,\r\n type: nextState.type || undefined,\r\n flag: nextState.flag || undefined,\r\n //[name]: param || undefined\r\n });\r\n ////if (param || this.state.dept || this.state.batteryLevel || this.state.zone || this.state.manufacturer || this.state.model || this.state.type || this.state.flag) {\r\n //if (newState && newState.length > 2)\r\n sessionStorage.setItem(\"filter\", newState);\r\n } else {\r\n sessionStorage.removeItem(\"filter\");\r\n }\r\n return true;\r\n }\r\n\r\n handleReset = () => {\r\n this.props.setLoading(false);\r\n this.props.resetSearchText();\r\n this.searchParam = \"\";\r\n this.props.values.setCollectionEnable(true);\r\n console.log(\"ResetFilter\");\r\n this.props.history.replace({\r\n pathname: this.props.location.pathname,\r\n state: undefined\r\n });\r\n sessionStorage.removeItem(\"filter\");\r\n this.setState(\r\n {\r\n //entity: \"\",\r\n //loc: \"\",\r\n dept: \"\",\r\n batteryLevel: \"\",\r\n zone: \"\",\r\n manufacturer: \"\",\r\n model: \"\",\r\n type: \"\",\r\n flag: \"\"\r\n },\r\n () => {\r\n this.createSearchParameters();\r\n }\r\n );\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n //console.log(\"heloka\", this.state.collectionData);\r\n var deptId = parseInt(this.state.dept, 10);\r\n var dObj = this.state.collectionData.find(e => e.id == deptId) || null;\r\n var bObj = batteryLevelOptions.find(e => e.value == this.state.batteryLevel) || null;\r\n var mObj = this.state.assetModelData.find(e => e.name == this.state.model) || null;\r\n var tObj = this.state.assetTypeData.find(e => e.name == this.state.type) || null;\r\n var manObj = this.state.assetManufacturerData.find(e => e.name == this.state.manufacturer) || null;\r\n var fObj = this.state.flagData.find(e => e.name == this.state.flag) || null;\r\n var zoneObj = this.state.zoneData.find(e => e.name == this.state.zone) || null;\r\n return (\r\n
\r\n \r\n
\r\n {/*

Filters

*/}\r\n {/* \r\n \r\n \r\n {this.state.entityData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.locationData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.collectionData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n {this.state.assetTypeData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.assetModelData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.flagData.map(option => (\r\n \r\n {option.name == \"NOT_MAPPED\"\r\n ? \"NO DEPARTMENT\"\r\n : option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {batteryLevelOptions.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
\r\n
\r\n \r\n \r\n \r\n option.id == value.id)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"dept\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.collectionData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n \r\n
\r\n \r\n option.value == value.value)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"batteryLevel\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {batteryLevelOptions.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"zone\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n
\r\n\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"manufacturer\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n
\r\n\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"model\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.assetModelData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"type\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.assetTypeData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name == \"NOT_MAPPED\" ? \"NO DEPARTMENT\" : option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name == \"NOT_MAPPED\" ? \"NO DEPARTMENT\" : option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"flag\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.flagData.map((option) => (\r\n \r\n {option.name == \"NOT_MAPPED\" ? \"NO DEPARTMENT\" : option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nFilters.propTypes = {\r\n classes: PropTypes.object.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n const {\r\n //entities,\r\n collections,\r\n locations,\r\n assetTypes,\r\n assetModel,\r\n assetManufacturer,\r\n deviceFlags,\r\n } = state;\r\n return {\r\n //entities,\r\n collections,\r\n locations,\r\n assetTypes,\r\n assetModel,\r\n assetManufacturer,\r\n deviceFlags,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n //getEntities: () => getEntity(dispatch),\r\n getLocation: (entityId) => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locationId = \"\") => getCollections(dispatch, entityId, locationId),\r\n getAssetTypes: () => getAssetType(dispatch),\r\n getAssetModels: () => getAssetModel(dispatch),\r\n getAssetManufacturers: () => getAssetManufacturer(dispatch),\r\n getAsset: (params) => getAssets(dispatch, params),\r\n getFlags: () => getDeviceFlags(dispatch),\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(mapStateToProps, mapDispatchToProps),\r\n withStyles(styles),\r\n withRouter\r\n)(Filters);\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { token, defaultImage, addLowBatteryHint } from \"../utils/Utils\";\r\nimport * as MeridianSDK from \"@meridian/web-sdk\";\r\nimport './Map.css';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n flexGrow: 1\r\n }\r\n});\r\n\r\nclass DeviceMap extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.map = null;\r\n this.state = {\r\n //macid: this.props.macid,\r\n hideMap: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.renderMap(this.props.locid, this.props.floorid, this.props.macid, this.props.x, this.props.y);\r\n }\r\n\r\n renderMap(locid, floorid, macid, x, y) {\r\n const that = this;\r\n if (!locid || !floorid) {\r\n if (this.map && !this.map.isDestroyed) {\r\n this.map.destroy();\r\n this.map = null;\r\n }\r\n that.setState({\r\n hideMap: true,\r\n });\r\n } else {\r\n let point = x && y ? [{\r\n type: \"point\",\r\n x: x,\r\n y: y,\r\n backgroundColor: /*\"#c00\"*/\"none\",\r\n size: 25,\r\n backgroundImage: this.props.image ? this.props.image : defaultImage,\r\n //title: \"Last Known\"\r\n }] : [];\r\n that.setState(\r\n {\r\n hideMap: false,\r\n },\r\n () => {\r\n let element = document.getElementById(this.props.element);\r\n if (!this.map || this.map.isDestroyed) {\r\n const api = new MeridianSDK.API({\r\n environment: \"production\",\r\n token: token,\r\n });\r\n if (element) {\r\n element.innerHTML = \"\";\r\n }\r\n this.map = MeridianSDK.createMap(\r\n //document.getElementById(this.props.element),\r\n element,\r\n {\r\n api: api,\r\n locationID: locid,\r\n floorID: floorid,\r\n shouldMapPanZoom: function restrictedPanZoom(event) {\r\n if (event.type === \"wheel\" && !event.altKey) {\r\n return false;\r\n } else if (event.type === \"touchstart\") {\r\n return event.touches.length >= 2;\r\n }\r\n return true;\r\n },\r\n\r\n annotations: point,\r\n //height: \"500px\",\r\n height: this.props.element == \"meridian-map2\" ? \"calc(100vh - 50px)\" : \"500px\",\r\n placemarks: {\r\n labelZoomLevel: 0.1,\r\n filter: t => {\r\n return true;\r\n }\r\n },\r\n\r\n onPlacemarksUpdate: ({ allPlacemarks, filteredPlacemarks }) => {\r\n this.map.update({\r\n overlays: filteredPlacemarks\r\n .filter(placemark => placemark.area)\r\n .map((placemark, i) => {\r\n const hue = (i * (360 / 6)) % 360;\r\n return {\r\n type: \"polygon\",\r\n points: MeridianSDK.pointsFromArea(placemark.area),\r\n //points: [3032,629],\r\n fill: `hsla(${hue}, 100%, 60%, 0.3)`,\r\n stroke: `hsl(${hue}, 100%, 60%)`\r\n };\r\n })\r\n });\r\n },\r\n\r\n loadTags: point.length == 0 ? true : false,\r\n tags: {\r\n //filter: function (tag) {\r\n // return tag.mac === that.props.macid && point.length == 0;\r\n filter: (tag) => {\r\n if (tag.mac === macid) {\r\n addLowBatteryHint(tag);\r\n return true;\r\n }\r\n return false;\r\n },\r\n updateInterval: 10000\r\n },\r\n }\r\n );\r\n //let x = document.getElementById(this.props.element);\r\n element = element ? element.querySelector(\".meridian-map-background\") : \"\";\r\n if (element) {\r\n element.click();\r\n }\r\n } else {\r\n //let x = document.getElementById(this.props.element);\r\n element = element ? element.querySelector(\".meridian-map-background\") : \"\";\r\n if (element) {\r\n element.click();\r\n }\r\n this.map.update({\r\n locationID: locid,\r\n floorID: floorid,\r\n annotations: point,\r\n loadTags: point.length == 0 ? true : false,\r\n tags: {\r\n filter: (tag) => {\r\n if (tag.mac === macid) {\r\n addLowBatteryHint(tag);\r\n return true;\r\n }\r\n return false;\r\n },\r\n updateInterval: 10000\r\n }\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n componentWillReceiveProps({ floorid, locid, macid, x = \"\", y = \"\" }) {\r\n //if (this.props.floorid !== floorid || this.props.locid !== locid || this.props.macid !== macid)\r\n this.renderMap(locid, floorid, macid, x, y);\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.map && !this.map.isDestroyed) {\r\n this.map.destroy();\r\n }\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n return (\r\n
\r\n {!this.state.hideMap ? (\r\n
\r\n ) : (\r\n \r\n

Currently the device is not traceable. Please check Last known location.

\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\nexport default withStyles(styles)(DeviceMap);\r\n","import React from \"react\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\n\r\nexport default class AlertDialog extends React.Component {\r\n// constructor(props) {\r\n// super(props);\r\n// this.state = {\r\n// open: props.open\r\n// };\r\n// }\r\n\r\n// handleClose = () => {\r\n// this.setState({\r\n// open: false\r\n// });\r\n// };\r\n\r\n// componentWillReceiveProps({ open }) {\r\n// this.setState({\r\n// open\r\n// });\r\n// }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n {this.props.isError\r\n ?\r\n \r\n {\"ERROR!\"}\r\n \r\n :\r\n \r\n {this.props.action && this.props.action != \"Replace\"\r\n ? `Confirm ${this.props.action}`\r\n : \"Replace\"\r\n }\r\n \r\n }\r\n \r\n \r\n {this.props.children\r\n ? \"\"\r\n : (this.props.subText == \"\" || this.props.subText == undefined || this.props.subText == null)\r\n ? \"Are you sure?\"\r\n : this.props.subText\r\n }\r\n \r\n {this.props.children}\r\n \r\n \r\n {\r\n //this.handleClose();\r\n this.props.close();\r\n }}\r\n hidden={this.props.isError}\r\n color=\"primary\"\r\n style={{\r\n color: \"#4b2e83\",\r\n margin: 10,\r\n height: 45\r\n }}\r\n className=\"button1\"\r\n >\r\n {this.props.children ? \"Cancel\" : \"No\"}\r\n \r\n {\r\n if (this.props.isError === true) {\r\n //this.handleClose();\r\n this.props.close();\r\n }\r\n else {\r\n this.props.onClickYes();\r\n }\r\n }}\r\n color=\"primary\"\r\n style={{\r\n color: \"#4b2e83\",\r\n margin: 10,\r\n height: 45\r\n }}\r\n className=\"button1\"\r\n autoFocus\r\n >\r\n {this.props.children ? \"Ok\" : \"Yes\"}\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport ViewIcon from \"@material-ui/icons/OpenInNew\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { showMessage } from \"../actions/index\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport { apiRequest } from \"../utils/Utils\";\r\n\r\nconst rows = [\r\n { id: \"CollectionName\", disablePadding: true, label: \"COLLECTION NAME\" },\r\n {\r\n id: \"CollectionType\",\r\n numeric: false,\r\n disablePadding: false,\r\n label: \"COLLECTION TYPE\"\r\n },\r\n { id: \"Action\", numeric: false, disablePadding: false, label: \"ACTION\" }\r\n];\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2)\r\n },\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n table: {\r\n minWidth: 50\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\"\r\n },\r\n button: {\r\n color: \"#4b2e83\",\r\n height: \"40px\",\r\n width: \"100%\",\r\n padding: \"0px !important\"\r\n },\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n textField: { width: \"100%\", margin: \"0px !important\" },\r\n tableHead: {\r\n fontWeight: 400,\r\n fontSize: 14,\r\n fontWeight: 500,\r\n fontSize: \"0.75rem\",\r\n color: \"rgba(0, 0, 0, 0.54)\"\r\n },\r\n tableRow: {\r\n paddingTop: \"0px !important\",\r\n paddingBottom: \"0px !important\",\r\n verticalAlign: \"middle !important\",\r\n fontWeight: 400,\r\n fontSize: \"0.8125rem\",\r\n color: \"rgba(0, 0, 0, 0.87)\"\r\n }\r\n});\r\n\r\nclass EnhancedTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n order: \"desc\",\r\n orderBy: \"sno\",\r\n data: props.collections || [],\r\n page: 0,\r\n rowsPerPage: 4,\r\n openAlert: false,\r\n collectionToDelete: \"\"\r\n };\r\n }\r\n\r\n componentWillMount() {}\r\n\r\n componentWillReceiveProps({ collections }) {\r\n this.setState({\r\n data: collections || []\r\n });\r\n }\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n\r\n handleDelete = () => {\r\n\r\n this.setState({\r\n openAlert: false,\r\n showLoader: true\r\n });\r\n apiRequest(`/assetmaps`, \"delete\", {\r\n ids: [this.state.collectionToDelete.MapId]\r\n })\r\n .then(x => {\r\n if (x.status > 0) {\r\n this.setState({\r\n showLoader: false\r\n });\r\n this.props.refreshData();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else\r\n this.props.showMessageBox(x.message);\r\n })\r\n .catch(err => this.props.showMessageBox(\"ERROR\"));\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { data, rowsPerPage, page } = this.state;\r\n const emptyRows =\r\n rowsPerPage - Math.min(rowsPerPage, data.length - page * rowsPerPage);\r\n\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n \r\n \r\n \r\n {rows.map(row => (\r\n \r\n {row.label}\r\n \r\n ))}\r\n \r\n \r\n \r\n {this.state.data.map(row => (\r\n \r\n {row.CollectionName}\r\n {row.CollectionType}\r\n \r\n \r\n {\r\n this.props.showCollectionDetail(\r\n row.CollectionId,\r\n row.CollectionType\r\n );\r\n }}\r\n style={{\r\n color: \"#4b2e83\",\r\n opacity: \"1\",\r\n outline: \"none\",\r\n padding: 0\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n this.setState({\r\n collectionToDelete: row,\r\n openAlert: true\r\n });\r\n }}\r\n hidden={!this.props.disableButton}\r\n style={{\r\n color: \"#4b2e83\",\r\n opacity: \"1\",\r\n outline: \"none\",\r\n padding: 0,\r\n marginLeft: 20\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(EnhancedTable);\r\n","import React from \"react\";\r\nimport TableContainer from \"@material-ui/core/TableContainer\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport PaginationActions from \"./PaginationActions\";\r\nimport PropTypes from 'prop-types';\r\n\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport MapIcon from \"@material-ui/icons/Map\";\r\n\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CloseIcon from \"@material-ui/icons/HighlightOff\";\r\nimport SvgIcon from '@material-ui/core/SvgIcon';\r\nimport Page2Map from \"./Page2Map.jsx\";\r\n\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { CSVLink } from \"react-csv\";\r\n\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { apiRequest, getOption, byPropertyCalled, fetchRequest } from \"../utils/Utils\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\n\r\nvar moment = require('moment');\r\nvar mtz = require('moment-timezone');\r\nvar abbs = mtz.tz(Intl.DateTimeFormat().resolvedOptions().timeZone).format('z').toString();\r\nconst headCells = [\r\n { id: \"map\", label: \"MAP\"},\r\n { id: \"timeLH\", label: `LAST HEARD (${abbs})`},\r\n { id: \"time\", label: `TIMESTAMP (${abbs})`},\r\n { id: \"MeridianBuildingName\", disablePadding: false, label: \"CAMPUS\"},\r\n //{ id: \"LocationName\", disablePadding: false, label: \"Building\" },\r\n //{ id: \"FloorLabel\", disablePadding: false, label: \"FLOOR\" },\r\n { id: \"FloorNumber\", disablePadding: false, label: \"FLOOR\" },\r\n { id: \"ZoneName\", disablePadding: false, label: \"ZONE\" },\r\n //{ id: \"DeviceFlag\", disablePadding: false, label: \"DEVICE FLAG\" },\r\n { id: \"MacId\", disablePadding: false, label: \"MAC ADDRESS\" }\r\n];\r\n\r\nfunction desc(a, b, orderBy) {\r\n let cmpa= a[orderBy] ? a[orderBy].toLowerCase(): '';\r\n let cmpb= b[orderBy] ? b[orderBy].toLowerCase(): '';\r\n if (cmpb < cmpa) {\r\n return -1;\r\n }\r\n if (cmpb > cmpa) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nfunction EnhancedTableHead(props) {\r\n const { classes, onSelectAllClick, order, orderBy, numSelected, rowCount, onRequestSort } = props;\r\n const createSortHandler = (property) => (event) => {\r\n onRequestSort(event, property);\r\n };\r\n\r\n return (\r\n \r\n \r\n {headCells.map((headCell) => (\r\n \r\n \r\n \r\n {headCell.label}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n}\r\n\r\nEnhancedTableHead.propTypes = {\r\n //classes: PropTypes.object.isRequired,\r\n //numSelected: PropTypes.number.isRequired,\r\n onRequestSort: PropTypes.func.isRequired,\r\n //onSelectAllClick: PropTypes.func.isRequired,\r\n order: PropTypes.oneOf(['asc', 'desc']).isRequired,\r\n orderBy: PropTypes.string.isRequired,\r\n //rowCount: PropTypes.number.isRequired,\r\n};\r\n\r\nclass History extends React.Component {\r\n constructor(props) {\r\n super();\r\n this.rows = [];\r\n this.maps= [];\r\n this.zones = [];\r\n this.downloadData = [];\r\n this.state = {\r\n order: \"desc\",\r\n orderBy: \"time\",\r\n showMap: false,\r\n days: 1,\r\n rowsPerPage: 50,\r\n page: 0,\r\n maps: [],\r\n zones: {\r\n results: []\r\n },\r\n isFullScreen: false,\r\n isLoading: true\r\n };\r\n this.daysList=[\r\n //{id: 0, name: \"All\", detail: \"day\", value: 1000, days: 1000}, // ALL MAX 1000day\r\n {id: 1, name: \"Last 24 hours\", detail: \"day\", value: 1, days: 1},\r\n {id: 2, name: \"Last 7 days\", detail: \"day\", value: 7, days: 7},\r\n {id: 3, name: \"Last 30 days\", detail: \"day\", value: 30, days: 30},\r\n {id: 4, name: \"Last 90 days\", detail: \"day\", value: 90, days: 90},\r\n {id: 5, name: \"Last 6 months\", detail: \"month\", value: 6, days: 182},\r\n {id: 6, name: \"Last 12 months\", detail: \"month\", value: 12, days: 365},\r\n {id: 7, name: \"Last 15 months\", detail: \"month\", value: 15, days: 455},\r\n ];\r\n this.childDiv = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n this.getMaps(this.props.assetDetail.MeridianLocationId)\r\n .then(m =>\r\n this.getZones(this.props.assetDetail.MeridianLocationId)\r\n .then(r =>\r\n this.getAssetHistory(null, this.daysList[0].days)\r\n .then(r => this.merge())\r\n )\r\n );\r\n\r\n // this.getAssetHistory(null, 7)\r\n // .then(r => this.merge());\r\n }\r\n\r\n getAssetHistory(next = null, days = 0) {\r\n let nexT = null;\r\n let url = days == 0 ?\r\n `/AssetHistory/${this.props.mac}` :\r\n `/AssetHistory/${this.props.mac}?days=${days}`;\r\n return fetchRequest(url, \"get\", next)\r\n .then(r => {\r\n if (r.headers.get('x-ms-continuation-nextrowkey')) {\r\n nexT = {\r\n \"x-ms-continuation-nextpartitionkey\" : r.headers.get('x-ms-continuation-nextpartitionkey'),\r\n \"x-ms-continuation-nextrowkey\" : r.headers.get('x-ms-continuation-nextrowkey')\r\n };\r\n }\r\n if (r.ok)\r\n return r.json();\r\n return [];\r\n })\r\n .then(r => {\r\n if (r.value)\r\n this.rows = this.rows.concat(r.value);\r\n if (nexT)\r\n return this.getAssetHistory(nexT, days);\r\n return this.rows;\r\n });\r\n }\r\n\r\n getMaps(locationId, next = null) {\r\n let nexT = null;\r\n let url = `/locations/${locationId}/maps`;\r\n return fetchRequest(url, \"get\", next)\r\n .then(r => {\r\n if (r.headers.get('x-ms-continuation-nextrowkey')) {\r\n nexT = {\r\n \"x-ms-continuation-nextpartitionkey\" : r.headers.get('x-ms-continuation-nextpartitionkey'),\r\n \"x-ms-continuation-nextrowkey\" : r.headers.get('x-ms-continuation-nextrowkey')\r\n };\r\n }\r\n if (r.ok)\r\n return r.json();\r\n return [];\r\n })\r\n .then(r => {\r\n if (r.value)\r\n this.maps = this.maps.concat(r.value);\r\n if (nexT)\r\n return this.getMaps(locationId, nexT);\r\n return this.maps;\r\n });\r\n }\r\n\r\n getZones(locationId, next = null) {\r\n let nexT = null;\r\n let url = `/locations/${locationId}/zones`;\r\n return fetchRequest(url, \"get\", next)\r\n .then(r => {\r\n if (r.headers.get('x-ms-continuation-nextrowkey')) {\r\n nexT = {\r\n \"x-ms-continuation-nextpartitionkey\" : r.headers.get('x-ms-continuation-nextpartitionkey'),\r\n \"x-ms-continuation-nextrowkey\" : r.headers.get('x-ms-continuation-nextrowkey')\r\n };\r\n }\r\n if (r.ok)\r\n return r.json();\r\n return [];\r\n })\r\n .then(r => {\r\n if (r.value)\r\n this.zones = this.zones.concat(r.value);\r\n if (nexT)\r\n return this.getZones(locationId, nexT);\r\n return this.zones;\r\n });\r\n }\r\n\r\n getMapsFromMeridian(location) {\r\n var url =`https://edit.meridianapps.com/api/locations/${location}/maps`;\r\n return fetch(url, getOption())\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json();\r\n } else {\r\n return [];\r\n }\r\n })\r\n .then(data => {\r\n this.setState({ maps: data });\r\n return data;\r\n })\r\n .catch(err => {\r\n console.log(\"error:\", err);\r\n return [];\r\n });\r\n }\r\n\r\n getZonesFromMeridian(locationId, zoneUrl = `https://edit.meridianapps.com/api/locations/${locationId}/tag-zones`) {\r\n //let zoneUrl = `https://edit.meridianapps.com/api/locations/${locationId}/tag-zones`;\r\n return fetch(zoneUrl, getOption())\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json();\r\n } else {\r\n //NO ZONE\r\n return [];\r\n }\r\n })\r\n .then(data => {\r\n if (data) {\r\n this.zones.results = this.zones.results.concat(data.results);\r\n console.log(\"blee\", this.zones, data);\r\n if (data.next) {\r\n this.getZonesFromMeridian(locationId, data.next);\r\n }\r\n else {\r\n console.log(\"bleeF\", this.zones);\r\n this.setState({ zones: this.zones });\r\n return this.maps;\r\n }\r\n }\r\n // this.setState({ zones: data });\r\n // return data;\r\n });\r\n }\r\n\r\n merge() {\r\n if (this.maps) {\r\n this.downloadData = [\r\n [`LAST HEARD (${abbs})`, `TIMESTAMP (${abbs})`, \"CAMPUS\", \"FLOOR\", \"ZONE\", \"ID\"]\r\n ];\r\n this.rows.forEach((item, i) => {\r\n //item.time = item.time.substring(0, 19).replace(\"T\", \" \");\r\n item.localTime = moment(item.time).format('DD MMMM YYYY H:mm');\r\n item.lastHeard = item.last_heard ? moment(item.last_heard*1000).format('DD MMMM YYYY H:mm') : \"\";\r\n //item.timeLH = item.time;\r\n if (i == 0 || item.map_id != this.rows[i-1].map_id) {\r\n let map = this.maps.find(m => m.id == item.map_id);\r\n if (map) {\r\n item.MeridianBuildingName = map.group_name;\r\n item.FloorNumber = map.name;\r\n }\r\n }\r\n else {\r\n item.MeridianBuildingName = this.rows[i-1].MeridianBuildingName;\r\n item.FloorNumber = this.rows[i-1].FloorNumber;\r\n }\r\n let zone = this.zones.find(zone => zone.id == item.zone_id);\r\n if (zone) {\r\n item.ZoneName = zone.name;\r\n }\r\n this.downloadData.push(\r\n [\r\n //Replace needed, so Excel won't convert it\r\n //item.lastHeard ? item.lastHeard.toString().replace(\"\", \" \") : \"\",\r\n item.lastHeard ? `\\t${item.lastHeard.toString()}` : \"\",\r\n //item.localTime.toString().replace(\"\", \" \"),\r\n `\\t${item.localTime.toString()}`,\r\n item.MeridianBuildingName,\r\n item.FloorNumber,\r\n item.ZoneName,\r\n this.props.mac\r\n ]\r\n );\r\n });\r\n this.setState({ refresh: true, isLoading: false });\r\n }\r\n }\r\n\r\n getMergedData(days = 0) {\r\n this.rows = [];\r\n this.getAssetHistory(null, days)\r\n .then(r => {\r\n this.merge();\r\n });\r\n }\r\n\r\n handleRequestSort = (event, property) => {\r\n const orderBy = property;\r\n let order = \"desc\";\r\n\r\n if (this.state.orderBy === property && this.state.order === \"desc\") {\r\n order = \"asc\";\r\n }\r\n this.setState({ order, orderBy });\r\n }\r\n\r\n stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n }\r\n\r\n getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n }\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page });\r\n }\r\n\r\n handleChangeRowsPerPage = event => {\r\n if (event.target.value * this.state.page > this.rows.length && this.state.page != 0)\r\n this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n else\r\n this.setState({ rowsPerPage: event.target.value });\r\n }\r\n\r\n selectDateToUTC(datePickerValue) {\r\n let d = new Date();\r\n if (datePickerValue.detail == \"day\") {\r\n //SET DAY\r\n d.setDate(d.getDate() - datePickerValue.value + 1);\r\n }\r\n else {\r\n //SET MONTH\r\n d.setMonth(d.getMonth() - datePickerValue.value);\r\n }\r\n d.setUTCHours(0,0,0,0);\r\n let utc = d.toISOString();\r\n return utc;\r\n }\r\n\r\n compareUTCDate(picker, asset) {\r\n let pickerDate = new Date(picker);\r\n let assetDate = new Date(asset);\r\n return assetDate >= pickerDate;\r\n }\r\n\r\n render() {\r\n let dayObj = this.daysList.find(d => d.id == this.state.days) || null;\r\n return (\r\n \r\n {this.state.showMap && (\r\n \r\n
\r\n \r\n \r\n \r\n Device ID: {this.state.selectedItem.DeviceId}, Timestamp: {`${this.state.selectedItem.Timestamp} (${abbs})`}\r\n \r\n \r\n this.setState({ isFullScreen: false })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Device ID: {this.state.selectedItem.DeviceId}, Timestamp: {`${this.state.selectedItem.Timestamp} (${abbs})`}\r\n \r\n {/*
\r\n
\r\n
*/}\r\n \r\n this.setState({ isFullScreen: true })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({ showMap: false })}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n )}\r\n\r\n \r\n {this.props.name}\r\n \r\n \r\n d.id == this.state.days)}\r\n getOptionSelected={(option, value) => option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n //onChange={this.handleChange(\"entity\")}\r\n onChange={(evt, value) => {\r\n //this.setState({ isLoading: true });\r\n let v = 1;\r\n if (value != null)\r\n v = value.id;\r\n this.setState({ isLoading: true, days: v, rowsPerPage: 50, page: 0 });\r\n\r\n let days = value ? value.days : 1; //ALL MAX 1000day\r\n this.getMergedData(days);\r\n }}\r\n renderOption={(option) => (\r\n
{option.name}
\r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n Export\r\n \r\n \r\n
\r\n {this.state.isLoading ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n {this.stableSort(\r\n this.rows,\r\n this.getSorting(this.state.order, this.state.orderBy)\r\n )\r\n .slice(\r\n this.state.page * this.state.rowsPerPage,\r\n (this.state.page + 1) * this.state.rowsPerPage //+ rowsPerPage\r\n )\r\n //.filter(r => this.compareUTCDate(this.selectDateToUTC(dayObj), r.time))\r\n .map((row) => (\r\n \r\n \r\n \r\n {\r\n // id={this.state.selectedItem.DeviceId}\r\n // macid={this.state.selectedItem.DeviceId}\r\n // locid={this.state.selectedItem.MeridianLocationId}\r\n // floorid={this.state.selectedItem.MeridianMapId}\r\n // element={\"meridian-map2\"}\r\n\r\n // image={this.props.image}\r\n // x={this.state.selectedItem.X}\r\n // y={this.state.selectedItem.Y}\r\n\r\n let selectedItem = {\r\n DeviceId: row.mac ? row.mac : this.props.mac,\r\n Timestamp: row.localTime,\r\n MeridianLocationId: this.props.assetDetail.MeridianLocationId,\r\n MeridianMapId: row.map_id,\r\n X: row.x,\r\n Y: row.y,\r\n };\r\n this.setState(\r\n { showMap: true, selectedItem: selectedItem },\r\n () =>\r\n this.childDiv.current.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"start\",\r\n })\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {row.lastHeard}\r\n {row.localTime}\r\n {row.MeridianBuildingName}\r\n {row.FloorNumber}\r\n {row.ZoneName}\r\n {row.mac}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n this.compareUTCDate(this.selectDateToUTC(dayObj), r.time))*/\r\n .length\r\n }\r\n rowsPerPage={this.state.rowsPerPage}\r\n page={this.state.page}\r\n backIconButtonProps={{\r\n \"aria-label\": \"Previous Page\",\r\n style: { outline: \"none\" }\r\n }}\r\n nextIconButtonProps={{\r\n \"aria-label\": \"Next Page\",\r\n style: { outline: \"none\" }\r\n }}\r\n onChangePage={this.handleChangePage}\r\n onChangeRowsPerPage={this.handleChangeRowsPerPage}\r\n style={{paddingBottom: \"20px\"}}\r\n />\r\n
\r\n }\r\n \r\n );\r\n }\r\n}\r\nexport default History;","import React from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Tabs from \"@material-ui/core/Tabs\";\r\nimport Tab from \"@material-ui/core/Tab\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport \"./Configure.css\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport BackIcon from \"@material-ui/icons/ArrowBackIos\";\r\nimport AddIcon from \"@material-ui/icons/AddCircleOutline\";\r\nimport CollectionsIcon from \"@material-ui/icons/CollectionsBookmark\";\r\nimport Battery80Icon from \"@material-ui/icons/Battery80\";\r\nimport Battery20Icon from \"@material-ui/icons/Battery20\";\r\nimport Battery30Icon from \"@material-ui/icons/Battery30\";\r\nimport Battery50Icon from \"@material-ui/icons/Battery50\";\r\nimport Battery60Icon from \"@material-ui/icons/Battery60\";\r\nimport Battery90Icon from \"@material-ui/icons/Battery90\";\r\nimport BatteryLowIcon from \"@material-ui/icons/BatteryAlert\";\r\nimport BatteryFullIcon from \"@material-ui/icons/BatteryFull\";\r\nimport BatteryUnknown from \"@material-ui/icons/BatteryUnknown\";\r\nimport RemoveIcon from \"@material-ui/icons/RemoveCircleOutline\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport { Link } from \"react-router-dom\";\r\nimport {\r\n getEntity,\r\n getLocations,\r\n getCollections,\r\n getAssets,\r\n getDeviceFlags,\r\n cleanData,\r\n showMessage\r\n} from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { apiRequest, isPortalAdmin, storeEntityId, getOption, token, byPropertyCalled, formatDate, defaultImage } from \"../utils/Utils\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport CollectionsTable from \"./CollectionsTable\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport RefreshIcon from '@material-ui/icons/Refresh';\r\nimport ViewIcon from \"@material-ui/icons/OpenInNew\";\r\nimport Slide from \"@material-ui/core/Slide\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport NoBarcode from \"../images/No_Barcode.png\";\r\nimport * as MeridianSDK from \"@meridian/web-sdk\";\r\nimport './Map.css';\r\n\r\nimport History from './TableHistory';\r\nimport SvgIcon from '@material-ui/core/SvgIcon';\r\n\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\n\r\nvar Barcode = require(\"react-barcode\");\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing.unit,\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n input2: {\r\n width: \"100%\",\r\n padding: \"4px\",\r\n borderRadius: \"5px\",\r\n outline: \"none\",\r\n border: \"1px solid lightgrey\"\r\n },\r\n input: {\r\n height: 38\r\n },\r\n input3: {\r\n color: \"black !important\",\r\n height: 38\r\n },\r\n input1: {\r\n width: \"80%\",\r\n padding: \"6px\",\r\n borderRadius: \"5px\",\r\n outline: \"none\",\r\n border: \"1px solid lightgrey\",\r\n height: \"40px\",\r\n \"&:disabled\": {\r\n backgroundColor: \"white\"\r\n }\r\n },\r\n\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing.unit * 2,\r\n flexGrow: 1\r\n },\r\n root2: {\r\n ...theme.mixins.gutters(),\r\n paddingBottom: theme.spacing.unit * 1\r\n },\r\n paper: {\r\n padding: theme.spacing.unit * 2,\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: { width: \"100%\" },\r\n dense: {\r\n marginTop: 16\r\n },\r\n menu: {\r\n width: 200\r\n },\r\n tableHead: {\r\n fontWeight: 400,\r\n fontSize: 14,\r\n fontWeight: 500,\r\n fontSize: \"0.75rem\",\r\n color: \"rgba(0, 0, 0, 0.54)\"\r\n },\r\n tableRow: {\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n verticalAlign: \"middle\",\r\n fontWeight: 400,\r\n fontSize: \"0.8125rem\",\r\n color: \"rgba(0, 0, 0, 0.87)\"\r\n },\r\n progress: {\r\n color: \"#4b2e83\"\r\n },\r\n appBar: {\r\n position: \"relative\",\r\n backgroundColor: \"#4b2e83\"\r\n },\r\n title: {\r\n marginLeft: 10,\r\n flex: 1,\r\n color: \"white\"\r\n }\r\n});\r\n\r\nconst Transition = React.forwardRef(function Transition(props, ref) {\r\n return ;\r\n});\r\n\r\nclass Configure extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.map = null;\r\n this.lastKnownModified = \"\";\r\n this.state = {\r\n isSubmitting: false,\r\n created: \"2019-05-08 11:30:03.727\",\r\n modified: \"2019-05-010 09:15:02.233\",\r\n savebuttondisabled: this.props.savebtnstate,\r\n deletebuttondisabled: this.props.deletebtnstate,\r\n backbtnvisible: this.props.visiblebackbtn,\r\n isEditable: false,\r\n isDeleteAllowed: false,\r\n canRetireDevice: false,\r\n manufacturerData: [],\r\n modelData: [],\r\n typeData: [],\r\n flagData: [],\r\n EntityId: \"\",\r\n MacId: props.selectedAssetDetail.MacId,\r\n Manufacturer: \"\",\r\n DeviceType: \"\",\r\n DeviceModel: \"\",\r\n DisplayName: \"\",\r\n DeviceFlag: \"\",\r\n Description: \"\",\r\n DeviceStatus: \"\",\r\n manufacturerId: \"\",\r\n ExternalId: \"\",\r\n SerialNumber: \"\",\r\n data: [],\r\n hideMap: false,\r\n openAlert: false,\r\n actionType: \"\",\r\n openAddColection: false,\r\n openAddDepartment: false,\r\n collectiondata: [],\r\n showCollectionTable: true,\r\n selectedCollection: {},\r\n newCollection: \"\",\r\n newDepartment: \"\",\r\n departmentdata: [],\r\n deviceToDelete: {},\r\n loaded: false,\r\n message: \"\",\r\n orphanedDevices: [],\r\n showOrphanedList: false,\r\n showRemoveEntityButton: false,\r\n selectedCollType: \"\",\r\n meridiandata: [],\r\n Name: \"\",\r\n isNameChanged: false,\r\n isCurrentlySyncing: false,\r\n index: 0,\r\n tab: 0,\r\n currentZone: \"\",\r\n isFullScreen: false,\r\n searchText: \"\"\r\n };\r\n }\r\n\r\n inputChange = name => e => {\r\n const value = e.target.value;\r\n this.setState(\r\n {\r\n [name]: value\r\n },\r\n () => {\r\n if (name === \"Manufacturer\") {\r\n let id = \"\";\r\n for (let i = 0; i < this.state.manufacturerData.length; i++) {\r\n if (this.state.manufacturerData[i].name === value) {\r\n id = this.state.manufacturerData[i].id;\r\n }\r\n }\r\n if (id === \"\") {\r\n this.setState({ modelData: [], DeviceModel: \"\" });\r\n }\r\n else\r\n this.fetchData(\"assetmodels\", id);\r\n\r\n this.setState({\r\n manufacturerId: id\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n handleAdd(name) {\r\n const that = this;\r\n if (name === \"Manufacturer\") {\r\n const { Manufacturer } = this.state;\r\n if (Manufacturer == \"\" || Manufacturer == null) {\r\n this.props.showMessageBox(\r\n \"Please select from list or add new Manufacturer\"\r\n );\r\n return;\r\n }\r\n\r\n apiRequest(`/masters/addmanufactures?name=${Manufacturer}`, \"post\")\r\n .then(x => {\r\n that.fetchData(\"manufactures\");\r\n if (x.status > 0) {\r\n that.setState({\r\n manufacturerId: x.data[0]\r\n });\r\n }\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n } else if (name === \"Model\") {\r\n const { DeviceModel, manufacturerId, Manufacturer } = this.state;\r\n if (Manufacturer == \"\" || Manufacturer == null) {\r\n this.props.showMessageBox(\"Please select Manufacturer first\");\r\n return;\r\n }\r\n if (DeviceModel == \"\" || DeviceModel == null) {\r\n this.props.showMessageBox(\"Please select from list or add new Model\");\r\n return;\r\n }\r\n let id = manufacturerId;\r\n if (manufacturerId == \"\") {\r\n for (let i = 0; i < this.state.manufacturerData.length; i++) {\r\n if (this.state.manufacturerData[i].name === Manufacturer) {\r\n id = this.state.manufacturerData[i].id;\r\n }\r\n }\r\n }\r\n apiRequest(\r\n `/masters/addassetmodels?manfactureId=${id}&model=${DeviceModel}`,\r\n \"post\"\r\n )\r\n .then(x => {\r\n if (x.status > 0) that.fetchData(\"assetmodels\", manufacturerId);\r\n\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n } else if (name === \"Type\") {\r\n const { DeviceType } = this.state;\r\n if (DeviceType == \"\" || DeviceType == null) {\r\n this.props.showMessageBox(\"Please select from list or add new Type\");\r\n return;\r\n }\r\n apiRequest(`/masters/addassettypes?name=${DeviceType}`, \"post\")\r\n .then(x => {\r\n if (x.status > 0) that.fetchData(\"assettypes\");\r\n\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n }\r\n\r\n renderMap(mapID = this.state.meridiandata.map.id) {\r\n let isCurrent = this.state.index == 0 ? true : false;\r\n let point = !isCurrent ? [{\r\n type: \"point\",\r\n x: this.props.selectedAssetDetail.X,\r\n y: this.props.selectedAssetDetail.Y,\r\n // x: 100,\r\n // y: 100,\r\n backgroundColor: /*\"#c00\"*/\"none\",\r\n //size: 25,\r\n size: 100,\r\n backgroundImage: '/locationmarker.gif',\r\n title: \"Last Known\"\r\n }] : [];\r\n const that = this;\r\n const api = new MeridianSDK.API({\r\n environment: \"production\",\r\n token: token\r\n });\r\n let element = this.state.isFullScreen ? document.getElementById(\"meridian-map-full\") : document.getElementById(\"meridian-map\");\r\n this.map = MeridianSDK.createMap(\r\n element,//document.getElementById(\"meridian-map\"),\r\n {\r\n api: api,\r\n //locationID: that.props.selectedAssetDetail.MeridianLocationId,\r\n //floorID: that.props.selectedAssetDetail.MeridianMapId,\r\n //locationID: this.state.data.MeridianLocationId,\r\n //floorID: this.state.data.MeridianMapId,\r\n locationID: this.state.meridiandata.location || this.props.selectedAssetDetail.MeridianLocationId,\r\n floorID: mapID, //this.state.meridiandata.map.id,\r\n shouldMapPanZoom: function restrictedPanZoom(event) {\r\n if (event.type === \"wheel\" && !event.altKey) {\r\n return false;\r\n } else if (event.type === \"touchstart\") {\r\n return event.touches.length >= 2;\r\n }\r\n return true;\r\n },\r\n annotations: point,\r\n //height: \"500px\",\r\n height: this.state.isFullScreen ? \"calc(100vh - 145px)\" : \"500px\",\r\n placemarks: {\r\n labelZoomLevel: 0.1,\r\n filter: t => {\r\n return true;\r\n }\r\n },\r\n\r\n onPlacemarksUpdate: ({ allPlacemarks, filteredPlacemarks }) => {\r\n this.map.update({\r\n overlays: filteredPlacemarks\r\n .filter(placemark => placemark.area)\r\n .map((placemark, i) => {\r\n const hue = (i * (360 / 6)) % 360;\r\n return {\r\n type: \"polygon\",\r\n points: MeridianSDK.pointsFromArea(placemark.area),\r\n //points: [3032,629],\r\n fill: `hsla(${hue}, 100%, 60%, 0.3)`,\r\n stroke: `hsl(${hue}, 100%, 60%)`\r\n };\r\n })\r\n });\r\n },\r\n\r\n tags: {\r\n filter: function(tag) {\r\n return isCurrent && tag.mac === that.props.selectedAssetDetail.MacId;\r\n },\r\n updateInterval: 10000\r\n }\r\n }\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this.getOrphanDevices();\r\n let that = this;\r\n\r\n apiRequest(\r\n `/accesscontrol?resourceType=tag&resourceId=${\r\n that.props.selectedAssetDetail.MacId\r\n }`,\r\n \"get\"\r\n )\r\n .then(x => {\r\n if (x.data[0] == 500 || x.data[0] == 700) {\r\n this.setState({\r\n isDeleteAllowed: true,\r\n canRetireDevice: true,\r\n isEditable: true\r\n });\r\n } else if (x.data[0] == 300) {\r\n this.setState({\r\n isDeleteAllowed: false,\r\n canRetireDevice: false,\r\n isEditable: true\r\n });\r\n } else {\r\n this.setState({\r\n isDeleteAllowed: false,\r\n canRetireDevice: false,\r\n isEditable: false\r\n });\r\n }\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n });\r\n\r\n if (\r\n !that.props.selectedAssetDetail.MeridianLocationId ||\r\n !that.props.selectedAssetDetail.MeridianMapId\r\n ) {\r\n that.setState({\r\n hideMap: true\r\n });\r\n } else {\r\n //meridian get\r\n //if (that.props.selectedAssetDetail.DeviceFlag !== \"NOT_TRACEABLE\")\r\n that.getAssetFromMeridian(that.props.selectedAssetDetail.MeridianLocationId,that.props.selectedAssetDetail.MacId);\r\n // var url = `https://edit.meridianapps.com/api/locations/${that.props.selectedAssetDetail.MeridianLocationId}/asset-beacons/` + that.props.selectedAssetDetail.MacId;\r\n // fetch(url, getOption())\r\n // .then(response => {\r\n // if (response.ok) {\r\n // return response.json();\r\n // } else {\r\n // this.setState({ hideMap: true });\r\n // }\r\n // })\r\n // .then(data => {\r\n // if (data && data.location && data.map.id) {\r\n // console.log(\"meridiandata\", data);\r\n // var date = new Date();\r\n // var strDate =\r\n // date.getFullYear() + \"-\" + (\"00\" + (date.getMonth() + 1)).slice(-2)\r\n // + \"-\" + (\"00\" + date.getDate()).slice(-2)\r\n // + \" \"\r\n // + (\"00\" + date.getHours()).slice(-2) + \":\"\r\n // + (\"00\" + date.getMinutes()).slice(-2)\r\n // + \":\" + (\"00\" + date.getSeconds()).slice(-2);\r\n // that.setState(\r\n // {\r\n // hideMap: false,\r\n // meridiandata: data,\r\n // syncTime: strDate,\r\n // },\r\n // () => {\r\n // setTimeout(() => {\r\n // this.renderMap();\r\n // }, 1000);\r\n // }\r\n // );\r\n // }\r\n // else {\r\n // this.setState({ hideMap: true, syncTime: \"Error has occured\" });\r\n // }\r\n // })\r\n // .catch(err => {\r\n // console.log(err);\r\n // });\r\n }\r\n }\r\n getAssetFromMeridian(locationId, assetId) {\r\n //meridian get\r\n var url = `https://edit.meridianapps.com/api/locations/${locationId}/asset-beacons/` + assetId;\r\n fetch(url, getOption())\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json();\r\n } else {\r\n //console.log(\"meridiandata-not ok\");\r\n this.setState({ hideMap: true });\r\n }\r\n })\r\n .then(data => {\r\n if (data /*&& data.location && data.map.id*/) {\r\n var modi = data.modified + \"Z\";\r\n var modi_date = new Date(modi);\r\n var date = new Date(data.last_heard * 1000);\r\n var strDate = formatDate(date);\r\n if (this.lastKnownModified == \"\")\r\n this.lastKnownModified = strDate;\r\n console.log(\"meridiandata\", data, strDate, formatDate(modi_date));\r\n // date.getFullYear() + \"-\" + (\"00\" + (date.getMonth() + 1)).slice(-2)\r\n // + \"-\" + (\"00\" + date.getDate()).slice(-2)\r\n // + \" \"\r\n // + (\"00\" + date.getHours()).slice(-2) + \":\"\r\n // + (\"00\" + date.getMinutes()).slice(-2)\r\n // + \":\" + (\"00\" + date.getSeconds()).slice(-2);\r\n\r\n //GET ZONE\r\n if (data.map.id) {\r\n let zoneUrl = `https://edit.meridianapps.com/api/locations/${locationId}/tag-zones?map_id=${data.map.id}`;\r\n //let zoneUrl = `https://edit.meridianapps.com/api/locations/${locationId}/tag-zones?tag_id=${this.props.selectedAssetDetail.MacId}`;\r\n fetch(zoneUrl, getOption())\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json();\r\n } else {\r\n //NO ZONE\r\n }\r\n })\r\n .then(data => {\r\n //this.setState({ zone: data });\r\n let isZoneFound = false;\r\n data.results.forEach(zone => {\r\n //console.log(\"currentZone\", zone);\r\n if (zone.tag_ids.includes(this.props.selectedAssetDetail.MacId)) {\r\n this.setState({ currentZone: zone.name });\r\n isZoneFound = true;\r\n return;\r\n }\r\n });\r\n if (!isZoneFound) {\r\n this.setState({ currentZone: \"No Zone\" });\r\n }\r\n })\r\n .catch(error => this.setState({ currentZone: \"Zone Error\" }))\r\n }\r\n\r\n this.setState(\r\n {\r\n hideMap: false,\r\n meridiandata: data,\r\n syncTime: strDate,\r\n isCurrentlySyncing: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n if (document.getElementById(\"meridian-map\"))\r\n this.renderMap();\r\n }, 1000);\r\n }\r\n );\r\n }\r\n else {\r\n this.setState({ hideMap: true, syncTime: \"Error has occured\" });\r\n }\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n handleBackButton = () => {\r\n this.props.data(\"false\");\r\n };\r\n\r\n handleChange = name => event => {\r\n this.setState(\r\n {\r\n [name]: event.target.value\r\n },\r\n () => {\r\n if (this.state.message != \"\" && name == \"newDepartment\") {\r\n this.setState({\r\n message: \"\"\r\n });\r\n }\r\n if (name === \"Manufacturer\") {\r\n let id = \"\";\r\n for (let i = 0; i < this.state.manufacturerData.length; i++) {\r\n if (this.state.manufacturerData[i].name === event.target.value) {\r\n id = this.state.manufacturerData[i].id;\r\n }\r\n }\r\n if (id === \"\")\r\n this.setState({ modelData: [], DeviceModel: \"\" });\r\n else\r\n this.fetchData(\"assetmodels\", id);\r\n }\r\n if (name === \"Name\") {\r\n this.setState({ isNameChanged: true });\r\n }\r\n }\r\n );\r\n\r\n this.setState({ savebuttondisabled: false });\r\n };\r\n\r\n componentWillMount() {\r\n this.props.getFlags();\r\n this.fetchData(\"manufactures\");\r\n this.fetchData(\"assettypes\");\r\n this.fetchAssetData();\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n if (this.map && !this.map.isDestroyed &&\r\n (this.state.tab !== nextState.tab || this.state.index !== nextState.index || this.state.isFullScreen !== nextState.isFullScreen || this.state.hideMap !== nextState.hideMap)\r\n ) {\r\n this.map.destroy();\r\n this.map = null;\r\n }\r\n return true;\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.map && !this.map.isDestroyed) {\r\n this.map.destroy();\r\n }\r\n }\r\n\r\n fetchData(dataType, id = \"\") {\r\n let url =\r\n dataType === \"assetmodels\"\r\n ? `/masters/${dataType}/${id}`\r\n : `/masters/${dataType}`;\r\n\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n // create an array of contacts only with relevant data\r\n const data = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n switch (dataType) {\r\n case \"manufactures\":\r\n this.setState(\r\n {\r\n manufacturerData: data.sort(byPropertyCalled(\"name\"))\r\n },\r\n () => {\r\n let id = \"\";\r\n let value = this.state.Manufacturer;\r\n\r\n for (let i = 0; i < this.state.manufacturerData.length; i++) {\r\n if (this.state.manufacturerData[i].name === value) {\r\n id = this.state.manufacturerData[i].id;\r\n }\r\n }\r\n if (id === \"\")\r\n this.setState({ modelData: [], DeviceModel: \"\" });\r\n else\r\n this.fetchData(\"assetmodels\", id);\r\n }\r\n );\r\n break;\r\n case \"assetmodels\":\r\n this.setState({\r\n modelData: data.sort(byPropertyCalled(\"name\"))\r\n });\r\n break;\r\n case \"assettypes\":\r\n this.setState({\r\n typeData: data.sort(byPropertyCalled(\"name\"))\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n saveChanges() {\r\n const {\r\n Manufacturer,\r\n DeviceType,\r\n DeviceModel,\r\n DisplayName,\r\n DeviceFlag,\r\n Description,\r\n ExternalId,\r\n SerialNumber,\r\n Name\r\n } = this.state;\r\n\r\n let data = {\r\n ...this.props.selectedAssetDetail,\r\n Manufacturer,\r\n DeviceType,\r\n DeviceModel,\r\n DisplayName,\r\n DeviceFlag,\r\n Description,\r\n ExternalId,\r\n SerialNumber,\r\n Name\r\n };\r\n const that = this;\r\n that.setState({\r\n isSubmitting: true,\r\n isEditable: false\r\n });\r\n apiRequest(`/assets/${that.props.selectedAssetDetail.MacId}`, \"put\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n this.props.getAsset();\r\n this.fetchAssetData();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n that.setState({\r\n isSubmitting: false,\r\n isEditable: true\r\n });\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n that.setState({\r\n isSubmitting: false,\r\n isEditable: true\r\n });\r\n });\r\n }\r\n\r\n saveData = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n\r\n console.log(\"namechange:\", this.state.isNameChanged);\r\n if (!this.state.isNameChanged) {\r\n this.saveChanges();\r\n }\r\n else {\r\n //Meridian Patch Rest api, if its ok, our db can be updated\r\n var meridianName = {name: this.state.Name};\r\n var options = getOption('patch');\r\n options.body = JSON.stringify(meridianName);\r\n console.log(\"opt\", options);\r\n this.setState({\r\n isSubmitting: true,\r\n isEditable: false\r\n });\r\n var url =`https://edit.meridianapps.com/api/locations/${this.props.selectedAssetDetail.MeridianLocationId}/asset-beacons/${this.props.selectedAssetDetail.MacId}`;\r\n fetch(url, options)\r\n .then(response => {\r\n if (response.ok) {\r\n //Save changes in our db\r\n this.saveChanges();\r\n } else {\r\n //no save\r\n this.props.showMessageBox(\"Meridian save was not successful, no changes were made\");\r\n }\r\n this.setState({\r\n isSubmitting: false,\r\n isEditable: true,\r\n isNameChanged: false\r\n });\r\n console.log(\"resp\", response);\r\n return response.json();\r\n })\r\n // .then(data => {\r\n // this.props.showMessageBox(data.detail)\r\n // return data;\r\n // })\r\n .catch(err => {\r\n console.log(\"errorResp:\", err);\r\n this.props.showMessageBox(\"Meridian ERROR\");\r\n this.setState({\r\n isSubmitting: false,\r\n isEditable: true,\r\n isNameChanged: false\r\n });\r\n });\r\n }\r\n };\r\n\r\n handleRemoveFromEntity = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n const that = this;\r\n const data = {\r\n entityId: that.state.EntityId,\r\n mac: [that.state.MacId]\r\n };\r\n\r\n apiRequest(`/assets/ownership`, \"delete\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n that.handleBackButton();\r\n that.props.getAsset();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.setState({\r\n isSubmitting: false,\r\n isEditable: true\r\n });\r\n });\r\n };\r\n\r\n handleRetire = () => {\r\n const that = this;\r\n that.setState({\r\n isSubmitting: true,\r\n isEditable: false\r\n });\r\n\r\n apiRequest(\r\n `/assets/RetireDevice/${that.props.selectedAssetDetail.MacId}`,\r\n \"post\"\r\n )\r\n .then(x => {\r\n that.setState({\r\n isSubmitting: false,\r\n isEditable: true\r\n });\r\n if (x.status > 0) {\r\n that.handleBackButton();\r\n that.props.getAsset();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.setState({\r\n isSubmitting: false,\r\n isEditable: true\r\n });\r\n });\r\n };\r\n\r\n handleDelete = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n const that = this;\r\n that.setState({\r\n isSubmitting: true,\r\n isEditable: false\r\n });\r\n\r\n apiRequest(`/assets/${that.props.selectedAssetDetail.MacId}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0) {\r\n that.handleBackButton();\r\n that.props.getAsset();\r\n }\r\n that.setState({\r\n isSubmitting: false,\r\n isEditable: true\r\n });\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.setState({\r\n isSubmitting: false,\r\n isEditable: true\r\n });\r\n });\r\n };\r\n\r\n componentWillReceiveProps({ deviceFlags, collections }) {\r\n this.setState({\r\n flagData: deviceFlags,\r\n collectiondata: collections\r\n });\r\n }\r\n\r\n handleScroll = () => {\r\n document.body.scrollTop = 0; // For Safari\r\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\r\n };\r\n\r\n fetchAssetData() {\r\n apiRequest(`/assets/${this.state.MacId}`, \"get\")\r\n .then(x => {\r\n this.setState(\r\n {\r\n data: x.data[0],\r\n EntityId: x.data[0].EntityId,\r\n MacId: x.data[0].MacId,\r\n Manufacturer: x.data[0].Manufacturer,\r\n DeviceType: x.data[0].DeviceType,\r\n DeviceModel: x.data[0].DeviceModel,\r\n DisplayName: x.data[0].DisplayName,\r\n DeviceFlag: x.data[0].DeviceFlag,\r\n Description: x.data[0].Description,\r\n DeviceStatus: x.data[0].DeviceStatus,\r\n ExternalId: x.data[0].ExternalId,\r\n SerialNumber: x.data[0].SerialNumber,\r\n Name: x.data[0].Name,\r\n loaded: true\r\n },\r\n () => {\r\n this.checkEntityAccess();\r\n if (x.data[0].EntityId) {\r\n apiRequest(\r\n `/entities/${x.data[0].EntityId}/locations/0/collections`,\r\n \"get\"\r\n )\r\n .then(res => {\r\n this.setState({\r\n departmentdata: res.data\r\n });\r\n })\r\n .catch(err => console.log(err));\r\n this.props.getCollection(x.data[0].EntityId);\r\n }\r\n let id = \"\";\r\n let value = this.state.Manufacturer;\r\n for (let i = 0; i < this.state.manufacturerData.length; i++) {\r\n if (this.state.manufacturerData[i].name === value) {\r\n id = this.state.manufacturerData[i].id;\r\n }\r\n }\r\n if (id === \"\")\r\n this.setState({ modelData: [], DeviceModel: \"\" });\r\n else\r\n this.fetchData(\"assetmodels\", id);\r\n }\r\n );\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n showCollection(coll_id) {\r\n this.setState({\r\n showCollectionTable: false\r\n });\r\n\r\n apiRequest(`/assetmaps/collections/${coll_id}`, \"get\")\r\n .then(response => {\r\n if (response.status > 0) {\r\n this.setState(\r\n {\r\n selectedCollection: response.data.length > 0 ? response.data : \"\"\r\n },\r\n () => {\r\n storeEntityId(response.data[0].EntityId);\r\n }\r\n );\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n addCollection = () => {\r\n if (this.state.newCollection == \"\") {\r\n this.props.showMessageBox(\"Please select Collection\");\r\n return;\r\n }\r\n for (let element of this.state.collectiondata) {\r\n if (element.name == this.state.newCollection) {\r\n const data = {\r\n mac: [this.state.data.MacId],\r\n CollectionId: element.id\r\n };\r\n apiRequest(\"/assetmaps\", \"post\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n this.fetchAssetData();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else {\r\n this.props.showMessageBox(x.message);\r\n }\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n return;\r\n }\r\n }\r\n\r\n const data = {\r\n EntityId: this.state.data.EntityId,\r\n CollectionName: this.state.newCollection,\r\n CollectionType: \"User Defined Collection\",\r\n Description: \"\",\r\n CollectionTypeId: 2\r\n };\r\n let method = \"post\";\r\n let url = `/entities/${this.state.data.EntityId}/locations/0/collections`;\r\n\r\n apiRequest(url, method, data)\r\n .then(x => {\r\n if (x.status == 0) {\r\n this.props.showMessageBox(x.message);\r\n return;\r\n }\r\n const data = {\r\n mac: [this.state.data.MacId],\r\n CollectionId: x.data[0]\r\n };\r\n apiRequest(\"/assetmaps\", \"post\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n this.fetchAssetData();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else {\r\n this.props.showMessageBox(x.message);\r\n }\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n addDepartment = () => {\r\n for (let element of this.state.departmentdata) {\r\n if (element.CollectionName == this.state.newDepartment) {\r\n const data = {\r\n mac: [this.state.data.MacId],\r\n CollectionId: element.CollectionId\r\n };\r\n apiRequest(\"/assetmaps\", \"post\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n this.fetchAssetData();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else {\r\n this.props.showMessageBox(x.message);\r\n }\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n return;\r\n }\r\n }\r\n\r\n this.setState({\r\n message:\r\n \"*Either the Department you are looking for does not exist or you don't have access to that department. Consult Organization admin.\"\r\n });\r\n };\r\n\r\n removeDeviceFromCollection = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n\r\n apiRequest(`/assetmaps`, \"delete\", {\r\n ids: [this.state.deviceToDelete.AssetMapId]\r\n })\r\n .then(x => {\r\n if (x.status > 0) {\r\n this.showCollection(this.state.deviceToDelete.CollectionId);\r\n }\r\n if (x.status > 0 && x.message == null)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else\r\n this.props.showMessageBox(x.message);\r\n })\r\n .catch(err => this.props.showMessageBox(\"ERROR\"));\r\n };\r\n\r\n handleReplace = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n apiRequest(\r\n `/assets/${this.state.data.MacId}/replace/${\r\n this.state.deviceToReplaceWith\r\n }`,\r\n \"post\"\r\n )\r\n .then(res => {\r\n if (res.status > 0) {\r\n this.setState(\r\n {\r\n MacId: this.state.deviceToReplaceWith\r\n },\r\n () => {\r\n this.fetchAssetData();\r\n }\r\n );\r\n this.props.getAsset();\r\n }\r\n\r\n this.setState({\r\n showOrphanedList: false\r\n });\r\n if (res.status == 0)\r\n this.props.showMessageBox(res.message);\r\n else\r\n this.props.showMessageBox(\"SUCCESS\");\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n getOrphanDevices = () => {\r\n apiRequest(`/assets/replace`, \"get\")\r\n .then(res => {\r\n this.setState({\r\n orphanedDevices: res.data\r\n });\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n handleClickOpen = () => {\r\n this.setState({\r\n showOrphanedList: true\r\n });\r\n };\r\n\r\n handleClose = () => {\r\n this.setState({\r\n showOrphanedList: false\r\n });\r\n };\r\n\r\n checkEntityAccess() {\r\n apiRequest(\r\n `/accesscontrol?resourceType=entity&resourceId=${this.state.EntityId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.data[0] == 700 || response.data[0] == 500) {\r\n this.setState({\r\n showRemoveEntityButton: true\r\n });\r\n } else {\r\n this.setState({\r\n showRemoveEntityButton: false\r\n });\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n filterOrphans(value) {\r\n if (this.state.searchText == \"\") {\r\n return true;\r\n }\r\n else {\r\n if (value.toLowerCase().includes(this.state.searchText.toLowerCase()))\r\n return true;\r\n return false;\r\n }\r\n }\r\n\r\n render() {\r\n console.log(\"propi\", this.props);\r\n console.log(\"rnr\", this.state.currentZone);\r\n let styles = [\r\n {\r\n cursor: \"pointer\",\r\n color: \"#4b2e83\",\r\n textAlign: \"center\",\r\n borderBottom: \"2px solid #4b2e83\",\r\n },\r\n {\r\n cursor: \"pointer\",\r\n color: \"lightgrey\",\r\n textAlign: \"center\",\r\n borderBottom: \"2px solid lightgrey\",\r\n }\r\n ,];\r\n const { classes } = this.props;\r\n const {\r\n EntityId,\r\n EntityName,\r\n LocationId,\r\n LocationName,\r\n CollectionId,\r\n CollectionName,\r\n DeviceId,\r\n MacId,\r\n Name,\r\n DisplayName,\r\n Description,\r\n TagCode,\r\n DeviceFlag,\r\n BatteryLevel,\r\n FloorLabel,\r\n FloorNumber,\r\n Manufacturer,\r\n DeviceType,\r\n DeviceModel,\r\n DeviceStatus,\r\n IsActive,\r\n ImageUrl,\r\n MeridianBuildingName,\r\n ExternalId,\r\n SerialNumber\r\n } = this.state.data;\r\n\r\n const {\r\n manufacturerData,\r\n modelData,\r\n typeData,\r\n collectiondata,\r\n selectedCollection,\r\n orphanedDevices,\r\n showOrphanedList\r\n } = this.state;\r\n\r\n const dept = this.state.data.Collections\r\n ? this.state.data.Collections.filter(\r\n item => item.CollectionType == \"Department\"\r\n )\r\n : \"\";\r\n\r\n const date = new Date(`${this.props.lastSync}Z`);\r\n var lastKnownSync = formatDate(date);\r\n\r\n return (\r\n \r\n {this.state.loaded ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Select Device to Replace with\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n className: classes.input,\r\n }}\r\n onChange={evt => this.setState({ searchText: evt.target.value })}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n IMAGE\r\n DEVICE NAME\r\n {/* DISPLAY NAME */}\r\n ACTION\r\n \r\n \r\n \r\n {orphanedDevices.filter(d => this.filterOrphans(d.Name)).map((item) => (\r\n \r\n \r\n \r\n \r\n {item.Name}\r\n {/* {item.DisplayName} */}\r\n \r\n {\r\n this.setState({\r\n actionType: \"REPLACE\",\r\n openAlert: true,\r\n deviceToReplaceWith: item.MacId,\r\n });\r\n }}\r\n >\r\n REPLACE\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n\r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n\r\n \r\n \r\n {\r\n if (this.state.tab != 0) {\r\n //if return from Asset History\r\n this.setState({ tab: 0 }, () => {\r\n if (this.props.selectedAssetDetail.MeridianMapId && document.getElementById(\"meridian-map\")) {\r\n this.renderMap(this.props.selectedAssetDetail.MeridianMapId);\r\n }\r\n else if (this.props.selectedAssetDetail.MeridianMapId && document.getElementById(\"meridian-map-full\")) {\r\n this.renderMap(this.props.selectedAssetDetail.MeridianMapId);\r\n }\r\n });\r\n }\r\n }}\r\n style={this.state.tab == 0 ? styles[0] : styles[1]}\r\n >\r\n
Asset Detail
\r\n
\r\n \r\n \r\n this.setState({ tab: 1 })}\r\n style={this.state.tab == 0 ? styles[1] : styles[0]}\r\n >\r\n
Asset History
\r\n \r\n
\r\n \r\n\r\n {/* Asset History */}\r\n {this.state.tab == 1 ? (\r\n \r\n ) : (\r\n \r\n {this.state.backbtnvisible && (\r\n
\r\n \r\n \r\n \r\n Back\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { entities, collections, locations, assets, deviceFlags } = state;\r\n return {\r\n entities,\r\n collections,\r\n locations,\r\n assets,\r\n deviceFlags\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getEntities: () => getEntity(dispatch),\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locationId) => getCollections(dispatch, entityId, locationId),\r\n getAsset: () => getAssets(dispatch),\r\n getFlags: () => getDeviceFlags(dispatch),\r\n resetData: () => dispatch(cleanData()),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(Configure);\r\n","import React from \"react\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\n\r\n\r\nexport default class PopUp extends React.Component {\r\n// constructor(props) {\r\n// super(props);\r\n// this.state = {\r\n// open: props.open\r\n// };\r\n// }\r\n\r\n// componentWillReceiveProps({ open }) {\r\n// this.setState({\r\n// open\r\n// });\r\n// }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n {this.props.children}\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Assign\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport PaginationActions from \"./PaginationActions\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport Badge from \"@material-ui/core/Badge\";\r\nimport FilterListIcon from \"@material-ui/icons/FilterList\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Filters from \"./Filters.jsx\";\r\nimport Page2Map from \"./Page2Map.jsx\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport Configure from \"./Configure.jsx\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport MapIcon from \"@material-ui/icons/Map\";\r\nimport CloseIcon from \"@material-ui/icons/HighlightOff\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { getAssets, showMessage } from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router\";\r\nimport { apiRequest, getOption, atLastPageScrollToTop, defaultImage, isPortalAdmin, getAccess, getAccessSorted, byName, formatDate } from \"../utils/Utils\";\r\nimport device_image from \"../images/noimage.png\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { PFContext } from \"./PrimaryFilterContext\";\r\nimport Moment from 'react-moment';\r\nimport momentTimezone from \"moment-timezone\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport Open from \"@material-ui/icons/OpenInNew\";\r\nimport Close from \"@material-ui/icons/CancelPresentation\";\r\nimport SvgIcon from '@material-ui/core/SvgIcon';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport ViewColumnOutlined from \"@material-ui/icons/ViewColumnOutlined\";\r\nimport LocalOfferOutlined from \"@material-ui/icons/LocalOfferOutlined\";\r\nimport CollectionsBookmarkOutlined from \"@material-ui/icons/CollectionsBookmarkOutlined\";\r\nimport classNames from \"classnames\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport PopUp from \"./PopUp\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport SaveIcon from \"@material-ui/icons/SaveAlt\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport Down from \"@material-ui/icons/KeyboardArrowDown\";\r\nimport Up from \"@material-ui/icons/KeyboardArrowUp\";\r\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\r\nimport { CSVLink } from \"react-csv\";\r\n\r\nlet isCheckBoxColumnActive = false;\r\n\r\nfunction getCookie(name) {\r\n var match = document.cookie.match(new RegExp('(^| )table=([^;]+)'));\r\n if (match) {\r\n let ob = JSON.parse(match[2]);\r\n if (ob) {\r\n //return ob.find(i => i.id == name).isActive;\r\n let column = ob.find(i => i.id == name);\r\n return column ? column.isActive : false;\r\n }\r\n //return (match[2]) == 1 ? true : false;\r\n return true;\r\n } else {\r\n return (name == \"LocationName\" || name == \"DeviceImage\" || name == \"Timestamp\" || name == \"MeridianCreated\" || name == \"MeridianModified\" || name == \"FirstAssignment\") ? false : true\r\n }\r\n}\r\n\r\nfunction desc(a, b, orderBy) {\r\n let cmpa = \"\";\r\n let cmpb = \"\";\r\n if (orderBy == \"Labels\" || orderBy == \"CollectionNames\") {\r\n cmpa = a[orderBy] ? a[orderBy].length : 0;\r\n cmpb = b[orderBy] ? b[orderBy].length : 0;\r\n } else {\r\n cmpa = a[orderBy] ? (!Number.isInteger(a[orderBy]) ? a[orderBy].toLowerCase() : a[orderBy]) : '';\r\n cmpb = b[orderBy] ? (!Number.isInteger(b[orderBy]) ? b[orderBy].toLowerCase() : b[orderBy]) : '';\r\n }\r\n if (cmpb < cmpa) {\r\n return -1;\r\n }\r\n if (cmpb > cmpa) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n //console.log(\"nah\", stabilizedThis.map(el => el[0]));\r\n return stabilizedThis.map(el => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return orderBy\r\n ? order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy)\r\n : (a, b) => 0;\r\n}\r\n\r\nlet defaultRows = [\r\n { id: \"map\", disablePadding: false, label: \"MAP\", isActive: true, isFixed: true, export: false },\r\n { id: \"DeviceImage\", disablePadding: true, label: \"IMAGE\", isActive: false, isFixed: false, export: false },\r\n { id: \"Name\", disablePadding: false, label: \"DEVICE NAME\", isActive: true, isFixed: true, export: true },\r\n { id: \"EntityName\", disablePadding: false, label: \"ORGANIZATION\", isActive: true, isFixed: false, export: true },\r\n { id: \"LocationName\", disablePadding: false, label: \"ASSIGNED CAMPUS\", isActive: true, isFixed: false, export: true },\r\n { id: \"MeridianBuildingName\", disablePadding: false, label: \"CURRENT CAMPUS\", isActive: true, isFixed: false, export: true },\r\n { id: \"FloorNumber\", disablePadding: false, label: \"FLOOR\", isActive: true, isFixed: false, export: true },\r\n { id: \"ZoneName\", disablePadding: false, label: \"ZONE\", isActive: true, isFixed: false, export: true },\r\n { id: \"Manufacturer\", disablePadding: false, label: \"MANUFACTURER\", isActive: true, isFixed: false, export: true },\r\n { id: \"DeviceModel\", disablePadding: false, label: \"MODEL\", isActive: true, isFixed: false, export: true },\r\n { id: \"DeviceType\", disablePadding: false, label: \"TYPE\", isActive: true, isFixed: false, export: true },\r\n { id: \"CollectionNames\", disablePadding: false, label: \"COLLECTION\", isActive: true, isFixed: false, export: true, format(o, v, p = \"\") { return o.CollectionName; } },\r\n { id: \"DepartmentName\", disablePadding: false, label: \"DEPARTMENT\", isActive: true, isFixed: false, export: true },\r\n { id: \"Labels\", disablePadding: false, label: \"LABELS\", isActive: true, isFixed: false, export: true, format(o, v, p = \"\") { return v ? v.map(l => l.name).join() : \"\"; } },\r\n { id: \"DeviceFlag\", disablePadding: false, label: \"DEVICE FLAG\", isActive: true, isFixed: false, export: true, format(o, v, p = \"\") { return v == \"NOT_MAPPED\" ? \"NO DEPARTMENT\" : v; } },\r\n { id: \"BatteryLevel\", disablePadding: false, label: \"BATTERY LEVEL\", isActive: true, isFixed: false, export: true, format(o, v, p = \"\") { return v > 100 ? \"Unknown\" : v + \"%\"; } },\r\n { id: \"Timestamp\", disablePadding: false, label: \"LAST KNOWN\", isActive: false, isFixed: false, export: true, format(o, v, p = \"\") { return v ? p + formatDate(new Date(v*1000)) : \"\"; } },\r\n { id: \"MeridianCreated\", disablePadding: false, label: \"CREATED\", isActive: false, isFixed: false, export: true, format(o, v, p = \"\") { return v ? p + formatDate(new Date(v + \"Z\")) : \"\"; } },\r\n { id: \"MeridianModified\", disablePadding: false, label: \"MODIFIED\", isActive: false, isFixed: false, export: true, format(o, v, p = \"\") { return v ? p + formatDate(new Date(v + \"Z\")) : \"\"; } },\r\n { id: \"FirstAssignment\", disablePadding: false, label: \"ASSET ASSIGNMENT\", isActive: false, isFixed: false, export: true, format(o, v, p = \"\") { return p + v; } },\r\n { id: \"MacId\", disablePadding: false, label: \"MAC ADDRESS\", isActive: true, isFixed: true, export: true },\r\n { id: \"TagCode\", disablePadding: false, label: \"TAG CODE\", isActive: false, isFixed: false, export: true, format(o, v, p = \"\") { return p + v; } },\r\n];\r\nlet rows = defaultRows.map(v => ({ ...v }));\r\n//let dict = {\r\n// \"map\": \"MAP\",\r\n// \"DeviceImage\": \"IMAGE\",\r\n// \"Name\": \"DEVICE NAME\",\r\n// \"EntityName\": \"ORGANIZATION\",\r\n// \"LocationName\": \"ASSIGNED CAMPUS\",\r\n// \"MeridianBuildingName\": \"CURRENT CAMPUS\",\r\n// \"FloorNumber\": \"FLOOR\",\r\n// \"ZoneName\": \"ZONE\",\r\n// \"Manufacturer\": \"MANUFACTURER\",\r\n// \"DeviceModel\": \"MODEL\",\r\n// \"DeviceType\": \"TYPE\",\r\n// \"CollectionNames\": \"COLLECTION\",\r\n// \"DepartmentName\": \"DEPARTMENT\",\r\n// \"Labels\": \"LABELS\",\r\n// \"DeviceFlag\": \"DEVICE FLAG\",\r\n// \"BatteryLevel\": \"BATTERY LEVEL\",\r\n// \"Timestamp\": \"LAST KNOWN\",\r\n// \"MeridianCreated\": \"CREATED\",\r\n// \"MeridianModified\": \"MODIFIED\",\r\n// \"FirstAssignment\": \"ASSET ASSIGNMENT\",\r\n// \"MacId\": \"MAC ADDRESS\",\r\n// \"TagCode\": \"TAG CODE\"\r\n//};\r\nlet dict = defaultRows.reduce((a, v) => ({ ...a, [v.id]: v}), {});\r\nvar match = document.cookie.match(new RegExp('(^| )table=([^;]+)'));\r\nif (match) {\r\n let arrayFromCookie = JSON.parse(match[2]);\r\n if (arrayFromCookie) {\r\n //rows = arrayFromCookie.map(itm => (\r\n // {\r\n // id: itm.id,\r\n // disablePadding: itm.id == \"DeviceImage\" ? true : false,\r\n // label: dict[itm.id],\r\n // isActive: itm.isActive,\r\n // isFixed: (itm.id == \"map\" || itm.id == \"Name\" || itm.id == \"MacId\") ? true : false\r\n // }\r\n //));\r\n rows = arrayFromCookie.map(itm => ({ ...dict[itm.id], isActive: itm.isActive }));\r\n }\r\n}\r\n\r\nlet before = \"\";\r\nlet pos = \"\";\r\n\r\nconst ColumnFilter = (props) => {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [checked, setChecked] = React.useState(false);\r\n const handleCheck = id => (event) => {\r\n //console.log(\"nyah\", event, id);\r\n let r = rows.find(row => row.id == id);\r\n r.isActive = !r.isActive;\r\n saveInCookie();\r\n setChecked(!checked);\r\n props.onChange();\r\n };\r\n const open = Boolean(anchorEl);\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n const [isOrderChanged, setOrder] = React.useState(0);\r\n const setOrderMain = () => {\r\n setOrder(isOrderChanged + 1);\r\n saveInCookie();\r\n props.onChange();\r\n }\r\n const [search, setSearch] = React.useState(\"\");\r\n let styles = [\r\n {\r\n cursor: \"pointer\",\r\n color: \"#4b2e83\",\r\n textAlign: \"center\",\r\n borderBottom: \"2px solid #4b2e83\",\r\n },\r\n {\r\n cursor: \"pointer\",\r\n color: \"lightgrey\",\r\n textAlign: \"center\",\r\n borderBottom: \"2px solid lightgrey\",\r\n }\r\n ];\r\n const [tab, setTab] = React.useState(0);\r\n let firstActive = rows.findIndex(e => e.isActive);\r\n let lastActive = rows.findLastIndex(e => e.isActive);\r\n const saveInCookie = () => {\r\n var today = new Date();\r\n var expiry = new Date(today.getTime() + 30 * 24 * 3600 * 1000); // plus 30 days\r\n let kv = JSON.stringify(rows.map(obj => ({ id: obj.id, isActive: obj.isActive })));\r\n document.cookie = \"table=\" + kv + \"; path=/; expires=\" + expiry.toGMTString();\r\n }\r\n return (\r\n \r\n {/*
*/}\r\n \r\n \r\n \r\n \r\n \r\n {/*
*/}\r\n \r\n \r\n \r\n setTab(0)}\r\n >\r\n
Select Columns
\r\n \r\n
\r\n \r\n setTab(1)}\r\n style={tab == 0 ? styles[1] : styles[0]}\r\n >\r\n
Order Columns
\r\n \r\n
\r\n \r\n
\r\n {tab == 0 &&
\r\n
\r\n {\r\n var today = new Date();\r\n var expired = new Date(today.getTime() - 24 * 3600 * 1000); // less 24 hours\r\n document.cookie = \"table=null; path=/; expires=\" + expired.toGMTString();\r\n //rows = [\r\n // { id: \"map\", disablePadding: false, label: \"MAP\", isActive: true, isFixed: true },\r\n // { id: \"DeviceImage\", disablePadding: true, label: \"IMAGE\", isActive: false, isFixed: false },\r\n // { id: \"Name\", disablePadding: false, label: \"DEVICE NAME\", isActive: true, isFixed: true },\r\n // { id: \"EntityName\", disablePadding: false, label: \"ORGANIZATION\", isActive: true, isFixed: false },\r\n // { id: \"LocationName\", disablePadding: false, label: \"ASSIGNED CAMPUS\", isActive: false, isFixed: false },\r\n // { id: \"MeridianBuildingName\", disablePadding: false, label: \"CURRENT CAMPUS\", isActive: true, isFixed: false },\r\n // { id: \"FloorNumber\", disablePadding: false, label: \"FLOOR\", isActive: true, isFixed: false },\r\n // { id: \"ZoneName\", disablePadding: false, label: \"ZONE\", isActive: true, isFixed: false },\r\n // { id: \"Manufacturer\", disablePadding: false, label: \"MANUFACTURER\", isActive: true, isFixed: false },\r\n // { id: \"DeviceModel\", disablePadding: false, label: \"MODEL\", isActive: true, isFixed: false },\r\n // { id: \"DeviceType\", disablePadding: false, label: \"TYPE\", isActive: true, isFixed: false },\r\n // { id: \"CollectionNames\", disablePadding: false, label: \"COLLECTION\", isActive: true, isFixed: false },\r\n // { id: \"DepartmentName\", disablePadding: false, label: \"DEPARTMENT\", isActive: true, isFixed: false },\r\n // { id: \"Labels\", disablePadding: false, label: \"LABELS\", isActive: true, isFixed: false },\r\n // { id: \"DeviceFlag\", disablePadding: false, label: \"DEVICE FLAG\", isActive: true, isFixed: false },\r\n // { id: \"BatteryLevel\", disablePadding: false, label: \"BATTERY LEVEL\", isActive: true, isFixed: false },\r\n // { id: \"Timestamp\", disablePadding: false, label: \"LAST KNOWN\", isActive: false, isFixed: false },\r\n // { id: \"MeridianCreated\", disablePadding: false, label: \"CREATED\", isActive: false, isFixed: false },\r\n // { id: \"MeridianModified\", disablePadding: false, label: \"MODIFIED\", isActive: false, isFixed: false },\r\n // { id: \"FirstAssignment\", disablePadding: false, label: \"ASSET ASSIGNMENT\", isActive: false, isFixed: false },\r\n // { id: \"MacId\", disablePadding: false, label: \"MAC ADDRESS\", isActive: true, isFixed: true },\r\n // { id: \"TagCode\", disablePadding: false, label: \"TAG CODE\", isActive: false, isFixed: false },\r\n //];\r\n rows = defaultRows.map(v => ({ ...v }));\r\n props.onChange();\r\n }}>\r\n Restore Default View\r\n \r\n
\r\n \r\n \r\n \r\n ),\r\n //className: classes.input,\r\n }}\r\n onChange={e => setSearch(e.target.value)}\r\n />\r\n {rows\r\n .filter(r => search != \"\" ? r.label.toLocaleLowerCase().includes(search.toLocaleLowerCase()) : true)\r\n .map((row, idx) =>\r\n
\r\n \r\n {row.label}\r\n
)\r\n }\r\n
}\r\n {tab == 1 &&
\r\n {\r\n if (!result.destination) {\r\n return;\r\n }\r\n const [removed] = rows.splice(result.source.index, 1);\r\n rows.splice(result.destination.index, 0, removed);\r\n setOrderMain();\r\n }}\r\n >\r\n \r\n {(provided) =>\r\n \r\n {rows\r\n .map((row, idx) =>\r\n \r\n {(provided, snapshot) =>\r\n \r\n \r\n \r\n \r\n {row.label}\r\n \r\n \r\n {\r\n let prevIndex = idx - 1;\r\n while (rows[prevIndex].isActive == false) {\r\n prevIndex--;\r\n }\r\n rows[prevIndex] = rows.splice(idx, 1, rows[prevIndex])[0];\r\n setOrderMain();\r\n }}\r\n >\r\n \r\n \r\n {\r\n let nextIndex = idx + 1;\r\n while (rows[nextIndex].isActive == false) {\r\n nextIndex++;\r\n }\r\n rows[idx] = rows.splice(nextIndex, 1, rows[idx])[0];\r\n setOrderMain();\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n )\r\n }\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\n//export class CSVExport extends React.PureComponent {\r\nexport class CSVExport extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.oldProps = {};\r\n this.oldState = {};\r\n this.state = {\r\n update: false\r\n };\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n return !(nextState === this.state && nextProps.columns === this.props.columns && nextProps.data === this.props.data && nextProps.filename === this.props.filename && nextProps.disabled === this.props.disabled);\r\n }\r\n\r\n //componentDidMount() {\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.state !== prevState)\r\n document.getElementById(\"csvlink\").click();\r\n }\r\n\r\n getCsvData = () => {\r\n this.setState({ update: true });\r\n return false;\r\n };\r\n\r\n render() {\r\n //console.log(\"csvr\", this.props === this.oldProps, this.state === this.oldState);\r\n if (this.props !== this.oldProps) {\r\n const propNames = Object.getOwnPropertyNames(this.props);\r\n //propNames.forEach(p => console.log(\"csvrProp\", p, this.props[p] === this.oldProps[p]));\r\n }\r\n if (this.state !== this.oldState) {\r\n const propNames = Object.getOwnPropertyNames(this.state);\r\n //propNames.forEach(p => console.log(\"csvrStat\", p, this.state[p] === this.oldState[p]));\r\n }\r\n\r\n let csvData = [];\r\n if (this.state !== this.oldState) {\r\n let csvColumns = this.props.columns.filter(r => r.isActive && r.export);\r\n csvData.push(csvColumns.map(r => r.label));\r\n this.props.data.forEach(n => csvData.push(csvColumns.map(r => r.format ? r.format(n, n[r.id], \"\\t\") : n[r.id])));\r\n }\r\n this.oldProps = this.props;\r\n this.oldState = this.state;\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n\r\nclass AssignPopUp extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n manufacturerObject: null,\r\n modelObject: null,\r\n typeObject: null,\r\n manufacturerData: [],\r\n modelData: [],\r\n typeData: []\r\n };\r\n }\r\n\r\n //componentDidMount() {\r\n componentWillReceiveProps({ open }) {\r\n if (!this.props.open && open) {\r\n this.fetchData(\"manufactures\");\r\n this.fetchData(\"assettypes\");\r\n }\r\n }\r\n\r\n fetchData(dataType, id = \"\") {\r\n let url =\r\n dataType === \"assetmodels\"\r\n ? `/masters/${dataType}/${id}`\r\n : `/masters/${dataType}`;\r\n\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n const data = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n switch (dataType) {\r\n case \"manufactures\":\r\n this.setState({\r\n manufacturerData: data.sort(byName)\r\n });\r\n break;\r\n case \"assetmodels\":\r\n this.setState({\r\n modelData: data.sort(byName)\r\n });\r\n break;\r\n case \"assettypes\":\r\n this.setState({\r\n typeData: data.sort(byName)\r\n });\r\n break;\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n handleAssign = () => {\r\n const data = {\r\n mac: this.props.selected,\r\n manufacturer: this.state.manufacturerObject ? this.state.manufacturerObject.name : \"\",\r\n model: this.state.modelObject ? this.state.modelObject.name : \"\",\r\n type: this.state.typeObject ? this.state.typeObject.name : \"\"\r\n };\r\n apiRequest(\"/assets\", \"put\", data)\r\n .then(x => {\r\n if (x.status > 0)\r\n //this.setState({ update: false }, () => this.props.getAsset());\r\n this.props.onAssigned();\r\n if (x.status > 0 && x.message == null)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else\r\n this.props.showMessageBox(x.message);\r\n this.props.onClose();\r\n })\r\n .catch(err => {\r\n console.log(\"error:\", err);\r\n this.props.onClose();\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n\r\n render() {\r\n const { classes, selected } = this.props;\r\n return (\r\n \r\n
\r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={(evt, obj) => {\r\n if (obj == null) {\r\n this.setState({ manufacturerObject: obj, modelObject: obj, modelData: [] });\r\n } else {\r\n this.setState({ manufacturerObject: obj, modelObject: null }, () => {\r\n if (obj)\r\n this.fetchData(\"assetmodels\", obj.id);\r\n });\r\n }\r\n }}\r\n renderOption={(option) => (\r\n
{option.name}
\r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={(evt, obj) => this.setState({ modelObject: obj })}\r\n renderOption={(option) => (\r\n
{option.name}
\r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={(evt, obj) => this.setState({ typeObject: obj })}\r\n renderOption={(option) => (\r\n
{option.name}
\r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n {/* this.setState({ manufacturer: v.target.value }, () => this.fetchData(\"assetmodels\", v.target.value.id))}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n }\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.state.manufacturerData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n this.setState({ model: v.target.value })}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n }\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.state.modelData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n this.setState({ type: v.target.value })}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n }\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.state.typeData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst sty = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n marginBottom: theme.spacing(2),\r\n },\r\n // rootcheckbox: {\r\n // color: \"#4b2e83\",\r\n // \"&$checked\": {\r\n // color: \"#4b2e83\"\r\n // }\r\n // },\r\n // table: {\r\n // minWidth: 50\r\n // },\r\n // tableWrapper: {\r\n // overflowX: \"auto\"\r\n // },\r\n button: {\r\n color: \"#4b2e83\",\r\n height: \"40px\",\r\n width: \"100%\",\r\n padding: \"0px !important\"\r\n },\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n textField: { width: \"100%\", margin: \"0px !important\" }\r\n});\r\n\r\nexport const AssignPopUpwithStyle = withStyles(sty)(AssignPopUp)\r\n\r\nclass EnhancedTableHead extends React.Component {\r\n createSortHandler = property => event => {\r\n let scroll = document.getElementById(\"tableScroll\");\r\n let tr = document.getElementById(\"headerRow\");\r\n let length = 0;\r\n let i = 0;\r\n while (tr.childNodes[i].id != property) {\r\n length += tr.childNodes[i].offsetWidth;\r\n i++;\r\n }\r\n //console.log(\"what- before\", length, scroll.scrollLeft, scroll.scrollWidth);\r\n //Save position\r\n before = length;\r\n pos = scroll.scrollLeft;\r\n //////////\r\n this.props.onRequestSort(event, property);\r\n };\r\n\r\n render() {\r\n const {\r\n handleSelectAllClick,\r\n order,\r\n orderBy,\r\n numSelected,\r\n rowCount\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n {isCheckBoxColumnActive && (\r\n \r\n 0 && numSelected < rowCount}\r\n checked={numSelected > 0 && numSelected === rowCount}\r\n color=\"primary\"\r\n onChange={handleSelectAllClick}\r\n />\r\n Select all\r\n \r\n )}\r\n {rows.filter(r => r.isActive).map(\r\n row => (\r\n \r\n {(row.id != 'map' && row.id != 'DeviceImage') ? (\r\n \r\n \r\n {row.label}\r\n \r\n \r\n ) : (\r\n row.label\r\n )}\r\n \r\n ),\r\n this\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nEnhancedTableHead.propTypes = {\r\n onRequestSort: PropTypes.func.isRequired,\r\n numSelected: PropTypes.number.isRequired,\r\n order: PropTypes.string.isRequired,\r\n orderBy: PropTypes.string.isRequired,\r\n rowCount: PropTypes.number.isRequired\r\n};\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2)\r\n },\r\n root1: {\r\n width: \"100%\",\r\n marginTop: 5\r\n },\r\n table: {\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\",\r\n height: \"calc(100vh - 320px)\" //\"65vh\"\r\n },\r\n noPadding: {\r\n padding: 0\r\n },\r\n input: {\r\n height: 40,\r\n //padding: \"20px\"\r\n },\r\n progress: {\r\n color: \"#4b2e83\"\r\n }\r\n});\r\n\r\nclass EnhancedTable extends React.Component {\r\n static contextType = PFContext;\r\n constructor(props) {\r\n super(props);\r\n this.childDiv = React.createRef();\r\n this.wait = \"\";\r\n this.state = {\r\n mac: \"\",\r\n maptablebackground: \"white\",\r\n maptableborder: \"null\",\r\n savebtnstate: true,\r\n deletebtnstate: true,\r\n deviceid: \"0\",\r\n devicename: \"\",\r\n isFullScreen: false,\r\n isMapHidden: true,\r\n //isHidden: this.props.location && this.props.location.state && ( Object.keys(this.props.location.state).length > 1 || !this.props.location.state.hasOwnProperty(\"searchText\")) ? false : true,\r\n isHidden: sessionStorage.getItem(\"filter\") ? false : true,\r\n isHiddenDetails: true,\r\n openAssign: false,\r\n openDelete: false,\r\n deleteRadio: \"hard\",\r\n order: \"asc\",\r\n orderBy: \"\",\r\n selected: \"\",\r\n data: [],\r\n selectedAssetDetail: {},\r\n page: 0,\r\n rowsPerPage: 25,\r\n searchText: props.location.state && props.location.state.searchText ? props.location.state.searchText : \"\",\r\n haveNoAcess: false,\r\n showNoDeviceMsg: false,\r\n syncData: {},\r\n //isCheckBoxColumnActive: false,\r\n selectedAssets: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n apiRequest(\"/labels\", \"get\")\r\n .then(response => {\r\n this.setState({ labels: response.data }/*, () => console.log(\"labels\", this.state.labels)*/);\r\n });\r\n // this.getSyncData();\r\n\r\n // setInterval(() => {\r\n // this.getSyncData();\r\n // }, 120000);\r\n }\r\n\r\n /*componentDidMount() {\r\n apiRequest(`/accesscontrol`, \"get\").then(x => {\r\n if (x.data.length == 0) {\r\n this.props.history.push(\"/noaccess\");\r\n } else {\r\n if (this.props.location.search.includes(\"BATTERY\")) {\r\n if (this.props.location.search.includes(\"id\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.location.search.substring(\r\n 4,\r\n this.props.location.search.indexOf(\"&\")\r\n )}&battery_level_between=0,30`\r\n );\r\n } else {\r\n this.props.getAsset(`battery_level_between=0,30`);\r\n }\r\n } else if (this.props.location.search.includes(\"NOT_TRACEABLE\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.location.search.substring(\r\n 4,\r\n this.props.location.search.indexOf(\"&\")\r\n )}&device_flag=NOT_TRACEABLE`\r\n );\r\n } else if (this.props.location.search.includes(\"MISSING_SYNC\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.location.search.substring(\r\n 4,\r\n this.props.location.search.indexOf(\"&\")\r\n )}&device_flag=MISSING_SYNC`\r\n );\r\n } else if (this.props.location.search.includes(\"HEALTHY\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.location.search.substring(\r\n 4,\r\n this.props.location.search.indexOf(\"&\")\r\n )}&device_flag=HEALTHY`\r\n );\r\n } else if (this.props.location.search.includes(\"id\")) {\r\n this.props.getAsset(\r\n `entity_id=${this.props.location.search.substring(\r\n 4,\r\n this.props.location.search.indexOf(\"&\")\r\n )}`\r\n );\r\n } else {\r\n //this.props.getAsset();\r\n }\r\n }\r\n });\r\n }*/\r\n\r\n componentWillReceiveProps(prop) {\r\n const { assets, hideLoader } = prop;\r\n //console.log(\"hideLoader\", assets, hideLoader);\r\n if (window.x == 0)\r\n this.setState({\r\n isHiddenDetails: true\r\n });\r\n window.x = 1;\r\n //if (hideLoader && window.y != window.z) {\r\n if (hideLoader && this.props.assets !== assets) {\r\n //console.log(\"hide\");\r\n if (assets.length == 0) {\r\n this.setState({\r\n showNoDeviceMsg: true\r\n });\r\n }\r\n let access = isPortalAdmin ? null : getAccessSorted();\r\n let data = assets.map((n, i) => {\r\n if (n.EntityIds) {\r\n n.EntityIds = JSON.parse(\"[\" + n.EntityIds + \"]\");\r\n if (n.EntityId && !n.EntityIds.some(e => e === n.EntityId))\r\n n.EntityIds.push(n.EntityId);\r\n } else if (n.EntityId) {\r\n n.EntityIds = [ n.EntityId ];\r\n }\r\n if (n.CollectionIds) {\r\n n.CollectionIds = JSON.parse(\"[\" + n.CollectionIds + \"]\");\r\n }\r\n n.CollectionNames = null;\r\n if (n.CollectionName) {\r\n n.CollectionNames = n.CollectionName.split(\",\");\r\n }\r\n if (n.DeviceFlag == \"NOT_TRACEABLE\") {\r\n n.ZoneName = \"\";\r\n n.MeridianBuildingName = \"\";\r\n n.FloorNumber = \"\";\r\n }\r\n if (this.state.labels && this.state.labels.length > 0) {\r\n n.Labels = this.state.labels.filter(l => l.mac == n.MacId);\r\n }\r\n n.FirstAssignment = n.EntityId == null ? \"Unassigned\" : n.FirstAssignment ? formatDate(new Date(n.FirstAssignment + \"Z\")) : \"\";\r\n if (isPortalAdmin) {\r\n n.AccessLevel = 700;\r\n } else {\r\n let policy = null;\r\n if (n.EntityIds) {\r\n policy = access.find(item =>\r\n (n.EntityIds.some(e => e === item.entity_id) && item.location_id == null && item.collection_id == null) ||\r\n (n.LocationId && item.location_id === n.LocationId && (item.collection_id == null || item.collection_id === n.DepartmentId)) ||\r\n (n.CollectionIds && n.CollectionIds.some(c => c === item.collection_id))\r\n );\r\n }\r\n n.AccessLevel = policy == null ? 100 : policy.access_level;\r\n }\r\n return n;\r\n });\r\n if (this.state.searchText) {\r\n let search = this.state.searchText.toLowerCase();\r\n data = data.filter(d =>\r\n //Object.values(d).some(p => typeof p === 'string' && p.toLowerCase().includes(this.state.searchText.toLowerCase()))\r\n d.hasOwnProperty(\"Name\") && typeof d.Name === 'string' && d.Name.toLowerCase().includes(search) ||\r\n d.hasOwnProperty(\"TagCode\") && typeof d.TagCode === 'string' && d.TagCode.toLowerCase().includes(search) ||\r\n d.hasOwnProperty(\"MeridianBuildingName\") && typeof d.MeridianBuildingName === 'string' && d.MeridianBuildingName.toLowerCase().includes(search) ||\r\n d.hasOwnProperty(\"MacId\") && typeof d.MacId === 'string' && d.MacId.toLowerCase().includes(search) ||\r\n d.hasOwnProperty(\"Labels\") && d.Labels != null && d.Labels.some(l => l.name.toLowerCase().includes(search))\r\n )\r\n }\r\n data = stableSort(data, getSorting(this.state.order, this.state.orderBy));\r\n this.setState({\r\n // data: assets.map(n => {\r\n // if (n.DeviceFlag == \"NOT_TRACEABLE\") {\r\n // n.ZoneName = \"\";\r\n // n.MeridianBuildingName = \"\";\r\n // n.FloorNumber = \"\";\r\n // }\r\n // return n;\r\n // }),\r\n data: data,\r\n page: 0,\r\n showNoDeviceMsg: data.length == 0 ? true : this.state.showNoDeviceMsg\r\n });\r\n }\r\n }\r\n\r\n toggleHidden() {\r\n this.setState({\r\n isHidden: !this.state.isHidden\r\n });\r\n }\r\n\r\n handleScroll = () => {\r\n const { index, selected } = this.props;\r\n if (index === selected) {\r\n const that = this;\r\n\r\n that.childDiv.current.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"start\"\r\n });\r\n }\r\n };\r\n\r\n MapHidden(value, macid, name, hidden, locid, floorid) {\r\n // this.setState({\r\n // deviceid: value,\r\n // selectedmacid: macid,\r\n // selectedLocationId: locid,\r\n // selectedFloorId: floorid\r\n // });\r\n if (hidden) {\r\n this.setState({ isMapHidden: hidden });\r\n } else {\r\n this.getAssetFromMeridian(locid, macid).then(data => {\r\n if (data) {\r\n this.setState({\r\n deviceid: value,\r\n devicename: name,\r\n selectedmacid: macid,\r\n selectedLocationId: data.location,\r\n selectedFloorId: data.map.id,\r\n //isMapHidden: hidden\r\n }//,\r\n // () => {\r\n // this.handleScroll();\r\n // this.setState({ isMapHidden: hidden });\r\n // }\r\n );\r\n }\r\n });\r\n this.handleScroll();\r\n this.setState({ isMapHidden: hidden });\r\n }\r\n\r\n // this.setState({ isMapHidden: value2 });\r\n }\r\n\r\n getAssetFromMeridian(locid, macid) {\r\n var url =`https://edit.meridianapps.com/api/locations/${locid}/asset-beacons/` + macid;\r\n return fetch(url, getOption())\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json();\r\n } else {\r\n this.setState({ hideMap: true });\r\n }\r\n })\r\n .then(data => {\r\n return data;\r\n })\r\n .catch(err => {\r\n console.log(\"error:\", err);\r\n });\r\n }\r\n\r\n handleRequestSort = (event, property) => {\r\n const orderBy = property;\r\n let order = \"desc\";\r\n\r\n if (this.state.orderBy === property && this.state.order === \"desc\") {\r\n order = \"asc\";\r\n }\r\n\r\n this.setState({ order: order, orderBy: orderBy, data: stableSort(this.state.data, getSorting(order, orderBy)) }, () => {\r\n let scroll = document.getElementById(\"tableScroll\");\r\n let tr = document.getElementById(\"headerRow\");\r\n let length = 0;\r\n let i = 0;\r\n while (tr.childNodes[i].id != property) {\r\n length += tr.childNodes[i].offsetWidth;\r\n i++;\r\n }\r\n //console.log(\"what- after\", length, scroll.scrollLeft, scroll.scrollWidth);\r\n //console.log(\"what - apply\", /*scroll.scrollLeft*/ pos - (before - length));\r\n scroll.scrollLeft = pos - (before - length);\r\n });\r\n };\r\n\r\n toggleHiddenDetails(selectedAssetDetail) {\r\n // this.setState({\r\n // isHiddenDetails: !this.state.isHiddenDetails\r\n // });\r\n if (this.state.isHiddenDetails) {\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n this.setState({\r\n deviceid: selectedAssetDetail.id,\r\n isMapHidden: true,\r\n selectedAssetDetail\r\n });\r\n let data = {\r\n selectedAssetDetail\r\n };\r\n this.props.history.push({\r\n pathname: `/asset/${selectedAssetDetail.DeviceId}`,\r\n state: data\r\n });\r\n }\r\n\r\n handleClick = (event, id) => {\r\n this.setState({ selected: \"0\", selected: id });\r\n };\r\n\r\n isSelected = id => this.state.selected.indexOf(id) !== -1;\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page }, () => {\r\n atLastPageScrollToTop(this.state.data.length, this.state.rowsPerPage, page);\r\n });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n let max = event.target.value * this.state.page;\r\n //PONTENTION IMPROVEMENT FOR FUTURE\r\n\r\n // if (/*event.target.value*/ max > this.state.data.length && this.state.page != 0) {\r\n // let newPageNo = Math.floor(max / this.state.data.length);\r\n // console.log(\"calc\", newPageNo, event.target.value);\r\n // this.setState({ rowsPerPage: event.target.value, page: newPageNo-1 /*0*/ });\r\n // } else {\r\n // console.log(\"calc2\", this.state.rowsPerPage, event.target.value, this.state.page);\r\n // let currentMax = this.state.rowsPerPage * (this.state.page + 1);\r\n // let newPageNo = Math.floor(currentMax / event.target.value);\r\n // newPageNo = newPageNo > 1 ? newPageNo - 1 : 0;\r\n // this.setState({ rowsPerPage: event.target.value, page: newPageNo });\r\n // //this.setState({ rowsPerPage: event.target.value });\r\n // }\r\n if (max > this.state.data.length && this.state.page != 0)\r\n this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n else\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n handleDetailsPanel = Value => {\r\n this.setState({ isHiddenDetails: Value });\r\n };\r\n\r\n setSearchText = e => {\r\n //if (e.target.value.length > 0) {\r\n // this.props.history.push({\r\n // pathname: this.props.location.pathname,\r\n // state: {\r\n // ...this.props.location.state,\r\n // searchText: e.target.value\r\n // }\r\n // });\r\n //} else {\r\n // //Remove from state\r\n // let oldState = {...this.props.location.state};\r\n // delete oldState.searchText;\r\n // const isEmpty = Object.keys(oldState).length === 0;\r\n // oldState = isEmpty ? undefined : oldState;\r\n // this.props.history.push({\r\n // pathname: this.props.location.pathname,\r\n // state: oldState\r\n // });\r\n //}\r\n this.props.history.replace(this.props.history.location.pathname, { ...this.props.history.location.state, searchText: e.target.value ? e.target.value : \"\" });\r\n if (e.target.value) {\r\n let search = e.target.value.toLowerCase();\r\n let data = this.props.assets.filter(d =>\r\n //Object.values(d).some(p => typeof p === 'string' && p.toLowerCase().includes(search))\r\n // d.Name.toLowerCase().includes(search) ||\r\n // d.TagCode.toLowerCase().includes(search) ||\r\n // d.MeridianBuildingName.toLowerCase().includes(search) ||\r\n // // d.FloorNumber.toLowerCase().includes(search) ||\r\n // // d.ZoneName.toLowerCase().includes(search) ||\r\n // // d.Manufacturer.toLowerCase().includes(search) ||\r\n // // d.DeviceModel.toLowerCase().includes(search) ||\r\n // // d.DeviceType.toLowerCase().includes(search) ||\r\n // // d.CollectionName.toLowerCase().includes(search) ||\r\n // // //d.BatteryLevel.toLowerCase().includes(search) ||\r\n // // d.DeviceFlag.toLowerCase().includes(search) ||\r\n // // //d.Timestamp.toLowerCase().includes(search) ||\r\n // d.MacId.toLowerCase().includes(search)\r\n d.hasOwnProperty(\"Name\") && typeof d.Name === 'string' && d.Name.toLowerCase().includes(search) ||\r\n d.hasOwnProperty(\"TagCode\") && typeof d.TagCode === 'string' && d.TagCode.toLowerCase().includes(search) ||\r\n d.hasOwnProperty(\"MeridianBuildingName\") && typeof d.MeridianBuildingName === 'string' && d.MeridianBuildingName.toLowerCase().includes(search) ||\r\n d.hasOwnProperty(\"MacId\") && typeof d.MacId === 'string' && d.MacId.toLowerCase().includes(search) ||\r\n d.hasOwnProperty(\"Labels\") && d.Labels != null && d.Labels.some(l => l.name.toLowerCase().includes(search))\r\n );\r\n this.setState({ searchText: e.target.value, data: stableSort(data, getSorting(this.state.order, this.state.orderBy)), showNoDeviceMsg: data.length == 0 ? true : this.state.showNoDeviceMsg, page: 0 });\r\n } else {\r\n this.setState({ searchText: \"\", data: stableSort(this.props.assets, getSorting(this.state.order, this.state.orderBy)), page: 0 });\r\n }\r\n\r\n //this.setState({ searchText: e.target.value, data: data });\r\n };\r\n\r\n getSyncData() {\r\n apiRequest(\"/assets/syncreport\", \"get\")\r\n .then(res => {\r\n this.setState({\r\n syncData: JSON.parse(res.data[0])\r\n });\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n timeZone = () => /\\((.*)\\)/.exec(new Date().toString())[1];\r\n\r\n isSelectedRow = id => this.state.selectedAssets.indexOf(id) !== -1;\r\n\r\n selectRow = (evt, id) => {\r\n if (evt.target.checked) {\r\n let newList = this.state.selectedAssets;\r\n newList.push(id);\r\n this.setState({ selectedAssets: newList });\r\n } else {\r\n this.setState({ selectedAssets: this.state.selectedAssets.filter(a => a != id) });\r\n }\r\n };\r\n\r\n handleSelectAllClick = event => {\r\n if (event.target.checked) {\r\n if (isPortalAdmin)\r\n this.setState({ selectedAssets: this.state.data.map(n => n.MacId) });\r\n else\r\n this.setState({ selectedAssets: this.state.data.filter(n => n.AccessLevel >= 500).map(n => n.MacId) });\r\n } else {\r\n this.setState({ selectedAssets: [] });\r\n }\r\n };\r\n\r\n handleDelete = () => {\r\n const that = this;\r\n const data = {\r\n mac: this.state.selectedAssets\r\n };\r\n if (this.state.deleteRadio == \"soft\") {\r\n apiRequest(\"/assets\", \"delete\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n isCheckBoxColumnActive = false;\r\n //that.setState({ openDelete: false, selectedAssets: [] }, () => that.props.getAsset());\r\n }\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n that.setState({ openDelete: false, selectedAssets: x.status > 0 ? [] : that.state.selectedAssets });\r\n })\r\n .catch(err => {\r\n console.log(\"error:\", err);\r\n that.props.showMessageBox(\"ERROR\");\r\n that.setState({ openDelete: false });\r\n });\r\n } else {\r\n for (let i = 0; i < data.mac.length; i++) {\r\n apiRequest(`/assets/hard/${data.mac[i]}`, \"delete\")\r\n .then(x => {\r\n if (x.status == 0 || x.message) {\r\n console.log(\"tag delete:\", x.message);\r\n that.props.showMessageBox(`Couldn't delete ${data.mac[i]}: ${x.message || \"unknown error\"}`);\r\n }\r\n if (i == that.state.data.length-1) {\r\n // if (x.status > 0 && x.message == null)\r\n // that.props.showMessageBox(\"SUCCESS\");\r\n // else\r\n // that.props.showMessageBox(x.message);\r\n that.props.showMessageBox(\"Tag Delete action completed\");\r\n }\r\n })\r\n .catch(err => {\r\n console.log(\"tag delete:\", err);\r\n that.props.showMessageBox(`Couldn't delete ${data.mac[i]}: unknown error`);\r\n });\r\n\r\n if (i == 0) {\r\n isCheckBoxColumnActive = false;\r\n this.setState({ openDelete: false, selectedAssets: [] });\r\n }\r\n }\r\n }\r\n };\r\n\r\n hardDeleteRadio() {\r\n return(\r\n
\r\n Delete Asset & Tag
\r\n This will delete all selected assets and associated tag information from the system.\r\n
\r\n );\r\n }\r\n\r\n softDeleteRadio() {\r\n return(\r\n
\r\n Delete Asset
\r\n This will delete all selected assets. However, all associated tag information will remain in Meridian.\r\n
\r\n );\r\n }\r\n\r\n renderCells(n, property) {\r\n if (property == \"map\")\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n else if (property == \"DeviceImage\")\r\n return (\r\n \r\n \r\n \r\n );\r\n else if (property == \"MeridianBuildingName\")\r\n return (\r\n \r\n \r\n {n.MeridianBuildingName}\r\n \r\n \r\n );\r\n else if (property == \"FloorNumber\")\r\n return (\r\n \r\n \r\n {n.FloorNumber}\r\n \r\n \r\n );\r\n else if (property == \"CollectionNames\")\r\n return (\r\n \r\n {n.CollectionNames && n.CollectionNames.length > 0 && (\r\n {n.CollectionNames.map(c => {c}
)}} placement=\"right\">\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n else if (property == \"Labels\")\r\n return (\r\n \r\n {n.Labels && n.Labels.length > 0 && (\r\n {n.Labels.map(l => {l.name}
)}} placement=\"right\">\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n else if (property == \"DeviceFlag\")\r\n return (\r\n \r\n {dict[property].format(n, n[property])/*n.DeviceFlag == \"NOT_MAPPED\" ? \"NO DEPARTMENT\" : n.DeviceFlag*/}\r\n \r\n );\r\n else if (property == \"BatteryLevel\")\r\n return (\r\n \r\n {dict[property].format(n, n[property])/*n.BatteryLevel > 100 ? \"Unknown\" : n.BatteryLevel + \"%\"*/}\r\n \r\n );\r\n else if (property == \"Timestamp\")\r\n return (\r\n \r\n {dict[property].format(n, n[property])/*n.Timestamp ? formatDate(new Date(n.Timestamp*1000)) : \"\"*/}\r\n \r\n );\r\n else if (property == \"MeridianCreated\")\r\n return (\r\n \r\n {dict[property].format(n, n[property])/*n.MeridianCreated ? formatDate(new Date(n.MeridianCreated + \"Z\")) : \"\"*/}\r\n \r\n );\r\n else if (property == \"MeridianModified\")\r\n return (\r\n \r\n {dict[property].format(n, n[property])/*n.MeridianModified ? formatDate(new Date(n.MeridianModified + \"Z\")) : \"\"*/}\r\n \r\n );\r\n else if (property == \"TagCode\")\r\n return (\r\n \r\n {n.TagCode}\r\n \r\n );\r\n return (\r\n \r\n {n[property]}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { data, order, orderBy, selected, rowsPerPage, page, selectedAssets } = this.state;\r\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, data.length - page * rowsPerPage);\r\n const { numSelected } = this.props;\r\n //const sortedData = (data.length > 0 && this.props.hideLoader) ? stableSort(data, getSorting(order, orderBy)) : [];\r\n const columns = rows.filter(r => r.isActive);\r\n var access = getAccess();\r\n var mm = require('moment-timezone');\r\n var zone = mm.tz.zone('America/New_York');\r\n var abbs = \" \" + mm.tz(Intl.DateTimeFormat().resolvedOptions().timeZone).format('z').toString();\r\n var abbs2 = \" \" + mm.tz(Intl.DateTimeFormat().resolvedOptions().timeZone).zoneAbbr();\r\n //console.log(\"abbs\", mm.tz(Intl.DateTimeFormat().resolvedOptions().timeZone).format('z'), abbs2, window.Intl.DateTimeFormat().resolvedOptions().timeZone);\r\n //console.log(\"bakuu\", mm.tz([2012, 0], 'Asia/Tokyo').format('ha z'));\r\n //console.log(\"guess\", mm.tz.guess(), mm.tz.zone(mm.tz.guess()).abbr(new Date().getTimezoneOffset()));\r\n //console.log(\"TZ\", this.state.syncData.sync_time, this.timeZone(), mm.tz('America/Los_Angeles').format('z'), zone, Intl.DateTimeFormat().resolvedOptions().timeZone);\r\n const a = this.state.syncData.sync_time\r\n ? this.state.syncData.sync_time.replace(/-/g, \"/\")\r\n : \"\";\r\n var dateTime = a == \"\"\r\n ? \"\"\r\n : new Date(`${a} UTC`).toISOString();\r\n return (\r\n
\r\n {/* \r\n \r\n \r\n \r\n
\r\n \r\n Tabular View\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Map View\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n className: classes.input,\r\n }}\r\n onChange={this.setSearchText}\r\n //onBlur={this.saveSearchText}\r\n />\r\n \r\n \r\n \r\n Filter\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n \r\n ),\r\n className: classes.input\r\n }}\r\n onChange={this.setSearchText}\r\n />\r\n
\r\n \r\n \r\n Filter\r\n \r\n \r\n
\r\n
*/}\r\n\r\n \r\n \r\n {(data) => (\r\n this.setState({ searchText: \"\" })}\r\n values={data}\r\n setLoading={v => this.setState({ showNoDeviceMsg: v })}\r\n />\r\n )}\r\n \r\n
\r\n \r\n {this.state.isHiddenDetails && (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(isPortalAdmin || access.some(item => item.access_level >= 500/* && item.resource_type != \"collection\"*/)) && (\r\n \r\n \r\n {\r\n isCheckBoxColumnActive = !isCheckBoxColumnActive;\r\n this.setState({ update: true });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n {\r\n rows = [ ...rows ];\r\n this.setState({ update: true });\r\n }} />\r\n \r\n\r\n \r\n
\r\n
\r\n )}\r\n {!this.state.isMapHidden && (\r\n \r\n
\r\n \r\n
\r\n \r\n Device ID: {this.state.deviceid}, Name: {this.state.devicename}\r\n \r\n {/* \r\n this.setState({ isFullScreen: false })}\r\n style={{ width: \"fit-content\" }}\r\n >\r\n \r\n \r\n */}\r\n \r\n this.setState({ isFullScreen: false })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Device ID: {this.state.deviceid}, Name: {this.state.devicename}\r\n \r\n {/*
\r\n
\r\n
*/}\r\n \r\n this.setState({ isFullScreen: true })}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n this.setState({ isFullScreen: true })}\r\n //style={{ padding: 0 }}\r\n >\r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n )}\r\n\r\n {data.length > 0 && this.props.hideLoader ? (\r\n \r\n \r\n \r\n
\r\n \r\n n.AccessLevel >= 500 ? result + 1 : result, 0)}\r\n handleSelectAllClick={this.handleSelectAllClick}\r\n />\r\n\r\n \r\n {data\r\n .slice(\r\n page * rowsPerPage,\r\n page * rowsPerPage + rowsPerPage\r\n )\r\n .map(n => {\r\n const isSelected = this.isSelected(n.DeviceId);\r\n return (\r\n \r\n this.handleClick(event, n.DeviceId)\r\n }\r\n >\r\n {/*this.state.*/isCheckBoxColumnActive && (\r\n \r\n this.selectRow(evt, n.MacId)}\r\n />\r\n \r\n )}\r\n {columns.map(r => {\r\n return this.renderCells(n, r.id);\r\n })}\r\n \r\n );\r\n })}\r\n {/* data.length > rowsPerPage && emptyRows > 0 && (\r\n \r\n \r\n \r\n ) */}\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n {isCheckBoxColumnActive && selectedAssets.length > 0 && (\r\n \r\n \r\n \r\n {selectedAssets.length + \" row(s) selected.\"}\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n this.setState({ openAssign: false })}\r\n selected={selectedAssets}\r\n onAssigned={() => {\r\n isCheckBoxColumnActive = false;\r\n this.setState({ openAssign: false, selectedAssets: [] }/*, () => this.props.getAsset()*/);\r\n }}\r\n showMessageBox={this.props.showMessageBox}\r\n //getAsset={this.props.getAsset}\r\n updateLoading={() => this.setState({ loading: !this.state.loading })}\r\n />\r\n\r\n this.setState({ openDelete: false })}\r\n >\r\n \r\n this.setState({ deleteRadio: evt.target.value })}>\r\n } label={this.hardDeleteRadio()} />\r\n } label={this.softDeleteRadio()} />\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n {/* NOT IN USE ANYMORE -> use CofigureSingleComponent */}\r\n \r\n \r\n \r\n
\r\n ) : this.state.showNoDeviceMsg && this.props.hideLoader ? (\r\n \r\n

No Device Found.

\r\n \r\n ) : this.props.hideLoader == null ? (\r\n \r\n

An error has occurred.

\r\n \r\n ) : (\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nEnhancedTable.propTypes = {\r\n classes: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n const { assets, hideLoader } = state;\r\n return {\r\n assets,\r\n hideLoader\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getAsset: id => getAssets(dispatch, id),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles),\r\n withRouter\r\n)(EnhancedTable);\r\n","import React, { Component } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport PropTypes from \"prop-types\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport MapIcon from \"@material-ui/icons/Map\";\r\nimport CloseIcon from \"@material-ui/icons/HighlightOff\";\r\nimport FormatListBulletedIcon from '@material-ui/icons/FormatListBulleted';\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport {\r\n getEntity,\r\n getLocations,\r\n getCollections,\r\n getAssets,\r\n cleanData,\r\n showMessage\r\n} from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { apiRequest, token, getOption, admintoken, byPropertyCalled, addLowBatteryHint } from \"../utils/Utils\";\r\nimport * as MeridianSDK from \"@meridian/web-sdk\";\r\nimport { h } from \"preact\";\r\n//import { Utils } from \"ag-grid\";\r\nimport Filters from \"./Filters.jsx\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport \"./Map.css\";\r\n\r\nconst lowBatteryLabelName = \"tag\" + Date.now().toString(16);\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2)\r\n },\r\n table: {\r\n minWidth: 1020\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\"\r\n },\r\n input: {\r\n height: \"30px\",\r\n padding: \"20px\"\r\n },\r\n input1: {\r\n height: 38\r\n },\r\n label1: {\r\n marginTop: \"-5px\"\r\n },\r\n closeButton: {\r\n position: \"absolute\",\r\n right: theme.spacing(1),\r\n color: \"#4b2e83\",\r\n },\r\n});\r\n\r\nvar selectedfloor;\r\n\r\nclass MapView extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.map = null;\r\n this.state = {\r\n padding: \"90px\",\r\n entity: sessionStorage.getItem(\"entityID\") ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n dept: \"\",\r\n loc: \"\",\r\n floor: \"\",\r\n collection: \"\",\r\n entityData: [],\r\n locationData: [],\r\n floorData: [],\r\n collectionData: [],\r\n assetData: [],\r\n currentData: [],\r\n selectedLocationMapId: \"\",\r\n selectedFloorMapId: \"\",\r\n renderMap: false,\r\n hideMap: false,\r\n tagMacs: [],\r\n showMapControls: false,\r\n showRedField: false,\r\n searchText: \"\",\r\n open: false,\r\n floors: [],\r\n tags: [],\r\n isSecondaryFilterOpened: sessionStorage.getItem(\"filter\") ? true : false,\r\n aObj: null,\r\n isFullScreen: false\r\n };\r\n }\r\n/*\r\n componentDidMount() {\r\n if (this.state.entity && this.state.entity !== \"\")\r\n {\r\n this.props.getLocation(this.state.entity);\r\n }\r\n }\r\n*/\r\n getMapsFromMeridian(location) {\r\n var url =`https://edit.meridianapps.com/api/locations/${location}/maps`;\r\n return fetch(url, getOption())\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json();\r\n } else {\r\n this.setState({ hideMap: true });\r\n }\r\n })\r\n .then(data => {\r\n return data;\r\n })\r\n .catch(err => {\r\n console.log(\"error:\", err);\r\n });\r\n }\r\n\r\n getFloorData(from) {\r\n const that = this;\r\n const { entity, loc, collection } = this.state;\r\n // API request\r\n console.log(\"** Get DATA:\", entity, loc, collection, from);\r\n const request = from ? `/collections/${collection}/assets` : `/assets/search?entity_id=${entity}&location_id=${loc}`;\r\n console.log('**Request:', request);\r\n apiRequest(request, \"get\")\r\n .then(response => {\r\n let datas = response.data.map(c => {\r\n return {\r\n id: c.MacId,\r\n name: c.FloorNumber,\r\n location_id: c.MeridianLocationId,\r\n floor_id: c.MeridianMapId,\r\n device_name: c.Name,\r\n building_id: c.MeridianBuildingId,\r\n filter: true,\r\n };\r\n });\r\n datas = datas.filter(c => c.floor_id !== null);\r\n //get meridian maps\r\n if (datas.length > 0) {\r\n var locid =datas[0].location_id;\r\n var buildingid = datas[0].building_id;\r\n let floors= [];\r\n this.getMapsFromMeridian(locid).then((data) => {\r\n if (data) {\r\n console.log(\"maps:\", data);\r\n data.results.map(item => floors.push(\r\n {\r\n name: item.level_label,\r\n floor_id: item.id,\r\n location_id: locid,\r\n building_id: item.group\r\n }));\r\n\r\n floors.sort(this.cmp);\r\n floors = floors.filter(item => item.building_id == buildingid);\r\n console.log(\"floors:\", floors);\r\n this.setState({ floors: floors });\r\n }\r\n });\r\n }\r\n else {\r\n //no assets to show\r\n this.setState({ floors: [] });\r\n }\r\n\r\n let macs = datas.map(c => c.id);\r\n console.log(\"datas\", datas, \"macs\", macs);\r\n let group = datas.reduce((result, currentValue) => {\r\n (result[currentValue['floor_id']] = result[currentValue['floor_id']] || []).push(\r\n currentValue\r\n );\r\n return result;\r\n }, {});\r\n let floors = Object.entries(group).map(c => {\r\n let devs = c[1];\r\n let tagmacs = devs.reduce((result, currentValue) => {\r\n result = result + currentValue['id'] + \",\";\r\n return result;\r\n }, \"\");\r\n return {\r\n floor_id: c[0],\r\n name: devs[0].name,\r\n location_id: devs[0].location_id,\r\n tagmacs: tagmacs,\r\n };\r\n });\r\n const notfloors = (floors.length == 0);\r\n let assets = Object.entries(group);\r\n for (var i = 0; i < assets.length; i++) {\r\n var item = Object();\r\n var dev = assets[i][1];\r\n item.id = assets[i][0];\r\n item.name = dev[0].name;\r\n assets[i][0]= item;\r\n }\r\n assets = assets.sort(this.cmpf);\r\n that.setState({\r\n assetData: assets,\r\n currentData: assets,\r\n floorData: floors.sort(this.cmp),\r\n floor: \"\",\r\n renderMap: notfloors,\r\n hideMap: (floors.length == 0),\r\n searchText: \"\",\r\n tags: macs\r\n });\r\n })\r\n .catch(error => console.log(error));\r\n\r\n/*\r\n apiRequest(`/entities/${entity}/locations/${loc}/maps`, \"get\")\r\n .then(response => {\r\n let floors = response.data.map(c => {\r\n return {\r\n id: c.floor_number,\r\n name: c.floor_label + \" - \" + c.building_name,\r\n location_id: c.meridian_location_id,\r\n floor_id: c.meridian_map_id\r\n };\r\n });\r\n floors = floors.filter(c => c.id !== null);\r\n console.log('**Floors:', floors);\r\n that.setState({\r\n floorData: floors.sort(this.cmp),\r\n floor: \"\"\r\n });\r\n })\r\n .catch(error => console.log(error));\r\n*/\r\n }\r\n\r\n unmountMap() {\r\n this.setState({\r\n renderMap: false,\r\n showFilters: false,\r\n //entity: \"\",\r\n loc: \"\",\r\n collection: \"\",\r\n floor: \"\",\r\n searchText: \"\",\r\n currentData: [],\r\n });\r\n // if (this.state.entity) {\r\n // this.props.getLocation(this.state.entity);\r\n // this.props.getCollection(this.state.entity);\r\n // }\r\n }\r\n\r\n resetMap() {\r\n if (this.map && !this.map.isDestroyed) {\r\n this.map.destroy();\r\n this.map = null;\r\n }\r\n var element = document.getElementById(\"meridian-map\");\r\n if (element) {\r\n element.innerHTML = \"\";\r\n };\r\n this.setState({\r\n renderMap: false,\r\n });\r\n }\r\n\r\n resetColl() {\r\n this.setState({\r\n collection: \"\",\r\n searchText: \"\",\r\n currentData: [],\r\n });\r\n }\r\n\r\n mountMap = () => {\r\n if (\r\n this.state.entity === \"\" ||\r\n (this.state.loc === \"\" && this.state.collection === \"\") ||\r\n this.state.floor === \"\"\r\n ) {\r\n this.props.showMessageBox(\"Please Select the Required fields\");\r\n this.setState({\r\n showRedField: true\r\n });\r\n return;\r\n }\r\n this.setState(\r\n {\r\n //showFilters: true,\r\n renderMap: true,\r\n showRedField: false,\r\n showMapControls: this.state.collection? true: false,\r\n },\r\n () => {\r\n selectedfloor = this.state.floors.filter(\r\n item => item.floor_id === this.state.floor\r\n );\r\n\r\n if (this.map && !this.map.isDestroyed) {\r\n this.map.destroy();\r\n this.map = null;\r\n }\r\n if (!selectedfloor[0].location_id || !selectedfloor[0].floor_id) {\r\n this.setState({\r\n hideMap: true\r\n });\r\n } else {\r\n this.setState({\r\n hideMap: false\r\n }, () => {\r\n const api = new MeridianSDK.API({\r\n environment: \"production\",\r\n token: token\r\n });\r\n //console.log('**MAP Create:', selectedfloor[0]);\r\n let element = document.getElementById(\"meridian-map\");\r\n if (element) {\r\n element.innerHTML = \"\";\r\n }\r\n this.map = MeridianSDK.createMap(\r\n //document.getElementById(\"meridian-map\"),\r\n element,\r\n {\r\n api: api,\r\n locationID: selectedfloor[0].location_id,\r\n floorID: selectedfloor[0].floor_id,\r\n shouldMapPanZoom: function restrictedPanZoom(event) {\r\n if (event.type === \"wheel\" && !event.altKey) {\r\n return false;\r\n } else if (event.type === \"touchstart\") {\r\n return event.touches.length >= 2;\r\n }\r\n return true;\r\n },\r\n showFloorsControl: false, //this.state.showMapControls,\r\n showTagsControl: false, //this.state.showMapControls,\r\n height: \"500px\",\r\n\r\n placemarks: {\r\n filter: function() {\r\n return true;\r\n }\r\n },\r\n onPlacemarksUpdate: ({ allPlacemarks, filteredPlacemarks }) => {\r\n this.map.update({\r\n overlays: filteredPlacemarks\r\n .filter(placemark => placemark.area)\r\n .map((placemark, i) => {\r\n const hue = (i * (360 / 6)) % 360;\r\n return {\r\n type: \"polygon\",\r\n points: MeridianSDK.pointsFromArea(placemark.area),\r\n //points: [3032,629],\r\n fill: `hsla(${hue}, 100%, 60%, 0.3)`,\r\n stroke: `hsl(${hue}, 100%, 60%)`\r\n };\r\n })\r\n });\r\n },\r\n\r\n tags: {\r\n filter: t => {\r\n //return this.state.tags.includes(t.mac);\r\n if (this.props.assets.some(a => a.MacId == t.mac)) {\r\n addLowBatteryHint(t);\r\n return true;\r\n }\r\n return false;\r\n },\r\n updateInterval: 10000\r\n }\r\n }\r\n );\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n mountMap2 = (data) => {\r\n if (\r\n data.entity === \"\" ||\r\n //(data.loc === \"\" && data.coll === \"\") ||\r\n data.floor === \"\"\r\n ) {\r\n this.props.showMessageBox(\"Please Select the Required fields\");\r\n //const showRedField = true;\r\n //data.handeChange(showRedField);\r\n this.setState({\r\n showRedField: true\r\n });\r\n return;\r\n }\r\n this.setState(\r\n {\r\n //showFilters: true,\r\n renderMap: true,\r\n showRedField: false,\r\n //showMapControls: this.state.collection? true: false,\r\n },\r\n () => {\r\n var selectedfloor = data.floorData.find(\r\n item => item.floor_id === data.floor\r\n );\r\n\r\n if (!selectedfloor || !selectedfloor.location_id || !selectedfloor.floor_id) {\r\n if (this.map && !this.map.isDestroyed) {\r\n this.map.destroy();\r\n this.map = null;\r\n }\r\n this.setState({\r\n hideMap: true\r\n });\r\n } else {\r\n this.setState({\r\n hideMap: false\r\n }, () => {\r\n if (this.map && !this.map.isDestroyed) {\r\n this.map.update({ floorID: selectedfloor.floor_id });\r\n return;\r\n }\r\n\r\n const api = new MeridianSDK.API({\r\n environment: \"production\",\r\n token: admintoken\r\n });\r\n //console.log('**MAP Create:', selectedfloor[0]);\r\n var element = document.getElementById(\"meridian-map\");\r\n if (element) {\r\n var mm = element ? element.querySelector(\".meridian-map-background\") : \"\";\r\n if (mm) {\r\n mm.click();\r\n }\r\n element.innerHTML = \"\";\r\n };\r\n this.map = MeridianSDK.createMap(\r\n //document.getElementById(\"meridian-map\"),\r\n element,\r\n {\r\n api: api,\r\n locationID: selectedfloor.location_id,\r\n floorID: selectedfloor.floor_id,\r\n shouldMapPanZoom: function restrictedPanZoom(event) {\r\n if (event.type === \"wheel\" && !event.altKey) {\r\n return false;\r\n } else if (event.type === \"touchstart\") {\r\n return event.touches.length >= 2;\r\n }\r\n return true;\r\n },\r\n showFloorsControl: false, //this.state.showMapControls,\r\n showTagsControl: false, //this.state.showMapControls,\r\n height: this.props.values.isFullScreen ? \"calc(100vh - 135px)\" : \"calc(100vh - 220px)\",\r\n\r\n placemarks: {\r\n labelZoomLevel: 0.1,\r\n filter: t => {\r\n return true;\r\n }\r\n },\r\n onPlacemarksUpdate: ({ allPlacemarks, filteredPlacemarks }) => {\r\n this.map.update({\r\n overlays: filteredPlacemarks\r\n .filter(placemark => placemark.area)\r\n .map((placemark, i) => {\r\n const hue = (i * (360 / 6)) % 360;\r\n return {\r\n type: \"polygon\",\r\n points: MeridianSDK.pointsFromArea(placemark.area),\r\n //points: [3032,629],\r\n fill: `hsla(${hue}, 100%, 60%, 0.3)`,\r\n stroke: `hsl(${hue}, 100%, 60%)`\r\n };\r\n })\r\n });\r\n },\r\n\r\n tags: {\r\n filter: t => {\r\n let match = false;\r\n if (this.state.aObj != null) {\r\n //return this.state.aObj.MacId == t.mac;\r\n match = this.state.aObj.MacId == t.mac ? true : false;\r\n } else {\r\n //return this.state.tags.includes(t.mac);\r\n match = this.props.assets.some(a => a.MacId == t.mac);\r\n }\r\n if (match) {\r\n addLowBatteryHint(t);\r\n return true;\r\n }\r\n return false;\r\n },\r\n updateInterval: 10000\r\n }\r\n }\r\n );\r\n });\r\n }\r\n }\r\n );\r\n };\r\n\r\n getData(e,f,b,c) {\r\n // const { entity, loc, collection } = this.state;\r\n // // API request\r\n // console.log(\"** Get DATA:\", entity, loc, collection, from);\r\n // const request = from ? `/collections/${collection}/assets`\r\n // : `/assets/search?entity_id=${entity}&location_id=${loc}`;\r\n // console.log('**Request:', request);\r\n var url = `/assets/search?entity_id=${e}&meridian_map_id=${f}`;\r\n if (b && c) {\r\n //both\r\n url +=`&location_id=${b}&collection_id=${c}`;\r\n }\r\n else if (b) {\r\n //only loc\r\n //url +=`&location_id=${b}`;\r\n }\r\n else {\r\n //only coll\r\n url +=`&collection_id=${c}`;\r\n }\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n let datas = response.data.map(c => {\r\n return {\r\n id: c.MacId,\r\n name: c.FloorNumber,\r\n location_id: c.MeridianLocationId,\r\n floor_id: c.MeridianMapId,\r\n device_name: c.Name,\r\n building_id: c.MeridianBuildingId,\r\n filter: true,\r\n };\r\n });\r\n //Filter for the selected floor id\r\n datas = datas.filter(c => c.floor_id == f);\r\n datas = datas.filter(c => this.props.assets.map(a => a.MacId).includes(c.id));\r\n this.setState({ tags: datas.map(d => d.id) });\r\n });\r\n }\r\n\r\n componentWillMount() {\r\n this.props.getEntities();\r\n this.setState({\r\n //entity: \"\",\r\n loc: \"\",\r\n floor: \"\"\r\n });\r\n if (this.state.entity) {\r\n this.props.getLocation(this.state.entity);\r\n this.props.getCollection(this.state.entity);\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n if (((this.state.renderMap && !nextState.renderMap) || (!this.state.hideMap && nextState.hideMap)) && this.map && !this.map.isDestroyed) {\r\n this.map.destroy();\r\n this.map = null;\r\n }\r\n return true;\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.map && !this.map.isDestroyed) {\r\n this.map.destroy();\r\n }\r\n }\r\n\r\n handleChange = name => event => {\r\n this.setState(\r\n {\r\n [name]: event.target.value,\r\n },\r\n () => {\r\n if (name === \"entity\") {\r\n sessionStorage.setItem(\"entityID\", event.target.value ? JSON.stringify(event.target.value) : \"\");\r\n //this.props.getLocation(event.target.value);\r\n //this.props.getCollection(event.target.value);\r\n //this.setState({ collection: \"\" });\r\n this.unmountMap();\r\n } else if (name === \"loc\") {\r\n this.resetColl();\r\n this.getFloorData(false);\r\n this.resetMap();\r\n } else if (name === \"collection\") {\r\n this.getFloorData(true);\r\n this.resetMap();\r\n } else if (name === \"floor\") {\r\n selectedfloor = this.state.floors.filter(\r\n item => item.floor_id === event.target.value\r\n );\r\n // apiRequest(\r\n // `/maps/${selectedfloor[0].location_id}/mapid/${\r\n // selectedfloor[0].floor_id\r\n // }`,\r\n // \"get\"\r\n // ).then(response => {\r\n // this.setState({\r\n // tagMacs: response.data[0].map(item => item.id)\r\n // });\r\n //this.setState({ tagMacs: selectedfloor[0].tagmacs });\r\n this.mountMap();\r\n };\r\n }\r\n );\r\n };\r\n\r\n componentWillReceiveProps({ entities, locations, collections, assets, values }) {\r\n if (this.state.aObj !== null) {\r\n this.setState({ aObj: null });\r\n }\r\n if (values && values.floor && values.floorData && values.entity && (values.coll || values.loc) && assets) {\r\n //this.getData(values.entity, values.floor, values.loc, values.coll);\r\n this.mountMap2(values);\r\n }\r\n else {\r\n this.resetMap();\r\n }\r\n this.setState({\r\n entityData: entities.sort(this.cmp),\r\n locationData: locations.sort(this.cmp),\r\n collectionData: collections.sort(this.cmp)\r\n });\r\n }\r\n\r\n handleReset = () => {\r\n this.props.resetData();\r\n this.unmountMap();\r\n this.setState({\r\n floorData: [],\r\n renderMap: false,\r\n hideMap: false\r\n });\r\n };\r\n\r\n cmp = (a,b) => {\r\n const alc = a.name? a.name.toLowerCase(): '';\r\n const blc = b.name? b.name.toLowerCase(): '';\r\n if (alc < blc) {\r\n return -1;\r\n }\r\n else if (alc > blc) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n cmpf = (a,b) => {\r\n const alc = a[0].name? a[0].name.toLowerCase(): '';\r\n const blc = b[0].name? b[0].name.toLowerCase(): '';\r\n if (alc < blc) {\r\n return -1;\r\n }\r\n else if (alc > blc) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n\r\n showMap(macid, floorid) {\r\n this.setState({ floor: floorid })\r\n selectedfloor = this.state.floors.filter(\r\n item => item.floor_id === floorid\r\n );\r\n if (selectedfloor) {\r\n //this.setState({ tagMacs: selectedfloor[0].tagmacs });\r\n this.setState({ tagMacs: macid });\r\n this.mountMap();\r\n this.handleClose();\r\n }\r\n }\r\n\r\n renderGroupInfo(assets) {\r\n return (\r\n
\r\n {assets && assets.map((c, i) => (\r\n \r\n
{c[1][0].name}
\r\n {c[1] && c[1].map((d, i) => (\r\n \r\n {d.filter && (\r\n
\r\n \r\n \r\n \r\n \r\n  \r\n {d.device_name}\r\n
\r\n )}\r\n
\r\n ))}\r\n
\r\n ))}\r\n
\r\n );\r\n }\r\n\r\n setSearchText = e => {\r\n const st = e.target.value.toLowerCase();\r\n let filtered = this.state.assetData;\r\n for (var i = 0; i < filtered.length; i++) {\r\n var item = filtered[i][1];\r\n for (var j = 0; j < item.length; j++) {\r\n if (item[j].device_name.toLowerCase().includes(st)) {\r\n item[j].filter = true;\r\n } else {\r\n item[j].filter = false;\r\n }\r\n }\r\n filtered[i][1] = item;\r\n }\r\n //const data = this.state.assetData.filter(a => a[1].device_name.toLowerCase().includes(st));\r\n this.setState({ searchText:st, currentData: filtered });\r\n };\r\n\r\n handleOpen = () => {\r\n this.setState({ open: true });\r\n }\r\n\r\n handleClose = () => {\r\n this.setState({ open: false });\r\n }\r\n\r\n isFloorMatching(floorid) {\r\n if (this.state.floorData.find(i => i.floor_id == floorid)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n return (\r\n
\r\n \r\n \r\n option.MacId == value.MacId}\r\n getOptionLabel={(option) => option.Name}\r\n onChange={(e, v) => {\r\n if (v !== null) {\r\n this.setState({ aObj: v/*, tags: v.MacId*/ }, () => {\r\n let data = {};\r\n data.entity = v.EntityId;\r\n data.floor = v.MeridianMapId;\r\n data.floorData = this.props.values.floorData;\r\n this.mountMap2(data);\r\n // var x = document.getElementById(\"meridian-map\");\r\n // var mm = x ? x.querySelector(\".meridian-map-background\") : \"\";\r\n // if (mm) {\r\n // mm.click();\r\n // }\r\n });\r\n } else {\r\n //this.setState({ aObj: v });\r\n const { assets, values } = this.props;\r\n if ((values && values.floor && values.floorData && values.entity) && (values.coll || values.loc) && assets) {\r\n //this.getData(values.entity, values.floor, values.loc, values.coll);\r\n this.mountMap2(values);\r\n }\r\n else {\r\n this.unmountMap();\r\n }\r\n this.setState({ aObj: v });\r\n }\r\n }}\r\n renderOption={(option) => (\r\n
{option.Name}
\r\n )}\r\n renderInput={params => {\r\n params.InputProps.startAdornment = (\r\n \r\n \r\n \r\n );\r\n return (\r\n \r\n );\r\n }}\r\n />\r\n
\r\n \r\n {\r\n this.setState({\r\n isSecondaryFilterOpened: !this.state.isSecondaryFilterOpened,\r\n });\r\n }}\r\n style={{\r\n color: \"#4b2e83\",\r\n minWidth: 82,\r\n //opacity: \"1\",\r\n //outline: \"none\"\r\n }}\r\n //className=\"buttonnobg float-center\"\r\n >\r\n Filter\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n this.setState({ searchText: \"\" })}\r\n values={this.props.values}\r\n setLoading={v => {}}\r\n />\r\n \r\n {/* \r\n \r\n \r\n

\r\n Select\r\n

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n {this.state.locationData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.collectionData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.floors.map(option => (\r\n \r\n {this.isFloorMatching(option.floor_id) ? {option.name} :
{option.name}
}\r\n
\r\n ))}\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
*/}\r\n\r\n {this.state.renderMap ? (\r\n !this.state.hideMap ? (\r\n \r\n
\r\n \r\n ) : (\r\n \r\n

There's no map uploaded for this selection.

\r\n \r\n )\r\n ) : (\r\n \r\n

\r\n Please select the Organization, Campus, Collection and Floor to see the Map\r\n

\r\n \r\n )}\r\n\r\n {/* Assets Dialog */}\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n className: classes.input,\r\n }}\r\n onChange={this.setSearchText}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.renderGroupInfo(this.state.currentData)}\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { entities, locations, collections, assets } = state;\r\n return {\r\n entities,\r\n locations,\r\n collections,\r\n assets\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getEntities: () => getEntity(dispatch),\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: entityId => getCollections(dispatch, entityId),\r\n getAsset: id => getAssets(dispatch, id),\r\n resetData: () => dispatch(cleanData()),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(MapView);\r\n","import React, { Component } from \"react\";\r\nimport \"./Page2.css\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"../components/Table.jsx\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\"\r\n },\r\n tabsIndicator: {\r\n backgroundColor: \"#4b2e83\"\r\n },\r\n tabsRoot: {\r\n borderBottom: \"1px solid white\"\r\n },\r\n tabRoot: {\r\n color: \"#4b2e83\",\r\n \"&:hover\": {\r\n color: \"#4b2e83\",\r\n opacity: 1\r\n },\r\n \"&:focus\": {\r\n color: \"#4b2e83\"\r\n }\r\n }\r\n});\r\n\r\nclass About extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n collapse: \"true\",\r\n isHidden: true,\r\n value: 1\r\n };\r\n }\r\n\r\n handleChange = (event, value) => {\r\n this.setState({ value });\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { value } = this.state;\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n {/* \r\n {data =>\r\n \r\n }\r\n */}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withStyles(styles)(About);\r\n","import React, { Component } from \"react\";\r\nimport \"./Page2.css\";\r\nimport \"../components/SideBar.css\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { Link } from \"react-router-dom\";\r\nimport MapView from \"../components/MapView.jsx\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { apiRequest } from \"../utils/Utils\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nconst styles = theme => ({});\r\n\r\nclass About extends Component {\r\n static contextType = PFContext;\r\n constructor() {\r\n super();\r\n this.state = {\r\n collapse: \"true\",\r\n isHidden: true,\r\n value: 1,\r\n haveNoAcess: false\r\n };\r\n }\r\n\r\n handleChange = (event, value) => {\r\n this.setState({ value });\r\n };\r\n\r\n componentDidMount() {\r\n apiRequest(`/accesscontrol`, \"get\").then(x => {\r\n if (x.data.length == 0) {\r\n this.props.history.push(\"/noaccess\");\r\n } else {\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n Tabular View\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Map View\r\n {\" \"}\r\n
\r\n
\r\n \r\n */}\r\n\r\n \r\n {data =>\r\n \r\n }\r\n \r\n
\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withStyles(styles)(About);\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport PaginationActions from \"./PaginationActions\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport { apiRequest, formatDate } from \"../utils/Utils\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { showMessage } from \"../actions/index\";\r\n\r\nfunction desc(a, b, orderBy) {\r\n if (a[orderBy] == null) {\r\n return (b[orderBy] == null) ? 0 : 1;\r\n }\r\n if (b[orderBy] == null) return -1;\r\n if (b[orderBy] < a[orderBy]) return -1;\r\n if (b[orderBy] > a[orderBy]) return 1;\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nconst rows = [\r\n { id: \"DeviceImage\", disablePadding: true, label: \"IMAGE\" },\r\n { id: \"MacId\", disablePadding: false, label: \"MAC ID\" },\r\n { id: \"Name\", numeric: false, disablePadding: false, label: \"NAME\" },\r\n // { id: \"DisplayName\", numeric: false, disablePadding: false, label: \"DISPLAY NAME\" },\r\n { id: \"FloorNumber\", numeric: false, disablePadding: false, label: \"FLOOR\" },\r\n { id: \"MeridianCreated\", numeric: false, disablePadding: false, label: \"CREATED\" }\r\n];\r\n\r\nclass EnhancedTableHead extends React.Component {\r\n createSortHandler = property => event => {\r\n this.props.onRequestSort(event, property);\r\n };\r\n\r\n render() {\r\n const {\r\n classes,\r\n onSelectAllClick,\r\n order,\r\n orderBy,\r\n numSelected,\r\n rowCount\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n \r\n {rows.map(\r\n row => (\r\n \r\n {(row.id != 'DeviceImage') ? (\r\n \r\n \r\n {row.label}\r\n \r\n \r\n ) : (\r\n row.label\r\n )}\r\n \r\n ),\r\n this\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst toolbarStyles = theme => ({\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n root: {\r\n paddingRight: theme.spacing(1)\r\n },\r\n highlight:\r\n theme.palette.type === \"light\"\r\n ? {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: \"#4b2e83\"\r\n }\r\n : {\r\n color: theme.palette.text.primary,\r\n backgroundColor: theme.palette.secondary.dark\r\n },\r\n spacer: {\r\n flex: \"1 1 60%\"\r\n },\r\n actions: {\r\n color: \"#4b2e83\",\r\n width: \"100%\"\r\n },\r\n title: {\r\n flex: \"0 0 auto\"\r\n }\r\n});\r\n\r\nlet EnhancedTableToolbar = props => {\r\n const { numSelected, classes } = props;\r\n\r\n return (\r\n 0\r\n })}\r\n >\r\n
\r\n

Map Devices

\r\n
\r\n
\r\n
\r\n \r\n {numSelected} selected\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nEnhancedTableToolbar = withStyles(toolbarStyles)(EnhancedTableToolbar);\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2)\r\n },\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n table: {\r\n minWidth: 50\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\"\r\n },\r\n button: {\r\n color: \"#4b2e83\",\r\n height: \"45px\",\r\n padding: \"0px !important\",\r\n //marginRight: \"18px\",\r\n width: \"90px\"\r\n },\r\n\r\n button3: {\r\n color: \"#4b2e83\",\r\n height: \"45px\",\r\n\r\n padding: \"0px !important\",\r\n marginRight: \"18px\",\r\n width: \"200px\"\r\n }\r\n});\r\n\r\nclass EnhancedTable extends React.Component {\r\n state = {\r\n order: \"desc\",\r\n orderBy: \"sno\",\r\n selected: [],\r\n page: 0,\r\n rowsPerPage: 5,\r\n entityId: this.props.entityid,\r\n showButton: false,\r\n openAlert: false,\r\n actionType: \"\",\r\n access: this.props.hasAccess\r\n };\r\n\r\n componentWillMount() {\r\n this.checkAccess();\r\n }\r\n\r\n handleRequestSort = (event, property) => {\r\n const orderBy = property;\r\n let order = \"desc\";\r\n\r\n if (this.state.orderBy === property && this.state.order === \"desc\") {\r\n order = \"asc\";\r\n }\r\n\r\n this.setState({ order, orderBy });\r\n };\r\n\r\n handleSelectAllClick = event => {\r\n if (event.target.checked) {\r\n this.setState(state => ({ selected: state.data.map(n => n.id) }));\r\n return;\r\n }\r\n this.setState({ selected: [] });\r\n };\r\n\r\n handleClick = (event, id) => {\r\n const { selected } = this.state;\r\n const selectedIndex = selected.indexOf(id);\r\n let newSelected = [];\r\n\r\n if (selectedIndex === -1) {\r\n newSelected = newSelected.concat(selected, id);\r\n } else if (selectedIndex === 0) {\r\n newSelected = newSelected.concat(selected.slice(1));\r\n } else if (selectedIndex === selected.length - 1) {\r\n newSelected = newSelected.concat(selected.slice(0, -1));\r\n } else if (selectedIndex > 0) {\r\n newSelected = newSelected.concat(\r\n selected.slice(0, selectedIndex),\r\n selected.slice(selectedIndex + 1)\r\n );\r\n }\r\n\r\n this.setState({ selected: newSelected });\r\n };\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page });\r\n };\r\n\r\n handleChangeRowsPerPage = (event,data) => {\r\n if (event.target.value * this.state.page > data.length && this.state.page != 0)\r\n this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n else\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n isSelected = id => this.state.selected.indexOf(id) !== -1;\r\n\r\n componentWillReceiveProps(newProps) {\r\n let old_entity = this.state.entityId;\r\n this.setState(\r\n {\r\n entityId: newProps.entityid,\r\n access: newProps.hasAccess,\r\n page: newProps.page\r\n },\r\n () => {\r\n if (old_entity !== this.state.entityId)\r\n this.checkAccess();\r\n }\r\n );\r\n }\r\n\r\n checkAccess() {\r\n apiRequest(\r\n `/accesscontrol?resourceType=entity&resourceId=${this.state.entityId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.data[0] == 700 || response.data[0] == 500) {\r\n this.setState({\r\n showButton: true\r\n });\r\n } else {\r\n this.setState({\r\n showButton: false\r\n });\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n handleRemove = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n this.props.getMappedMacId(this.state.selected);\r\n this.setState({ selected: [] });\r\n };\r\n\r\n handleRemoveFromEntity = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n this.props.getIdtoberemoved(this.state.selected);\r\n this.setState({ selected: [] });\r\n };\r\n\r\n render() {\r\n const { numSelected } = this.props;\r\n const { classes } = this.props;\r\n const data = this.props.mappedDevices;\r\n const { order, orderBy, selected, rowsPerPage, page } = this.state;\r\n const emptyRows =\r\n rowsPerPage - Math.min(rowsPerPage, data.length - page * rowsPerPage);\r\n\r\n return (\r\n
\r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n \r\n
\r\n \r\n Already Assigned Devices\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {stableSort(data, getSorting(order, orderBy))\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map(n => {\r\n const isSelected = this.isSelected(n);\r\n return (\r\n this.handleClick(event, n)}\r\n role=\"checkbox\"\r\n aria-checked={isSelected}\r\n tabIndex={-1}\r\n key={n.MacId}\r\n selected={isSelected}\r\n >\r\n \r\n {this.state.access ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n {n.MacId}\r\n \r\n {n.Name}\r\n {/* {n.DisplayName} */}\r\n {n.FloorNumber}\r\n {n.MeridianCreated ? formatDate(new Date(n.MeridianCreated + \"Z\")) : \"\"}\r\n \r\n );\r\n })}\r\n {/* emptyRows > 0 && (\r\n \r\n \r\n \r\n ) */}\r\n \r\n
\r\n
\r\n this.handleChangeRowsPerPage(evt, data)}\r\n />\r\n \r\n {this.state.selected.length + \" row(s) selected.\"}\r\n \r\n {\r\n if (this.state.selected.length == 0) {\r\n this.props.showMessageBox(\"Please Select devices\");\r\n return;\r\n }\r\n this.setState({\r\n actionType: \"REMOVE\",\r\n openAlert: true\r\n });\r\n }}\r\n variant=\"outlined\"\r\n disabled={!this.state.access}\r\n className={classNames(classes.button, \"button1\", \"float-right\")}\r\n //className={classNames(\"button1\", \"float-right\")}\r\n >\r\n Remove\r\n \r\n\r\n {\r\n if (this.state.selected.length == 0) {\r\n this.props.showMessageBox(\"Please Select devices\");\r\n return;\r\n }\r\n this.setState({\r\n actionType: \"REMOVE FROM Organization\",\r\n openAlert: true\r\n });\r\n }}\r\n variant=\"outlined\"\r\n disabled={!this.state.showButton}\r\n className={classNames(classes.button3, \"button1\", \"float-right\")}\r\n //className={classNames(\"button1\", \"float-right\")}\r\n >\r\n Remove from Organization\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(EnhancedTable);\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport PaginationActions from \"./PaginationActions\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { getEntity, showMessage } from \"../actions/index\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport { apiRequest, isPortalAdmin, atLastPageScrollToTop, formatDate } from \"../utils/Utils\";\r\n\r\nfunction desc(a, b, orderBy) {\r\n if (a[orderBy] == null) {\r\n return (b[orderBy] == null) ? 0 : 1;\r\n }\r\n if (b[orderBy] == null) return -1;\r\n if (b[orderBy] < a[orderBy]) return -1;\r\n if (b[orderBy] > a[orderBy]) return 1;\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nconst rows = [\r\n { id: \"DeviceImage\", disablePadding: true, label: \"IMAGE\" },\r\n { id: \"MacId\", disablePadding: false, label: \"MAC ID\" },\r\n { id: \"Name\", numeric: false, disablePadding: false, label: \"NAME\" },\r\n // { id: \"DisplayName\", numeric: false, disablePadding: false, label: \"DISPLAY NAME\" },\r\n { id: \"FloorNumber\", numeric: false, disablePadding: false, label: \"FLOOR\" },\r\n { id: \"MeridianCreated\", numeric: false, disablePadding: false, label: \"CREATED\" }\r\n];\r\n\r\nclass EnhancedTableHead extends React.Component {\r\n createSortHandler = property => event => {\r\n this.props.onRequestSort(event, property);\r\n };\r\n\r\n render() {\r\n const {\r\n classes,\r\n onSelectAllClick,\r\n order,\r\n orderBy,\r\n numSelected,\r\n rowCount\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n {rows.map(\r\n row => (\r\n \r\n {(row.id != 'DeviceImage') ? (\r\n \r\n \r\n {row.label}\r\n \r\n \r\n ) : (\r\n row.label\r\n )}\r\n \r\n ),\r\n this\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst toolbarStyles = theme => ({\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n root: {\r\n paddingRight: theme.spacing(1)\r\n },\r\n highlight:\r\n theme.palette.type === \"light\"\r\n ? {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: \"#4b2e83\"\r\n }\r\n : {\r\n color: theme.palette.text.primary,\r\n backgroundColor: theme.palette.secondary.dark\r\n },\r\n spacer: {\r\n flex: \"1 1 60%\"\r\n },\r\n actions: {\r\n color: \"#4b2e83\",\r\n width: \"100%\"\r\n },\r\n title: {\r\n flex: \"0 0 auto\"\r\n }\r\n});\r\n\r\nlet EnhancedTableToolbar = props => {\r\n const { numSelected, classes } = props;\r\n\r\n return (\r\n 0\r\n })}\r\n >\r\n
\r\n

Map Devices

\r\n
\r\n
\r\n
\r\n \r\n {numSelected} selected\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nEnhancedTableToolbar = withStyles(toolbarStyles)(EnhancedTableToolbar);\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2)\r\n },\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n table: {\r\n minWidth: 50\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\"\r\n },\r\n button: {\r\n color: \"#4b2e83\",\r\n height: \"40px\",\r\n width: \"100%\",\r\n padding: \"0px !important\"\r\n },\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n textField: { width: \"100%\", margin: \"0px !important\" }\r\n});\r\n\r\nclass EnhancedTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n order: \"desc\",\r\n orderBy: \"sno\",\r\n selected: [],\r\n data: props.unmappedDevices || [],\r\n page: 0,\r\n EntityId: \"\",\r\n entityData: [],\r\n rowsPerPage: this.props.assignTo === \"Organization\" ? 10 : 5,\r\n openAlert: false,\r\n access: props.hasAccess\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n this.props.storeEntity();\r\n }\r\n\r\n handleRequestSort = (event, property) => {\r\n const orderBy = property;\r\n let order = \"desc\";\r\n\r\n if (this.state.orderBy === property && this.state.order === \"desc\") {\r\n order = \"asc\";\r\n }\r\n\r\n this.setState({ order, orderBy });\r\n };\r\n\r\n handleSelectAllClick = event => {\r\n if (event.target.checked) {\r\n this.setState(state => ({\r\n selected: this.props.unmappedDevices.map(n => n.MacId)\r\n }));\r\n return;\r\n }\r\n this.setState({ selected: [] });\r\n };\r\n\r\n componentWillReceiveProps({ entities, hasAccess, page }) {\r\n this.setState({\r\n entityData: entities,\r\n access: hasAccess,\r\n selected: hasAccess ? this.state.selected : [],\r\n page: 0\r\n });\r\n }\r\n\r\n handleClick = (event, id) => {\r\n if (this.state.access) {\r\n const { selected } = this.state;\r\n const selectedIndex = selected.indexOf(id);\r\n let newSelected = [];\r\n\r\n if (selectedIndex === -1) {\r\n newSelected = newSelected.concat(selected, id);\r\n } else if (selectedIndex === 0) {\r\n newSelected = newSelected.concat(selected.slice(1));\r\n } else if (selectedIndex === selected.length - 1) {\r\n newSelected = newSelected.concat(selected.slice(0, -1));\r\n } else if (selectedIndex > 0) {\r\n newSelected = newSelected.concat(\r\n selected.slice(0, selectedIndex),\r\n selected.slice(selectedIndex + 1)\r\n );\r\n }\r\n\r\n this.setState({ selected: newSelected });\r\n }\r\n };\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page }, () => {\r\n atLastPageScrollToTop(this.props.unmappedDevices.length,this.state.rowsPerPage,page);\r\n });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n if (event.target.value * this.state.page > this.state.data.length && this.state.page != 0)\r\n this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n else\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n searchTable(e) {\r\n var input, found, table, tr, td, i, j;\r\n\r\n input = e.target.value.toUpperCase();\r\n table = document.getElementsByTagName(\"table\");\r\n tr = table[0].getElementsByTagName(\"tr\");\r\n for (i = 1; i < tr.length; i++) {\r\n td = tr[i].getElementsByTagName(\"td\");\r\n for (j = 0; j < td.length; j++) {\r\n if (td[j].innerHTML.toUpperCase().indexOf(input) > -1) {\r\n found = true;\r\n }\r\n }\r\n if (found) {\r\n tr[i].style.display = \"\";\r\n found = false;\r\n } else {\r\n tr[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n isSelected = id => this.state.selected.indexOf(id) !== -1;\r\n\r\n handleAssign = () => {\r\n this.setState({\r\n openAlert: false\r\n });\r\n if (this.props.assignTo === \"Organization\")\r\n this.props.getMacId(this.state.selected, this.state.EntityId);\r\n else\r\n this.props.getMacId(this.state.selected);\r\n this.setState({ selected: [] });\r\n };\r\n\r\n filterBasedOnMapping = (unmapped, mapped) => {\r\n let mds = mapped ? mapped.map(e => e.MacId) : [];\r\n return unmapped.filter(f => !mds.includes(f.MacId));\r\n }\r\n\r\n render() {\r\n const { numSelected } = this.props;\r\n const { classes } = this.props;\r\n const data = this.filterBasedOnMapping(this.props.unmappedDevices, this.props.mappedDevices);\r\n const { order, orderBy, selected, rowsPerPage, page } = this.state;\r\n const emptyRows =\r\n rowsPerPage - Math.min(rowsPerPage, data.length - page * rowsPerPage);\r\n\r\n return (\r\n
\r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n \r\n {this.props.assignTo === \"Organization\" ? (\r\n \r\n \r\n \r\n {`${\r\n this.props.assignTo == \"Collection\"\r\n ? \"Assign Devices to a Collection\"\r\n : \"Assign Devices to a Department\"\r\n }`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n className: classes.input\r\n }}\r\n InputLabelProps={{\r\n className: classes.label\r\n }}\r\n />\r\n \r\n \r\n ) : (\r\n
\r\n \r\n {`${\r\n this.props.assignTo == \"Collection\"\r\n ? \"Assign Devices to a Collection\"\r\n : \"Assign Devices to a Department\"\r\n }`}\r\n \r\n
\r\n )}\r\n\r\n
\r\n \r\n \r\n \r\n {stableSort(data, getSorting(order, orderBy))\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map(n => {\r\n const isSelected = this.isSelected(n.MacId);\r\n return (\r\n this.handleClick(event, n.MacId)}\r\n role=\"checkbox\"\r\n aria-checked={isSelected}\r\n tabIndex={-1}\r\n key={n.MacId}\r\n selected={isSelected}\r\n >\r\n \r\n {this.state.access ? (\r\n \r\n ) : null}\r\n \r\n \r\n \"\"\r\n\r\n \r\n \r\n {n.MacId}\r\n \r\n {n.Name}\r\n {/* {n.DisplayName} */}\r\n {n.FloorNumber}\r\n {n.MeridianCreated ? formatDate(new Date(n.MeridianCreated + \"Z\")) : \"\"}\r\n \r\n );\r\n })}\r\n {/* emptyRows > 0 && (\r\n \r\n \r\n \r\n ) */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {this.state.access && \r\n {this.state.selected.length + \" row(s) selected.\"}\r\n }\r\n \r\n \r\n {this.props.assignTo === \"Organization\" ? (\r\n \r\n {this.state.entityData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n ) : null}\r\n \r\n \r\n {\r\n if (this.state.selected.length == 0) {\r\n this.props.showMessageBox(\"Please Select devices\");\r\n return;\r\n }\r\n this.setState({\r\n openAlert: true\r\n });\r\n }}\r\n variant=\"outlined\"\r\n disabled={!this.state.access}\r\n //className={classNames(classes.button, \"float-right\", \"button1\")}\r\n className={classNames(\"float-right\", \"button1\")}\r\n >\r\n {this.props.assignTo === \"Organization\" ? \"Take Ownership\" : \"Assign\"}\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { entities } = state;\r\n return {\r\n entities\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n storeEntity: () => getEntity(dispatch),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(EnhancedTable);\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport \"./ManageDevices.css\";\r\nimport TableMapped from \"./TableMappedDevices.jsx\";\r\nimport TableUnMapped from \"./TableUnmappedDevices.jsx\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport {\r\n getEntity,\r\n getLocations,\r\n getCollections,\r\n getDeviceFlags,\r\n getAssetType,\r\n getAssetModel,\r\n getAssetManufacturer,\r\n cleanData,\r\n showMessage,\r\n getAssets\r\n} from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport { apiRequest, byName } from \"../utils/Utils\";\r\n\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n input: {\r\n height: 40\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n flexGrow: 1\r\n },\r\n root2: {\r\n ...theme.mixins.gutters(),\r\n paddingBottom: theme.spacing(1)\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: {\r\n width: \"100%\"\r\n },\r\n dense: {\r\n marginTop: 16\r\n },\r\n menu: {\r\n width: 200\r\n },\r\n ip: {\r\n height: \"40px\"\r\n }\r\n});\r\n\r\nclass ManageDevices extends Component {\r\n state = {\r\n entity: sessionStorage.getItem(\"entityID\") ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n dept: sessionStorage.getItem(\"departmentID\") ? JSON.parse(sessionStorage.getItem(\"departmentID\")) : \"\",\r\n loc: sessionStorage.getItem(\"locationID\") ? JSON.parse(sessionStorage.getItem(\"locationID\")) : \"\",\r\n manufacturer: \"\",\r\n model: \"\",\r\n type: \"\",\r\n flag: \"\",\r\n //search: \"\",\r\n showFilters: false,\r\n //Filters: true,\r\n selectedRows: \"0\",\r\n entityData: [],\r\n locationData: [],\r\n collectionData: [],\r\n mappedAssets: [],\r\n unmappedAssets: [],\r\n flagData: [],\r\n assetManufacturerData: [],\r\n assetModelData: [],\r\n assetTypeData: [],\r\n macId: \"\",\r\n showMappingTable: true,\r\n loadingunMapped: true,\r\n loadingMapped: true,\r\n enableFilterBtn: false,\r\n params: \"\",\r\n deptType: \"\",\r\n hasAccess: false,\r\n isFilterOpen: false,\r\n searchText: \"\"\r\n };\r\n\r\n componentWillMount() {\r\n this.k = 1;\r\n this.z = 1;\r\n this.loadunMapped();\r\n //this.props.getEntities();\r\n this.props.getFlags();\r\n this.props.getAssetTypes();\r\n this.props.getAssetManufacturers();\r\n this.props.getAssetModels();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.entity && this.state.dept) {\r\n this.checkAccess();\r\n this.onSubmit(false);\r\n }\r\n }\r\n\r\n loadunMapped() {\r\n let search = \"\";\r\n if (this.props.params != \"\" && this.z == 1) {\r\n this.z = 2;\r\n search = `entity_id=${this.props.params.substring(\r\n 4,\r\n this.props.params.indexOf(\"&\")\r\n )}&device_flag=NOT_MAPPED&searchType=formapping`;\r\n } else {\r\n search = `searchType=formapping&entity_id=${this.state.entity}`;\r\n }\r\n this.props.getAsset(search);\r\n // if (this.state.entity != \"\") {\r\n // this.props.getLocation(this.state.entity);\r\n // this.props.getCollection(this.state.entity, this.state.loc);\r\n // }\r\n }\r\n\r\n mapDevices(macID) {\r\n if (this.state.dept == \"\") {\r\n this.props.showMessageBox(\"Select Department first\");\r\n return;\r\n }\r\n let That = this;\r\n That.setState({\r\n loadingMapped: false,\r\n loadingunMapped: false,\r\n searchText: \"\",\r\n type: \"\",\r\n flag: \"\",\r\n model: \"\",\r\n manufacturer: \"\",\r\n });\r\n const data = {\r\n mac: macID,\r\n CollectionId: this.state.dept\r\n };\r\n\r\n apiRequest(\"/assetmaps\", \"post\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n That.onSubmit(true);\r\n //That.loadunMapped();\r\n }\r\n\r\n if (x.status > 0 && x.message == null)\r\n That.props.showMessageBox(\"SUCCESS\");\r\n else {\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(x.message);\r\n }\r\n })\r\n .catch(err => {\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n\r\n getMacIdtoBeRemoved(that, id) {\r\n let That = this;\r\n const MacIds = id.map(item => item.MacId);\r\n const data = {\r\n entityId: That.state.entity,\r\n mac: MacIds\r\n };\r\n That.setState({\r\n loadingMapped: false,\r\n loadingunMapped: false\r\n });\r\n\r\n if (That.state.entity == \"\") {\r\n that.props.showMessageBox(\"Please selecte the Organization\");\r\n } else if (id == \"\") {\r\n that.props.showMessageBox(\"Please selecte the Device(s) to be assigned\");\r\n } else {\r\n apiRequest(`/assets/ownership`, \"delete\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n That.onSubmit(true);\r\n //That.loadunMapped();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n That.props.showMessageBox(\"SUCCESS\");\r\n else {\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(x.message);\r\n }\r\n })\r\n .catch(err => {\r\n //That.onSubmit();\r\n //That.loadunMapped();\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n }\r\n\r\n onSubmit = (reloadUnmapped) => {\r\n let That = this;\r\n That.setState({\r\n loadingMapped: false\r\n });\r\n if (reloadUnmapped) {\r\n //this.loadunMapped();\r\n this.handleFilter();\r\n }\r\n //Load Mapped Assets\r\n if (this.state.loc && this.state.dept) {\r\n apiRequest(`/collections/${this.state.dept}/assets`, \"get\")\r\n .then(response => {\r\n const newState = Object.assign({}, this.state, {\r\n mappedAssets: response.data\r\n });\r\n this.setState(newState);\r\n That.setState({\r\n loadingMapped: true\r\n });\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n this.setState({\r\n //Filters: false,\r\n showFilters: true\r\n });\r\n };\r\n\r\n handleChange = (name) => (event, value) => {\r\n //console.log(\"heloka\", event, value);\r\n var param = \"\";\r\n if (value !== null) {\r\n switch (name) {\r\n case \"manufacturer\":\r\n param = value.name;\r\n break;\r\n // case \"batteryLevel\":\r\n // param = value.value;\r\n // break;\r\n case \"model\":\r\n param = value.name;\r\n break;\r\n case \"type\":\r\n param = value.name;\r\n break;\r\n case \"flag\":\r\n param = value.name\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n this.setState(\r\n {\r\n //[name]: event.target.value\r\n [name]: param\r\n },\r\n () => {\r\n if (name === \"entity\") {\r\n sessionStorage.setItem(\"entityID\", event.target.value ? JSON.stringify(event.target.value) : \"\");\r\n this.props.getLocation(event.target.value);\r\n } else if (name === \"loc\") {\r\n this.props.getCollection(this.state.entity, event.target.value);\r\n } else if (name === \"dept\") {\r\n this.checkAccess();\r\n this.onSubmit(true);\r\n this.setState({ showFilters: true });\r\n } else if (name === \"manufacturer\" || name === \"type\" || name === \"flag\" || name === \"model\") {\r\n this.handleFilter();\r\n }\r\n }\r\n );\r\n };\r\n\r\n handleSearch = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n\r\n handleReset = () => {\r\n this.setState({\r\n showFilters: false,\r\n //Filters: true,\r\n //entity: \"\",\r\n dept: \"\",\r\n type: \"\",\r\n model: \"\",\r\n flag: \"\",\r\n manufacturer: \"\",\r\n loc: \"\",\r\n params: \"\"\r\n });\r\n //this.props.resetData();\r\n };\r\n\r\n handleResetFilters = () => {\r\n if (\r\n this.state.manufacturer !== \"\" ||\r\n this.state.model !== \"\" ||\r\n this.state.type !== \"\" ||\r\n this.state.flag !== \"\"\r\n ) {\r\n this.setState({\r\n //search: \"\",\r\n type: \"\",\r\n flag: \"\",\r\n model: \"\",\r\n manufacturer: \"\",\r\n //Filters: false\r\n }, () => this.handleFilter());\r\n }\r\n //this.onSubmit();\r\n };\r\n\r\n handleSelected = Value => {\r\n this.setState({ selectedRows: Value });\r\n };\r\n\r\n componentWillReceiveProps({\r\n entities,\r\n locations,\r\n collections,\r\n deviceFlags,\r\n assetTypes,\r\n assetModel,\r\n assetManufacturer,\r\n assets,\r\n hideLoader,\r\n params = \"\",\r\n values\r\n }) {\r\n if (values) {\r\n let old_entity = this.state.entity;\r\n let old_loc = this.state.loc;\r\n if (\r\n values.entity !== this.state.entity ||\r\n values.loc !== this.state.loc ||\r\n values.dept !== this.state.dept\r\n ) {\r\n this.setState({\r\n entity: values.entity,\r\n loc: values.loc,\r\n dept: values.dept\r\n }, () => {\r\n if (old_entity != this.state.entity || old_loc != this.state.loc) {\r\n this.setState({ hasAccess: false, showFilters: false });\r\n if (old_entity != this.state.entity) {\r\n //this.loadunMapped();\r\n this.handleFilter();\r\n }\r\n }\r\n else if (this.state.entity !== \"\" && this.state.loc !== \"\" && this.state.dept !== \"\") {\r\n this.checkAccess();\r\n this.onSubmit(false);\r\n }\r\n else {\r\n this.setState({ hasAccess: false, showFilters: false });\r\n }\r\n });\r\n }\r\n }\r\n if (assets != this.state.unmappedAssets) {\r\n this.setState({\r\n loadingunMapped: true\r\n });\r\n }\r\n this.setState({\r\n entityData: entities,\r\n locationData: locations,\r\n collectionData: collections,\r\n flagData: deviceFlags.sort(byName),\r\n assetTypeData: assetTypes.sort(byName) || [],\r\n assetModelData: assetModel.sort(byName),\r\n assetManufacturerData: assetManufacturer.sort(byName),\r\n unmappedAssets: assets,\r\n params\r\n });\r\n if (assetManufacturer.length > 0) {\r\n this.setState({\r\n loadingunMapped: true\r\n });\r\n }\r\n if (this.state.params != \"\") {\r\n if (this.k == 1) {\r\n this.setState(\r\n {\r\n entity: parseInt(params.substring(4, params.indexOf(\"&\"))),\r\n flag: \"NOT_MAPPED\"\r\n },\r\n () => {\r\n if (this.k == 1) {\r\n this.k = 2;\r\n this.props.getLocation(params.substring(4, params.indexOf(\"&\")));\r\n this.props.getCollection(\r\n params.substring(4, params.indexOf(\"&\"))\r\n );\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n getMacID(that, id) {\r\n that.mapDevices(id);\r\n }\r\n\r\n //to unmap a device\r\n getMappedMacID(that, id) {\r\n let That = this;\r\n That.setState({\r\n loadingMapped: false,\r\n loadingunMapped: false,\r\n searchText: \"\",\r\n type: \"\",\r\n flag: \"\",\r\n model: \"\",\r\n manufacturer: \"\",\r\n });\r\n\r\n const AssetMapIds = id.map(item => item.AssetMapId);\r\n apiRequest(`/assetmaps`, \"delete\", { ids: AssetMapIds })\r\n .then(x => {\r\n if (x.status > 0) {\r\n That.onSubmit(true);\r\n //That.loadunMapped();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n That.props.showMessageBox(\"SUCCESS\");\r\n else {\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(x.message);\r\n }\r\n })\r\n .catch(err => {\r\n //That.onSubmit();\r\n //That.loadunMapped();\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n\r\n handleFilter = () => {\r\n //console.log(\"helokaF\", this.state);\r\n if (\r\n this.state.model == \"\" &&\r\n this.state.type == \"\" &&\r\n this.state.manufacturer == \"\" &&\r\n this.state.flag == \"\"\r\n ) {\r\n this.loadunMapped();\r\n return;\r\n }\r\n //this.searchParam = `entity_id=${this.state.entity}&`;\r\n this.searchParam = ``;\r\n if (this.state.flag !== \"ORPHAN\")\r\n this.searchParam = `entity_id=${this.state.entity}&`;\r\n if (this.state.flag !== \"\")\r\n this.searchParam += `device_flag=${this.state.flag}&`;\r\n if (this.state.model !== \"\")\r\n this.searchParam += `model=${this.state.model}&`;\r\n if (this.state.manufacturer !== \"\")\r\n this.searchParam += `manufacturer=${this.state.manufacturer}&`;\r\n if (this.state.type !== \"\")\r\n this.searchParam += `type=${this.state.type}&`;\r\n this.searchParam += `searchType=formapping`;\r\n this.props.getAsset(this.searchParam);\r\n };\r\n\r\n checkAccess() {\r\n let type = \"collection\";\r\n let id = this.state.dept;\r\n\r\n apiRequest(`/accesscontrol?resourceType=${type}&resourceId=${id}`, \"get\")\r\n .then(response => {\r\n if (response.data[0] >= 500) {\r\n this.setState({\r\n hasAccess: true\r\n });\r\n } else {\r\n this.setState({\r\n hasAccess: false\r\n });\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n filteredData(data) {\r\n const search = this.state.searchText.toLowerCase();\r\n if (search == \"\") {\r\n return data;\r\n } else {\r\n return data.filter(item =>\r\n item.MacId.toLowerCase().includes(search) ||\r\n item.Name.toLowerCase().includes(search) //||\r\n //item.DisplayName.toLowerCase().includes(search)\r\n );\r\n }\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n var manuObj = this.state.assetManufacturerData.find(e => e.name == this.state.manufacturer) || null;\r\n var mObj = this.state.assetModelData.find(e => e.name == this.state.model) || null;\r\n var tObj = this.state.assetTypeData.find(e => e.name == this.state.type) || null;\r\n var fObj = this.state.flagData.find(e => e.name == this.state.flag) || null;\r\n return (\r\n
\r\n
\r\n {/* \r\n \r\n \r\n \r\n \r\n Select\r\n \r\n \r\n \r\n \r\n {this.state.entityData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.locationData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.collectionData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n className: classes.input,\r\n }}\r\n onChange={input => this.setState({ searchText: input.target.value })}\r\n />\r\n \r\n \r\n this.setState({ isFilterOpen: !this.state.isFilterOpen })}\r\n style={{\r\n color: \"#4b2e83\",\r\n //opacity: \"1\",\r\n //outline: \"none\"\r\n }}\r\n //className=\"buttonnobg float-center\"\r\n >\r\n Filter\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"manufacturer\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n
\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"model\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.assetModelData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"type\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.assetTypeData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name == \"NOT_MAPPED\" ? \"NO DEPARTMENT\" : option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name == \"NOT_MAPPED\" ? \"NO DEPARTMENT\" : option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"flag\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n
\r\n\r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n {/* \r\n \r\n \r\n \r\n \r\n Filters\r\n \r\n \r\n \r\n \r\n {this.state.assetManufacturerData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.assetModelData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {this.state.assetTypeData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.flagData.map(option => (\r\n \r\n {option.name == \"NOT_MAPPED\"\r\n ? \"NO DEPARTMENT\"\r\n : option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n */}\r\n\r\n {/*this.state.loadingunMapped*/ this.props.hideLoader ? (\r\n
\r\n this.getMacID(this, id)}\r\n assignTo={\"Department\"}\r\n hasAccess={this.state.hasAccess}\r\n page={0}\r\n />\r\n
\r\n ) : this.props.hideLoader == null ? (\r\n \r\n

An error has occurred.

\r\n \r\n ) : (\r\n \r\n \r\n

\r\n Loading Unmapped Devices\r\n

\r\n
\r\n )}\r\n\r\n {this.state.showFilters ? (\r\n
\r\n {this.state.loadingMapped ? (\r\n
\r\n this.getMappedMacID(this, id)}\r\n getIdtoberemoved={id => this.getMacIdtoBeRemoved(this, id)}\r\n entityid={this.state.entity}\r\n hasAccess={this.state.hasAccess}\r\n page={0}\r\n />{\" \"}\r\n
\r\n ) : (\r\n \r\n \r\n

\r\n Loading Mapped Devices\r\n

\r\n
\r\n )}\r\n \r\n ) : (\r\n \r\n

\r\n Please select the Organization, Campus and Department to see mapped devices\r\n

\r\n
\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nManageDevices.propTypes = {\r\n classes: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n const {\r\n entities,\r\n collections,\r\n locations,\r\n deviceFlags,\r\n assetTypes,\r\n assetManufacturer,\r\n assetModel,\r\n assets,\r\n hideLoader\r\n } = state;\r\n return {\r\n entities,\r\n collections,\r\n locations,\r\n deviceFlags,\r\n assetTypes,\r\n assetManufacturer,\r\n assetModel,\r\n assets,\r\n hideLoader\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getEntities: () => getEntity(dispatch),\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locationId = \"\") => getCollections(dispatch, entityId, locationId),\r\n getFlags: () => getDeviceFlags(dispatch),\r\n getAssetTypes: () => getAssetType(dispatch),\r\n getAssetManufacturers: () => getAssetManufacturer(dispatch),\r\n getAssetModels: () => getAssetModel(dispatch),\r\n resetData: () => dispatch(cleanData()),\r\n showMessageBox: message => dispatch(showMessage(message)),\r\n getAsset: params => getAssets(dispatch, params)\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(ManageDevices);\r\n","import React, { Component } from \"react\";\r\nimport ManageDevices from \"../components/ManageDevicesComp.jsx\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nclass DeviceManage extends Component {\r\n state = {};\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {data =>\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DeviceManage;\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport \"./ManageDevices.css\";\r\nimport TableMapped from \"./TableMappedDevices.jsx\";\r\nimport TableUnMapped from \"./TableUnmappedDevices.jsx\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport {\r\n getEntity,\r\n getLocations,\r\n getCollections,\r\n getDeviceFlags,\r\n getAssetType,\r\n getAssetModel,\r\n getAssetManufacturer,\r\n cleanData,\r\n showMessage,\r\n getAssets\r\n} from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport { apiRequest, byName } from \"../utils/Utils\";\r\n\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n input: {\r\n height: 40\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n flexGrow: 1\r\n },\r\n root2: {\r\n ...theme.mixins.gutters(),\r\n paddingBottom: theme.spacing(1)\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: {\r\n width: \"100%\"\r\n },\r\n dense: {\r\n marginTop: 16\r\n },\r\n menu: {\r\n width: 200\r\n },\r\n ip: {\r\n height: \"40px\"\r\n }\r\n});\r\n\r\nclass ManageDevices extends Component {\r\n state = {\r\n entity:sessionStorage.getItem(\"entityID\") ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n dept: sessionStorage.getItem(\"collectionID\") ? JSON.parse(sessionStorage.getItem(\"collectionID\")) : \"\",\r\n loc: \"\",\r\n manufacturer: \"\",\r\n model: \"\",\r\n type: \"\",\r\n flag: \"\",\r\n //search: \"\",\r\n showFilters: false,\r\n //Filters: true,\r\n selectedRows: \"0\",\r\n entityData: [],\r\n locationData: [],\r\n collectionData: [],\r\n mappedAssets: [],\r\n unmappedAssets: [],\r\n flagData: [],\r\n assetManufacturerData: [],\r\n assetModelData: [],\r\n assetTypeData: [],\r\n macId: \"\",\r\n showMappingTable: true,\r\n loadingunMapped: true,\r\n loadingMapped: true,\r\n enableFilterBtn: false,\r\n params: \"\",\r\n deptType: \"\",\r\n hasAccess: false,\r\n isFilterOpen: false,\r\n searchText: \"\"\r\n };\r\n\r\n componentWillMount() {\r\n this.k = 1;\r\n this.loadunMapped();\r\n //this.props.getEntities();\r\n this.props.getFlags();\r\n this.props.getAssetTypes();\r\n this.props.getAssetManufacturers();\r\n this.props.getAssetModels();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.entity && this.state.dept) {\r\n this.checkAccess();\r\n this.onSubmit();\r\n }\r\n }\r\n\r\n loadunMapped() {\r\n let search = \"\";\r\n search = `searchType=forcollection&collection_id=${this.state.dept}`;\r\n this.props.getAsset(search);\r\n // if (this.state.entity != \"\")\r\n // this.props.getCollection(this.state.entity);\r\n }\r\n\r\n mapDevices(macID) {\r\n if (this.state.dept == \"\") {\r\n this.props.showMessageBox(\"Select Collection first\");\r\n return;\r\n }\r\n let That = this;\r\n That.setState({\r\n loadingMapped: false,\r\n loadingunMapped: false,\r\n searchText: \"\",\r\n type: \"\",\r\n flag: \"\",\r\n model: \"\",\r\n manufacturer: \"\",\r\n });\r\n const data = {\r\n mac: macID,\r\n CollectionId: this.state.dept\r\n };\r\n\r\n apiRequest(\"/assetmaps\", \"post\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n That.onSubmit();\r\n That.loadunMapped();\r\n }\r\n\r\n if (x.status > 0 && x.message == null)\r\n That.props.showMessageBox(\"SUCCESS\");\r\n else {\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(x.message);\r\n }\r\n })\r\n .catch(err => {\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n\r\n getMacIdtoBeRemoved(that, id) {\r\n let That = this;\r\n const MacIds = id.map(item => item.MacId);\r\n const data = {\r\n entityId: That.state.entity,\r\n mac: MacIds\r\n };\r\n That.setState({\r\n loadingMapped: false,\r\n loadingunMapped: false\r\n });\r\n\r\n if (That.state.entity == \"\") {\r\n that.props.showMessageBox(\"Please selecte the Organization\");\r\n } else if (id == \"\") {\r\n that.props.showMessageBox(\"Please selecte the Device(s) to be assigned\");\r\n } else {\r\n apiRequest(`/assets/ownership`, \"delete\", data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n That.onSubmit();\r\n That.loadunMapped();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n That.props.showMessageBox(\"SUCCESS\");\r\n else {\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(x.message);\r\n }\r\n })\r\n .catch(err => {\r\n That.onSubmit();\r\n That.loadunMapped();\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n }\r\n\r\n onSubmit = () => {\r\n let That = this;\r\n That.setState({\r\n loadingMapped: false\r\n });\r\n //this.loadunMapped();\r\n this.handleFilter();\r\n if (this.state.dept) {\r\n apiRequest(`/collections/${this.state.dept}/assets`, \"get\")\r\n .then(response => {\r\n const newState = Object.assign({}, this.state, {\r\n mappedAssets: response.data\r\n });\r\n this.setState(newState);\r\n That.setState({\r\n loadingMapped: true\r\n });\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n this.setState({\r\n //Filters: false,\r\n showFilters: true\r\n });\r\n };\r\n\r\n handleChange = (name) => (event, value) => {\r\n //console.log(\"heloka\", event, value);\r\n var param = \"\";\r\n if (value !== null) {\r\n switch (name) {\r\n case \"manufacturer\":\r\n param = value.name;\r\n break;\r\n // case \"batteryLevel\":\r\n // param = value.value;\r\n // break;\r\n case \"model\":\r\n param = value.name;\r\n break;\r\n case \"type\":\r\n param = value.name;\r\n break;\r\n case \"flag\":\r\n param = value.name\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n this.setState(\r\n {\r\n //[name]: event.target.value\r\n [name]: param\r\n },\r\n () => {\r\n if (name === \"entity\") {\r\n sessionStorage.setItem(\"entityID\", event.target.value ? JSON.stringify(event.target.value) : \"\");\r\n this.props.getLocation(event.target.value);\r\n this.props.getCollection(event.target.value);\r\n } else if (name === \"loc\") {\r\n this.props.getCollection(this.state.entity, event.target.value);\r\n } else if (name === \"dept\") {\r\n this.checkAccess();\r\n this.onSubmit();\r\n this.setState({ showFilters: true });\r\n } else if (name === \"manufacturer\" || name === \"type\" || name === \"flag\" || name === \"model\") {\r\n this.handleFilter();\r\n }\r\n }\r\n );\r\n };\r\n\r\n handleSearch = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n\r\n handleReset = () => {\r\n this.setState({\r\n showFilters: false,\r\n //Filters: true,\r\n //entity: \"\",\r\n dept: \"\",\r\n type: \"\",\r\n model: \"\",\r\n flag: \"\",\r\n manufacturer: \"\",\r\n loc: \"\",\r\n params: \"\"\r\n });\r\n //this.props.resetData();\r\n };\r\n\r\n handleResetFilters = () => {\r\n if (\r\n this.state.manufacturer !== \"\" ||\r\n this.state.model !== \"\" ||\r\n this.state.type !== \"\" ||\r\n this.state.flag !== \"\"\r\n ) {\r\n this.setState({\r\n //search: \"\",\r\n type: \"\",\r\n flag: \"\",\r\n model: \"\",\r\n manufacturer: \"\",\r\n //Filters: false\r\n }, () => this.handleFilter());\r\n }\r\n //this.onSubmit();\r\n //this.handleFilter();\r\n };\r\n\r\n handleSelected = Value => {\r\n this.setState({ selectedRows: Value });\r\n };\r\n\r\n componentWillReceiveProps({\r\n entities,\r\n locations,\r\n collections,\r\n deviceFlags,\r\n assetTypes,\r\n assetModel,\r\n assetManufacturer,\r\n assets,\r\n hideLoader,\r\n params = \"\",\r\n values\r\n }) {\r\n if (values) {\r\n let old_entity = this.state.entity;\r\n if (\r\n values.entity !== this.state.entity ||\r\n values.coll !== this.state.dept\r\n ) {\r\n this.setState({\r\n entity: values.entity,\r\n dept: values.coll\r\n }, () => {\r\n if (old_entity != this.state.entity) {\r\n this.setState({ hasAccess: false, showFilters: false });\r\n //this.loadunMapped();\r\n }\r\n else if (this.state.entity !== \"\" && this.state.dept !== \"\") {\r\n this.checkAccess();\r\n this.onSubmit();\r\n }\r\n else {\r\n this.setState({ hasAccess: false, showFilters: false });\r\n }\r\n });\r\n }\r\n }\r\n if (assets != this.state.unmappedAssets) {\r\n this.setState({\r\n loadingunMapped: true\r\n });\r\n }\r\n this.setState({\r\n entityData: entities,\r\n locationData: locations,\r\n collectionData: collections,\r\n flagData: deviceFlags.sort(byName),\r\n assetTypeData: assetTypes.sort(byName) || [],\r\n assetModelData: assetModel.sort(byName),\r\n assetManufacturerData: assetManufacturer.sort(byName),\r\n unmappedAssets: assets,\r\n params\r\n });\r\n if (assetManufacturer.length > 0) {\r\n this.setState({\r\n loadingunMapped: true\r\n });\r\n }\r\n if (this.state.params != \"\") {\r\n if (this.k == 1) {\r\n this.setState(\r\n {\r\n entity: parseInt(params.substring(4, params.indexOf(\"&\"))),\r\n flag: \"NOT_MAPPED\"\r\n },\r\n () => {\r\n if (this.k == 1) {\r\n this.k = 2;\r\n this.props.getLocation(params.substring(4, params.indexOf(\"&\")));\r\n this.props.getCollection(\r\n params.substring(4, params.indexOf(\"&\"))\r\n );\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n getMacID(that, id) {\r\n that.mapDevices(id);\r\n }\r\n\r\n //to unmap a device\r\n getMappedMacID(that, id) {\r\n let That = this;\r\n That.setState({\r\n loadingMapped: false,\r\n loadingunMapped: false,\r\n searchText: \"\",\r\n type: \"\",\r\n flag: \"\",\r\n model: \"\",\r\n manufacturer: \"\",\r\n });\r\n\r\n const AssetMapIds = id.map(item => item.AssetMapId);\r\n apiRequest(`/assetmaps`, \"delete\", { ids: AssetMapIds })\r\n .then(x => {\r\n if (x.status > 0) {\r\n That.onSubmit();\r\n That.loadunMapped();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n That.props.showMessageBox(\"SUCCESS\");\r\n else {\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(x.message);\r\n }\r\n })\r\n .catch(err => {\r\n That.onSubmit();\r\n That.loadunMapped();\r\n That.setState({\r\n loadingMapped: true,\r\n loadingunMapped: true\r\n });\r\n That.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n\r\n handleFilter = () => {\r\n if (\r\n this.state.model == \"\" &&\r\n this.state.type == \"\" &&\r\n this.state.manufacturer == \"\" &&\r\n this.state.flag == \"\"\r\n ) {\r\n //this.handleResetFilters();\r\n this.loadunMapped();\r\n return;\r\n }\r\n //this.searchParam = `entity_id=${this.state.entity}&`;\r\n this.searchParam = ``;\r\n if (this.state.flag !== \"\")\r\n this.searchParam += `device_flag=${this.state.flag}&`;\r\n if (this.state.model !== \"\")\r\n this.searchParam += `model=${this.state.model}&`;\r\n if (this.state.manufacturer !== \"\")\r\n this.searchParam += `manufacturer=${this.state.manufacturer}&`;\r\n if (this.state.type !== \"\")\r\n this.searchParam += `type=${this.state.type}&`;\r\n if (this.state.dept !== \"\")\r\n this.searchParam += `collection_id=${this.state.dept}&`;\r\n this.searchParam += `searchType=forcollection`;\r\n this.props.getAsset(this.searchParam);\r\n };\r\n\r\n checkAccess() {\r\n let type = \"collection\";\r\n let id = this.state.dept;\r\n\r\n apiRequest(`/accesscontrol?resourceType=${type}&resourceId=${id}`, \"get\")\r\n .then(response => {\r\n if (response.data[0] >= 500) {\r\n this.setState({\r\n hasAccess: true\r\n });\r\n } else {\r\n this.setState({\r\n hasAccess: false\r\n });\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n filteredData(data) {\r\n const search = this.state.searchText.toLowerCase();\r\n if (search == \"\") {\r\n return data;\r\n } else {\r\n return data.filter(item =>\r\n item.MacId.toLowerCase().includes(search) ||\r\n item.Name.toLowerCase().includes(search)\r\n //|| item.DisplayName.toLowerCase().includes(search)\r\n );\r\n }\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n var manuObj = this.state.assetManufacturerData.find(e => e.name == this.state.manufacturer) || null;\r\n var mObj = this.state.assetModelData.find(e => e.name == this.state.model) || null;\r\n var tObj = this.state.assetTypeData.find(e => e.name == this.state.type) || null;\r\n var fObj = this.state.flagData.find(e => e.name == this.state.flag) || null;\r\n return (\r\n
\r\n
\r\n {/* \r\n \r\n \r\n \r\n \r\n Select\r\n \r\n \r\n \r\n \r\n {this.state.entityData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n {this.state.collectionData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n className: classes.input,\r\n }}\r\n onChange={input => this.setState({ searchText: input.target.value })}\r\n />\r\n \r\n \r\n this.setState({ isFilterOpen: !this.state.isFilterOpen })}\r\n style={{\r\n color: \"#4b2e83\",\r\n //opacity: \"1\",\r\n //outline: \"none\"\r\n }}\r\n //className=\"buttonnobg float-center\"\r\n >\r\n Filter\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"manufacturer\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n
\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"model\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.assetModelData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"type\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.assetTypeData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n \r\n option.name == value.name)}\r\n getOptionLabel={(option) => option.name == \"NOT_MAPPED\" ? \"NO DEPARTMENT\" : option.name}\r\n renderOption={(option) => (\r\n
\r\n {option.name == \"NOT_MAPPED\" ? \"NO DEPARTMENT\" : option.name}\r\n
\r\n )}\r\n onChange={this.handleChange(\"flag\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n
\r\n\r\n \r\n \r\n Clear\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n {/*this.state.loadingunMapped || this.state.loadingMapped*/ this.props.hideLoader ? (\r\n
\r\n this.getMacID(this, id)}\r\n assignTo={\"Collection\"}\r\n hasAccess={this.state.hasAccess}\r\n page={0}\r\n />\r\n
\r\n ) : this.props.hideLoader == null ? (\r\n \r\n

An error has occurred.

\r\n \r\n ) : (\r\n \r\n \r\n

\r\n Loading Unmapped Devices\r\n

\r\n \r\n )}\r\n\r\n {this.state.showFilters ? (\r\n
\r\n {this.state.loadingMapped ? (\r\n
\r\n this.getMappedMacID(this, id)}\r\n getIdtoberemoved={(id) =>\r\n this.getMacIdtoBeRemoved(this, id)\r\n }\r\n entityid={this.state.entity}\r\n hasAccess={this.state.hasAccess}\r\n page={0}\r\n />{\" \"}\r\n
\r\n ) : (\r\n \r\n \r\n

\r\n Loading Mapped Devices\r\n

\r\n
\r\n )}\r\n \r\n ) : (\r\n \r\n

\r\n Please select the Organization and Collection to see mapped devices\r\n

\r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nManageDevices.propTypes = {\r\n classes: PropTypes.object.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n const {\r\n entities,\r\n collections,\r\n locations,\r\n deviceFlags,\r\n assetTypes,\r\n assetManufacturer,\r\n assetModel,\r\n assets,\r\n hideLoader\r\n } = state;\r\n return {\r\n entities,\r\n collections,\r\n locations,\r\n deviceFlags,\r\n assetTypes,\r\n assetManufacturer,\r\n assetModel,\r\n assets,\r\n hideLoader\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getEntities: () => getEntity(dispatch),\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locationId = \"\") => getCollections(dispatch, entityId, locationId),\r\n getFlags: () => getDeviceFlags(dispatch),\r\n getAssetTypes: () => getAssetType(dispatch),\r\n getAssetManufacturers: () => getAssetManufacturer(dispatch),\r\n getAssetModels: () => getAssetModel(dispatch),\r\n resetData: () => dispatch(cleanData()),\r\n showMessageBox: message => dispatch(showMessage(message)),\r\n getAsset: params => getAssets(dispatch, params)\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(ManageDevices);\r\n","import React, { Component } from \"react\";\r\nimport ManageDevices from \"../components/ManageDevicesCompCol.jsx\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nclass DeviceManage extends Component {\r\n state = {};\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {data =>\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DeviceManage;\r\n","import React from \"react\";\r\nconst AlertContext = React.createContext({\r\n isActiveAlertChanged: false,\r\n handleAlert: () => {},\r\n});\r\nexport default AlertContext;","import React, { Component } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport {\r\n apiRequest,\r\n //storeEntityId,\r\n getEntityId,\r\n getMaxEntityAccess,\r\n atLastPageScrollToTop\r\n} from \"../utils/Utils\";\r\nimport {\r\n //getEntity,\r\n //getLocations,\r\n //getCollections,\r\n showMessage\r\n} from \"../actions/index\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"recompose\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { PFContext } from \"./PrimaryFilterContext\";\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport PaginationActions from \"./PaginationActions\";\r\nimport Moment from \"react-moment\";\r\nimport Linkify from 'react-linkify';\r\nimport AlertContext from \"./AlertContext\";\r\n\r\n\r\nimport InputLabel from \"@material-ui/core/InputLabel\";\r\nimport ReactQuill, { Quill } from 'react-quill';\r\nimport 'react-quill/dist/quill.snow.css';\r\nQuill.register(Quill.import('attributors/style/align'), true);\r\n\r\nconst cellStyle = theme => ({\r\n root: {\r\n \"word-break\": \"break-all\",\r\n },\r\n});\r\nconst TableCellS = withStyles(cellStyle)(TableCell);\r\n\r\nconst styles = theme => ({\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n flexGrow: 1\r\n },\r\n root2: {\r\n ...theme.mixins.gutters(),\r\n paddingBottom: theme.spacing(1)\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: { width: \"100%\" },\r\n dense: {\r\n marginTop: 16\r\n },\r\n menu: {\r\n width: 200\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n backgroundColor: \"#4b2e83\",\r\n width: \"250px\"\r\n },\r\n progress: {\r\n color: \"#4b2e83\"\r\n }\r\n});\r\n\r\nconst styles2 = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n // input: {\r\n // borderRadius: \"2px\",\r\n // width: \"100%\",\r\n // padding: \"5px\",\r\n // borderRadius: \"5px\",\r\n // outline: \"none\",\r\n // border: \"1px solid lightgrey\",\r\n // },\r\n textField: { width: \"100%\" },\r\n menu: {\r\n width: \"100%\"\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2)\r\n },\r\n root1: {\r\n width: \"100%\",\r\n marginTop: 5,\r\n marginBottom: 35\r\n },\r\n table: {},\r\n tableWrapper: {\r\n overflowX: \"auto\"\r\n },\r\n noPadding: {\r\n padding: 0\r\n }\r\n});\r\n\r\nconst rows = [\r\n { id: \"Type\", disablePadding: false, label: \"TYPE\" },\r\n { id: \"Description\", disablePadding: false, label: \"DESCRIPTION\" },\r\n { id: \"Created\", disablePadding: false, label: \"DATE ADDED\" },\r\n { id: \"IsActive\", disablePadding: false, label: \"STATUS\" },\r\n { id: \"IsDisMissable\", disablePadding: false, label: \"PERSISTENCE\" },\r\n];\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nfunction desc(a, b, orderBy) {\r\n let cmpa = \"\";\r\n let cmpb = \"\";\r\n // cmpa = a[orderBy] ? a[orderBy].toLowerCase() : \"\";\r\n // cmpb = b[orderBy] ? b[orderBy].toLowerCase() : \"\";\r\n if (orderBy == \"IsActive\") {\r\n cmpa = a[orderBy] ? \"Active\" : \"Inactive\";\r\n cmpb = b[orderBy] ? \"Active\" : \"Inactive\";\r\n }\r\n else if (orderBy == \"IsDisMissable\") {\r\n cmpa = a[orderBy] ? \"Dismissable\" : \"Persistent\";\r\n cmpb = b[orderBy] ? \"Dismissable\" : \"Persistent\";\r\n }\r\n else {\r\n cmpa = a[orderBy] ? a[orderBy].toLowerCase() : \"\";\r\n cmpb = b[orderBy] ? b[orderBy].toLowerCase() : \"\";\r\n }\r\n if (cmpb < cmpa) {\r\n return -1;\r\n }\r\n if (cmpb > cmpa) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nclass EnhancedTableHead extends React.Component {\r\n createSortHandler = property => event => {\r\n this.props.onRequestSort(event, property);\r\n };\r\n\r\n render() {\r\n const {\r\n onSelectAllClick,\r\n order,\r\n orderBy,\r\n //numSelected,\r\n rowCount\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n {rows.map(\r\n row => (\r\n \r\n \r\n \r\n {row.label}\r\n \r\n \r\n \r\n ),\r\n this\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nEnhancedTableHead.propTypes = {\r\n onRequestSort: PropTypes.func.isRequired,\r\n //numSelected: PropTypes.number.isRequired,\r\n order: PropTypes.string.isRequired,\r\n orderBy: PropTypes.string.isRequired,\r\n rowCount: PropTypes.number.isRequired\r\n};\r\n\r\nclass CreateAlert extends React.Component {\r\n static contextType = AlertContext;\r\n constructor(props) {\r\n super(props);\r\n this.page = props.params;\r\n }\r\n state = {\r\n stateModel: {\r\n EntityId: sessionStorage.getItem(\"entityID\") ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n Name: \"\",\r\n ShortName: \"\",\r\n Description: \"\"\r\n },\r\n serverModel: {\r\n EntityId: \"\",\r\n Name: \"\",\r\n ShortName: \"\",\r\n Description: \"\"\r\n },\r\n //entityData: [],\r\n isSubmitting: false,\r\n disableFields: false,\r\n openAlert: false,\r\n showRedField: false,\r\n\r\n order: \"asc\",\r\n orderBy: \"IsActive\",\r\n page: 0,\r\n rowsPerPage: 5,\r\n alerts: [],\r\n Type: \"\",\r\n Description: \"\",\r\n IsActive: false,\r\n IsDisMissable: true,\r\n DescriptionLength: 0\r\n };\r\n\r\n componentDidMount() {\r\n if (this.page != \"Create\") {\r\n apiRequest(`/masters/alerts`, \"get\")\r\n .then(response => {\r\n this.setState({ alerts: response.data });\r\n });\r\n }\r\n Quill.import('formats/link').PROTOCOL_WHITELIST = [\"https\"];\r\n }\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page }, () => {\r\n atLastPageScrollToTop(this.state.alerts.length, this.state.rowsPerPage, page);\r\n });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n if (event.target.value * this.state.page > this.state.alerts.length && this.state.page != 0)\r\n this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n else\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n handleRequestSort = (event, property) => {\r\n const orderBy = property;\r\n let order = \"desc\";\r\n\r\n if (this.state.orderBy === property && this.state.order === \"desc\") {\r\n order = \"asc\";\r\n }\r\n\r\n this.setState({ order, orderBy });\r\n };\r\n\r\n handleReset = () => {\r\n //if (this.props.params === \"Create\")\r\n if (this.page === \"Create\")\r\n this.setState({ Type: \"\", Description: \"\", DescriptionLength: 0, IsActive: false, IsDisMissable: true, showRedField: false });\r\n else\r\n apiRequest(`/masters/alerts`, \"get\")\r\n .then(response => {\r\n this.setState({ alerts: response.data });\r\n });\r\n };\r\n\r\n handleSubmt = () => {\r\n const THAT = this;\r\n THAT.setState({\r\n isSubmitting: true,\r\n openAlert: false,\r\n showRedField: false\r\n });\r\n let data = this.state.stateModel;\r\n let url = `/masters/alert`;\r\n let method = \"\";\r\n let active = null;\r\n if (this.props.params === \"Create\") {\r\n method = \"post\";\r\n data = {\r\n Type: this.state.Type,\r\n Description: this.state.Description,\r\n IsActive: this.state.IsActive,\r\n IsDisMissable: this.state.IsDisMissable\r\n };\r\n } else {\r\n active = this.state.alerts.find(a => a.IsActive);\r\n if (active)\r\n url = `${url}/${active.Id}`;\r\n else\r\n url = `${url}/0`;\r\n method = \"put\";\r\n }\r\n\r\n apiRequest(url, method, data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n if (this.props.params != \"Create\" || (this.props.params === \"Create\" && this.state.IsActive)) {\r\n //set context so navbar can reload\r\n console.log(\"isActiveAlertChanged1\", this.context, active);\r\n this.context.change(true);\r\n }\r\n if (THAT.props.params === \"Create\") {\r\n //Reload alerts\r\n apiRequest(`/masters/alerts`, \"get\")\r\n .then(response => {\r\n this.setState({ alerts: response.data }, () => THAT.props.history.push(\"/options/View/alert\"));\r\n });\r\n }\r\n }\r\n THAT.setState({\r\n isSubmitting: false\r\n });\r\n if (x.status > 0 && x.message == null)\r\n THAT.props.showMessageBox(\"SUCCESS\");\r\n else\r\n THAT.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n THAT.setState({\r\n isSubmitting: false\r\n });\r\n THAT.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n stateChange() {\r\n const { serverModel, stateModel } = this.state;\r\n return JSON.stringify(serverModel) === JSON.stringify(stateModel)\r\n ? false\r\n : true;\r\n }\r\n\r\n //componentWillReceiveProps({ params, entities, id }) {\r\n componentWillReceiveProps({ params, id }) {\r\n if (this.page !== params) {\r\n this.page = params;\r\n this.handleReset();\r\n // this.props.storeEntity();\r\n // this.page = params;\r\n }\r\n\r\n // this.setState({\r\n // entityData: entities\r\n // });\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n {getMaxEntityAccess() == 700 ? (\r\n this.props.params === \"Create\" ? (\r\n \r\n \r\n \r\n
\r\n \r\n Add Alert\r\n {\" \"}\r\n
\r\n \r\n
\r\n \r\n \r\n this.setState({ showRedField: false })}>\r\n \r\n View Alerts\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n this.setState({ showRedField: false })}>\r\n \r\n Add Alert\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n View Alert\r\n {\" \"}\r\n
\r\n \r\n
\r\n
\r\n )\r\n ) : null}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {!this.state.isSubmitting ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n a.IsActive)\r\n ? \"Update\"\r\n : \"Done\"\r\n }\r\n >\r\n a.IsActive)\r\n ? \"Update\"\r\n : \"Done\"\r\n }\r\n //disabled={!this.stateChange() || this.state.disableFields}\r\n onClick={() => {\r\n if (\r\n this.props.params === \"Create\" && (\r\n this.state.Type == \"\" ||\r\n this.state.Description == \"\" ||\r\n this.state.DescriptionLength > 192)\r\n ) {\r\n this.setState({\r\n showRedField: true\r\n });\r\n this.props.showMessageBox(\r\n /*this.state.Description.length*/this.state.DescriptionLength > 192 ? \"Description cannot be longer than 192 characters\" :\r\n \"Please fill the required fields\"\r\n );\r\n return;\r\n }\r\n this.setState({ openAlert: true });\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n ) : (\r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n
\r\n\r\n {this.props.params === \"Create\" ? (\r\n \r\n \r\n this.setState({ Type: evt.target.value })}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n },\r\n className: classes.input\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {[{id: 'information', name: 'Information'}, {id: 'warning', name: 'Warning' }, {id: 'critical', name: 'Critical'}].map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n {false && \r\n 192)}\r\n required\r\n id=\"outlined-name\"\r\n label=\"Description\"\r\n value={this.state.Description}\r\n type=\"text\"\r\n style={{\r\n width: \"100%\",\r\n borderColor: \"#4b2e83\"\r\n }}\r\n //disabled={this.state.disableFields || (this.props.params === \"Modify\" && !this.state.stateModel.Description)}\r\n onChange={evt => this.setState({ Description: evt.target.value })}\r\n margin=\"dense\"\r\n multiline\r\n rows=\"3\"\r\n variant=\"outlined\"\r\n placeholder=\"Description\"\r\n InputLabelProps={{\r\n shrink: true\r\n }}\r\n />\r\n {this.state.Description}\r\n }\r\n \r\n {false && Description}\r\n {\r\n //let cont = \"

\" + editor.getHTML().replace(\"


\",\"\").replaceAll(\"

\",\"\").replaceAll(\"

\",\".\") + \"

\";\r\n let cont = editor.getHTML().replace(\"


\",\"\");\r\n let count = (cont.match(/

/g) || []).length;\r\n if (count == 0)\r\n cont = \"

\" + cont + \"

\";\r\n else if (count == 1)\r\n cont = cont;\r\n else\r\n cont = cont.replaceAll(\"

\",\"\").replaceAll(\"

\",\" \");\r\n this.setState({ Description: cont, DescriptionLength: editor.getLength()-1 });\r\n }}\r\n value={this.state.Description}\r\n />\r\n
\r\n \r\n this.setState({ IsActive: evt.target.checked })}\r\n />}\r\n />\r\n \r\n \r\n this.setState({ IsDisMissable: !this.state.IsDisMissable /*evt.target.checked*/ })}\r\n />}\r\n />\r\n \r\n
\r\n ) : (\r\n \r\n \r\n {/*!this.state.isLoaded*/ false ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {/*this.state.filteredUsers.length > 0*/ true ? (\r\n
\r\n \r\n \r\n\r\n \r\n {stableSort(\r\n this.state.alerts,\r\n getSorting(this.state.order, this.state.orderBy)\r\n )\r\n .slice(\r\n this.state.page * this.state.rowsPerPage,\r\n this.state.page * this.state.rowsPerPage +\r\n this.state.rowsPerPage\r\n )\r\n .map(n => {\r\n const isSelected = false //this.isSelected(n.Created);\r\n var mm= require('moment-timezone');\r\n var abbs = \" \" + mm.tz(Intl.DateTimeFormat().resolvedOptions().timeZone).format('z').toString();\r\n let created = n.Created.replace(/-/g, \"/\").replace(\"T\",\" \" );\r\n var dateTime = new Date(`${created} UTC`).toISOString();\r\n return (\r\n \r\n // this.handleClick(event, n.UserId)\r\n // }\r\n >\r\n \r\n {n.Type}\r\n \r\n \r\n {false &&{n.Description}}\r\n
\r\n \r\n \r\n \r\n {dateTime}\r\n \r\n {abbs}\r\n \r\n \r\n {\r\n const newItems = [...this.state.alerts];\r\n let index = this.state.alerts.findIndex(alert => alert.Id == n.Id);\r\n if (evt.target.value == \"Active\") {\r\n newItems.forEach((item, idx) => {\r\n if (idx != index)\r\n newItems[idx].IsActive = false;\r\n else\r\n newItems[idx].IsActive = true;\r\n });\r\n this.setState({ alerts:newItems });\r\n } else {\r\n newItems[index].IsActive = false;\r\n this.setState({ alerts:newItems });\r\n }\r\n }}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n },\r\n className: classes.input\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {['Active', 'Inactive'].map(option => (\r\n \r\n {option}\r\n \r\n ))}\r\n \r\n \r\n \r\n {n.IsDisMissable ? \"Dismissable\" : \"Persistent\"}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n\r\n \r\n
\r\n ) : (\r\n \r\n

No Alert Found.

\r\n
\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// const { entities } = state;\r\n// return {\r\n// entities\r\n// };\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n //storeEntity: () => getEntity(dispatch),\r\n //getLocation: entityId => getLocations(dispatch, entityId),\r\n //getCollection: (entityId, locId) => getCollections(dispatch, entityId, locId),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(CreateAlert);","import React, { Component } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport CreateAlert from \"../components/CreateAlert.jsx\";\r\n//import TableForOption from \"../components/TableForOption.jsx\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Link } from \"react-router-dom\";\r\n//import AssignOrRemoveUsers from \"../components/AssignOrRemoveUsers\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\n//import { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nexport default class Settings extends Component {\r\n //static contextType = PFContext;\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport {\r\n apiRequest,\r\n storeEntityId,\r\n getEntityId,\r\n getMaxEntityAccess,\r\n isPortalAdmin\r\n} from \"../utils/Utils\";\r\nimport {\r\n getEntity,\r\n getLocations,\r\n getCollections,\r\n cleanData,\r\n showMessage\r\n} from \"../actions/index\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"recompose\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { PFContext } from \"./PrimaryFilterContext\";\r\n\r\nconst styles = theme => ({\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n flexGrow: 1\r\n },\r\n root2: {\r\n ...theme.mixins.gutters(),\r\n paddingBottom: theme.spacing(1)\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: { width: \"100%\" },\r\n dense: {\r\n marginTop: 16\r\n },\r\n menu: {\r\n width: 200\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n backgroundColor: \"#4b2e83\",\r\n width: \"250px\"\r\n },\r\n progress: {\r\n color: \"#4b2e83\"\r\n }\r\n});\r\n\r\nclass CreateEntity extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n //this.page = props.params;\r\n this.reload = false;\r\n this.state = {\r\n stateModel: {\r\n //EntityId: (props.params === \"Modify\" && sessionStorage.getItem(\"entityID\")) ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n EntityId: props.params === \"Modify\" ? props.id : \"\",\r\n Name: \"\",\r\n ShortName: \"\",\r\n Description: \"\"\r\n },\r\n serverModel: {\r\n EntityId: \"\",\r\n Name: \"\",\r\n ShortName: \"\",\r\n Description: \"\"\r\n },\r\n entityData: [],\r\n isSubmitting: false,\r\n disableFields: props.params === \"Create\" ? !isPortalAdmin : true,\r\n openAlert: false,\r\n showRedField: false\r\n };\r\n }\r\n\r\n handleChange = name => event => {\r\n //this.old_EntityId = this.state.stateModel.EntityId;\r\n\r\n if (name === \"EntityId\") {\r\n storeEntityId(event.target.value);\r\n this.props.values.handeChange(event.target.value);\r\n } else {\r\n this.setState(\r\n {\r\n stateModel: {\r\n ...this.state.stateModel,\r\n [name]: event.target.value\r\n }\r\n },\r\n () => {\r\n if (name === \"EntityId\")\r\n this.checkAccess(this.old_EntityId);\r\n }\r\n );\r\n }\r\n };\r\n\r\n checkAccess(oldEntityId) {\r\n const { EntityId } = this.state.stateModel;\r\n apiRequest(\r\n `/accesscontrol?resourceType=entity&resourceId=${EntityId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n //this.setState({\r\n // disableFields: response.data[0] < 300 ? true : false\r\n //});\r\n //if (this.state.stateModel.EntityId != oldEntityId) {\r\n if (response.data[0] >= 100)\r\n this.getEntityDetails(response.data[0]);\r\n //}\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n getEntityDetails(accessLevel) {\r\n const that = this;\r\n //this.props.showTables(true, this.state.stateModel.EntityId);\r\n this.props.getLocation(this.state.stateModel.EntityId);\r\n this.props.getCollection(this.state.stateModel.EntityId, 0);\r\n storeEntityId(this.state.stateModel.EntityId);\r\n\r\n apiRequest(`/entities/${this.state.stateModel.EntityId}`, \"get\")\r\n .then(response => {\r\n this.setState(\r\n {\r\n // stateModel: this.state.serverModel\r\n //},\r\n //() => {\r\n // this.setState({\r\n stateModel: response.data[0] || this.state.serverModel,\r\n disableFields: (!response.data[0] || accessLevel < 300) ? true : false\r\n // });\r\n },\r\n () => this.props.showTables(response.data[0] ? true : false, accessLevel, this.state.stateModel.EntityId)\r\n );\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n componentWillMount() {\r\n this.props.storeEntity();\r\n/*\r\n if(sessionStorage.getItem(\"entityID\") && sessionStorage.getItem(\"entityID\")!=\"\")\r\n {\r\n storeEntityId(sessionStorage.getItem(\"entityID\"));\r\n }\r\n*/\r\n storeEntityId(this.props.id);\r\n if (this.props.params === \"Modify\" && getEntityId() > 0) {\r\n/*\r\n this.setState(\r\n {\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: getEntityId()\r\n }\r\n },\r\n () => this.getEntityDetails()\r\n );\r\n*/\r\n this.checkAccess()\r\n }\r\n }\r\n\r\n handleReset = (evt) => {\r\n //const stateModel = this.state.serverModel;\r\n if (evt)\r\n storeEntityId(-1);\r\n this.reload = false;\r\n this.setState({\r\n stateModel: {\r\n ...this.state.serverModel,\r\n //EntityId: sessionStorage.getItem(\"entityID\") ? sessionStorage.getItem(\"entityID\") : \"\",\r\n EntityId: \"\"\r\n },\r\n disableFields: !isPortalAdmin\r\n });\r\n this.props.showTables(false);\r\n };\r\n\r\n handleSubmt = () => {\r\n const THAT = this;\r\n THAT.setState({\r\n isSubmitting: true,\r\n openAlert: false,\r\n showRedField: false\r\n });\r\n const data = this.state.stateModel;\r\n let url = \"\";\r\n let method = \"\";\r\n if (this.props.params === \"Create\") {\r\n url = `/entities`;\r\n method = \"post\";\r\n } else if (this.props.params === \"Modify\") {\r\n url = `/entities/${this.state.stateModel.EntityId}`;\r\n method = \"put\";\r\n }\r\n\r\n apiRequest(url, method, data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n if (THAT.props.params === \"Create\") {\r\n storeEntityId(x.data[0]);\r\n THAT.reload = true;\r\n THAT.setState({\r\n stateModel: {\r\n ...THAT.state.stateModel,\r\n EntityId: x.data[0]\r\n },\r\n entityData: [{\r\n id: x.data[0],\r\n name: THAT.state.stateModel.Name\r\n }]\r\n });\r\n THAT.props.resetData();\r\n THAT.props.showTables(true, 500, x.data[0]);\r\n THAT.props.history.push(\"/options/Modify/entity\");\r\n }\r\n THAT.props.storeEntity();\r\n }\r\n THAT.setState({\r\n isSubmitting: false\r\n });\r\n if (x.status > 0 && x.message == null)\r\n THAT.props.showMessageBox(\"SUCCESS\");\r\n else\r\n THAT.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n THAT.setState({\r\n isSubmitting: false\r\n });\r\n THAT.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n stateChange() {\r\n const { serverModel, stateModel } = this.state;\r\n return (!stateModel.Name || JSON.stringify(serverModel) === JSON.stringify(stateModel))\r\n ? false\r\n : true;\r\n }\r\n\r\n componentWillReceiveProps(/*{ params, entities, id }*/ newProps) {\r\n if (this.props.params !== newProps.params && (newProps.params === \"Create\" || !this.reload)) {\r\n this.handleReset();\r\n //this.props.storeEntity();\r\n //this.page = params;\r\n }\r\n\r\n //this.setState({\r\n // entityData: entities\r\n //});\r\n\r\n //Entity handling start\r\n //if(id !== this.state.stateModel.EntityId && this.props.history.location.pathname.includes(\"Modify\")) {\r\n if (newProps.id !== this.state.stateModel.EntityId && newProps.params === \"Modify\" && !this.reload) {\r\n if (newProps.id == \"\") {\r\n //Organization is cleared, so let's clear everything\r\n this.handleReset();\r\n } else if (getEntityId() > 0) {\r\n this.setState(\r\n {\r\n stateModel: {\r\n ...this.state.serverModel,\r\n EntityId: newProps.id\r\n },\r\n disableFields: true\r\n },\r\n //() => this.getEntityDetails()\r\n () => {\r\n this.props.resetData();\r\n this.checkAccess();\r\n }\r\n );\r\n }\r\n // this.setState(\r\n // {\r\n // stateModel: {\r\n // ...this.state.stateModel,\r\n // EntityId: id\r\n // }\r\n // },\r\n // () => this.getEntityDetails()\r\n // );\r\n }\r\n //Entity handling end\r\n\r\n if (this.props.entities !== newProps.entities) {\r\n this.setState({\r\n entityData: newProps.entities\r\n });\r\n if (this.reload && this.state.stateModel.EntityId && newProps.id !== this.state.stateModel.EntityId) {\r\n this.reload = false;\r\n newProps.values.handeChange(this.state.stateModel.EntityId);\r\n }\r\n }\r\n\r\n // if (\r\n // //this.props.params === \"Modify\" &&\r\n // this.props.history.location.pathname.includes(\"Modify\") &&\r\n // getEntityId() > 0 &&\r\n // this.state.stateModel.EntityId /*=== \"\"*/\r\n // ) {\r\n // this.setState(\r\n // {\r\n // stateModel: {\r\n // ...this.state.stateModel,\r\n // EntityId: getEntityId()\r\n // }\r\n // },\r\n // () => this.getEntityDetails()\r\n // );\r\n // }\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n {getMaxEntityAccess() == 700 ? (\r\n this.props.params === \"Create\" ? (\r\n \r\n \r\n \r\n
\r\n \r\n Add Organization\r\n {\" \"}\r\n
\r\n \r\n
\r\n \r\n \r\n this.setState({ showRedField: false })}>\r\n \r\n Edit Organization\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n this.setState({ showRedField: false })}>\r\n \r\n Add Organization\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Edit Organization\r\n {\" \"}\r\n
\r\n \r\n
\r\n
\r\n )\r\n ) : null}\r\n \r\n
\r\n
\r\n \r\n \r\n {this.props.params === \"Create\" ? (\r\n
\r\n \r\n Add Organization\r\n \r\n
\r\n ) : (\r\n {\r\n data.handeChange(evt.target.value);\r\n this.old_EntityId = this.state.stateModel.EntityId;\r\n this.setState(\r\n {\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: evt.target.value\r\n }\r\n },\r\n () => {\r\n this.checkAccess(this.old_EntityId);\r\n }\r\n );\r\n }}*/\r\n disabled={this.state.stateModel.EntityId != \"\"}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n },\r\n className: classes.input\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.state.entityData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n )}\r\n
\r\n \r\n \r\n {!this.state.isSubmitting ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (\r\n this.state.stateModel.Name == \"\" ||\r\n this.state.stateModel.ShortName == \"\"\r\n ) {\r\n this.setState({\r\n showRedField: true\r\n });\r\n this.props.showMessageBox(\r\n \"Please fill the required fields\"\r\n );\r\n return;\r\n }\r\n this.setState({ openAlert: true });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n \r\n ) : (\r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { entities } = state;\r\n return {\r\n entities\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n storeEntity: () => getEntity(dispatch),\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locId) => getCollections(dispatch, entityId, locId),\r\n resetData: () => dispatch(cleanData()),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(CreateEntity);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Edit from \"@material-ui/icons/Edit\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport AddIcon from \"@material-ui/icons/AddCircleOutline\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport { getLocations, getCollections, showMessage } from \"../actions/index\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"recompose\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { apiRequest } from \"../utils/Utils\";\r\nimport AlertDialog from \"./AlertDialog\";\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n overflowX: \"auto\"\r\n },\r\n table: {\r\n minWidth: 300\r\n },\r\n button: {\r\n margin: \"0px\",\r\n padding: \"0px\",\r\n color: \"#4b2e83\",\r\n border: \"1px solid #4b2e83\",\r\n\r\n \"&:hover\": {\r\n color: \"#4b2e83\",\r\n border: \"1px solid #4b2e83\",\r\n }\r\n },\r\n icons: {\r\n color: \"#4b2e83\",\r\n outline: \"none !important\",\r\n margin: \"-10px -1px\"\r\n },\r\n progress: {\r\n color: \"#4b2e83\"\r\n }\r\n});\r\n\r\nclass TableForOption extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n //data: props.data,\r\n //header: props.header,\r\n //tableName: props.tableName,\r\n page: 0,\r\n rowsPerPage: 5,\r\n showLoader: false,\r\n disableButton: props.access <= 300 ? true : false,\r\n disableAllButtons: props.access <= 100 ? true : false,\r\n //access: props.access,\r\n openAlert: false,\r\n rowToDelete: {}\r\n };\r\n }\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n if (event.target.value * this.state.page > this.props.data.length && this.state.page != 0)\r\n this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n else\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n handleDelete = () => {\r\n const item = this.state.rowToDelete;\r\n const That = this;\r\n this.setState({\r\n showLoader: true,\r\n openAlert: false\r\n });\r\n let url = `/entities/${item.entityId}/locations/`;\r\n if (this.props.tableName == \"Department\") {\r\n url = `/collections/${item.id}`;\r\n } else {\r\n url += `${item.id}`;\r\n }\r\n const THAT = this;\r\n\r\n apiRequest(url, \"delete\")\r\n .then(x => {\r\n if (x.status > 0) {\r\n if (THAT.props.tableName === \"Department\") {\r\n if (this.props.type == \"location\")\r\n THAT.props.getCollection(item.entityId, item.locationId);\r\n else\r\n THAT.props.getCollection(item.entityId, 0); //All departments for that entity\r\n }\r\n if (THAT.props.tableName === \"Campus\")\r\n THAT.props.getLocation(item.entityId);\r\n }\r\n setTimeout(() => {\r\n THAT.setState({\r\n showLoader: false\r\n });\r\n }, 500);\r\n\r\n if (x.status > 0 && x.message == null)\r\n THAT.props.showMessageBox(\"SUCCESS\");\r\n else\r\n THAT.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n THAT.props.showMessageBox(\"ERROR\");\r\n THAT.setState({\r\n showLoader: false\r\n });\r\n });\r\n };\r\n\r\n //componentWillMount() {\r\n // this.checkAccess();\r\n //}\r\n\r\n componentWillReceiveProps(newProps) {\r\n let page = newProps.data.length > 0 ? Math.ceil(newProps.data.length / this.state.rowsPerPage)-1 : 0;\r\n this.setState(\r\n {\r\n //data: newProps.data,\r\n //access: newProps.access,\r\n disableButton: newProps.access <= 300 ? true : false,\r\n disableAllButtons: newProps.access <= 100 ? true : false,\r\n page: this.state.page > page ? page : this.state.page\r\n },\r\n //() => {\r\n // this.checkAccess();\r\n //}\r\n );\r\n }\r\n\r\n checkAccess() {\r\n const { entityId, locationId = \"\" } = this.props;\r\n let resourceType = \"\";\r\n let resourceId = \"\";\r\n if (locationId == \"\") {\r\n resourceType = \"entity\";\r\n resourceId = entityId;\r\n } else {\r\n resourceType = \"location\";\r\n resourceId = locationId;\r\n }\r\n apiRequest(\r\n `/accesscontrol?resourceType=${resourceType}&resourceId=${resourceId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.data[0] == 300) {\r\n this.setState({\r\n disableButton: true\r\n });\r\n }\r\n if (response.data[0] <= 100) {\r\n this.setState({\r\n disableAllButtons: true,\r\n disableButton: true\r\n });\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { /*data, header,*/ rowsPerPage, page } = this.state;\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {/* \r\n\r\n {this.props.header.map(item => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n {this.props.data\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map(row => (\r\n \r\n \r\n {this.state.showLoader &&\r\n row.id == this.state.rowToDelete.id ? (\r\n \r\n ) : (\r\n \r\n {\r\n this.setState({\r\n openAlert: true,\r\n rowToDelete: row\r\n });\r\n }}\r\n hidden={this.state.disableAllButtons}\r\n disabled={this.state.disableAllButtons}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {row.id}\r\n {row.name}\r\n {this.props.tableName === \"Department\" && (\r\n {row.location}\r\n )}\r\n \r\n ))}\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { entities } = state;\r\n return {\r\n entities\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locId) => getCollections(dispatch, entityId, locId),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(TableForOption);\r\n","import React, { Component } from \"react\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport ExpansionPanel from \"@material-ui/core/ExpansionPanel\";\r\nimport ExpansionPanelSummary from \"@material-ui/core/ExpansionPanelSummary\";\r\nimport ExpansionPanelDetails from \"@material-ui/core/ExpansionPanelDetails\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport { showMessage, getAccessLevels } from \"../actions/index\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"recompose\";\r\nimport { apiRequest, byName, byPropertyCalled } from \"../utils/Utils\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport parse from 'autosuggest-highlight/parse';\r\nimport match from 'autosuggest-highlight/match';\r\n\r\nconst tableHeader = [\r\n { id: \"0\", label: \"Image\" },\r\n { id: \"1\", label: \"User Id\" },\r\n { id: \"2\", label: \"Name\" },\r\n { id: \"3\", label: \"Action\" }\r\n];\r\n\r\nconst styles = theme => ({\r\n input: {\r\n height: 40\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: { width: \"100%\" },\r\n table: { marginTop: 10 },\r\n\r\n tableHead: {\r\n fontWeight: 400,\r\n fontSize: 14,\r\n fontWeight: 500,\r\n fontSize: \"0.75rem\",\r\n color: \"rgba(0, 0, 0, 0.54)\"\r\n },\r\n tableRow: {\r\n paddingTop: \"0px !important\",\r\n paddingBottom: \"0px !important\",\r\n verticalAlign: \"middle !important\",\r\n fontWeight: 400,\r\n fontSize: \"0.8125rem\",\r\n color: \"rgba(0, 0, 0, 0.87)\"\r\n }\r\n});\r\n\r\nclass AssignOrRemoveUsers extends Component {\r\n constructor(props) {\r\n super(props);\r\n this._isMounted = false;\r\n this.state = {\r\n user: \"\",\r\n access: \"\",\r\n accessLevels: [],\r\n UnMappeduserData: [],\r\n MappedUserData: [],\r\n hideControls: props.access <= 300 ? true : false,\r\n memberToDelete: \"\",\r\n openAlert: false,\r\n //entity: \"\"\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n this.props.getAccessLevel();\r\n this.fetchUnMappedUsers();\r\n this.fetchMappedUsers();\r\n //this.checkAccess();\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n componentWillReceiveProps({ accessLevels, access, entityId, locationId, collectionId }) {\r\n if (this.state.accessLevels.length == 0 && accessLevels.length > 0) {\r\n this.setState(\r\n {\r\n accessLevels: accessLevels.sort(byName)\r\n },\r\n //() => {\r\n // this.checkAccess();\r\n //}\r\n );\r\n }\r\n //if (entityId != this.state.entity) {\r\n if (entityId != this.props.entityId || locationId != this.props.locationId || collectionId != this.props.collectionId) {\r\n //this.setState({ entity: entityId },\r\n this.setState({ MappedUserData: [] },\r\n () => {\r\n //this.props.getAccessLevel();\r\n //this.fetchUnMappedUsers();\r\n this.fetchMappedUsers();\r\n //this.checkAccess();\r\n }\r\n );\r\n }\r\n if (access !== this.props.access)\r\n this.setState({ hideControls: access <= 300 ? true : false });\r\n }\r\n\r\n checkAccess() {\r\n const { entityId, locationId = \"\", collectionId, type } = this.props;\r\n let resourceType = \"\";\r\n let resourceId = \"\";\r\n\r\n if (type == \"collection\") {\r\n if (this.props.params === \"Create\") {\r\n if (locationId == \"\") {\r\n resourceType = \"entity\";\r\n resourceId = entityId;\r\n } else {\r\n resourceType = \"location\";\r\n resourceId = locationId;\r\n }\r\n } else if (this.props.params === \"Modify\") {\r\n resourceType = \"collection\";\r\n resourceId = collectionId;\r\n }\r\n } else {\r\n if (locationId == \"\") {\r\n resourceType = \"entity\";\r\n resourceId = entityId;\r\n } else {\r\n resourceType = \"location\";\r\n resourceId = locationId;\r\n }\r\n }\r\n\r\n apiRequest(\r\n `/accesscontrol?resourceType=${resourceType}&resourceId=${resourceId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (this._isMounted) {\r\n if (response.data[0] <= 300) {\r\n this.setState({\r\n hideControls: true\r\n });\r\n } else {\r\n this.setState({\r\n hideControls: false\r\n });\r\n }\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n fetchUnMappedUsers() {\r\n apiRequest(\"/users?is_active=true&roles=false\", \"get\")\r\n .then(x => {\r\n if (this._isMounted) {\r\n this.setState({\r\n UnMappeduserData: x.data.map(user => {\r\n user.Label = `${user.FullName} (${user.UserId})`;\r\n return user;\r\n })\r\n });\r\n }\r\n })\r\n .catch(err => console.log(err));\r\n }\r\n\r\n fetchMappedUsers() {\r\n const { entityId, locationId, collectionId, type } = this.props;\r\n let url = \"\";\r\n switch (type) {\r\n case \"entity\":\r\n url = `/entities/${entityId}/members`;\r\n break;\r\n case \"location\":\r\n url = `/locations/${locationId}/members`;\r\n break;\r\n case \"collection\":\r\n url = `/collections/${collectionId}/members`;\r\n break;\r\n default:\r\n url = \"\";\r\n break;\r\n }\r\n\r\n apiRequest(url, \"get\")\r\n .then(x => {\r\n if (this._isMounted) {\r\n this.setState({\r\n MappedUserData: x.data\r\n });\r\n }\r\n })\r\n .catch(err => console.log(err));\r\n }\r\n\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n\r\n handleChangeUser = name => (event,value) => {\r\n this.setState({\r\n [name]: value\r\n });\r\n };\r\n\r\n handleSubmt = () => {\r\n const that = this;\r\n const { user, access } = this.state;\r\n if (user && access) {\r\n const data = {\r\n Name: user.FullName,\r\n AccessLevel: access,\r\n EntityId: this.props.entityId,\r\n LocationId: this.props.locationId,\r\n CollectionId: this.props.collectionId,\r\n CreatedBy: \"\",\r\n UserName: user.UserId\r\n };\r\n apiRequest(\"/accesscontrol\", \"post\", data)\r\n .then(x => {\r\n if (x.status > 0 && x.message == null) {\r\n this.setState({\r\n user: \"\",\r\n access: \"\"\r\n });\r\n that.fetchMappedUsers();\r\n that.props.showMessageBox(\"SUCCESS\");\r\n }\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n else {\r\n that.props.showMessageBox(\"Field are required\");\r\n }\r\n };\r\n\r\n handleReset = () => {\r\n this.setState({\r\n user: \"\",\r\n access: \"\"\r\n });\r\n };\r\n\r\n handleDelete = () => {\r\n this.setState({\r\n openAlert: false\r\n });\r\n apiRequest(`/accesscontrol/${this.state.memberToDelete}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0 && x.message == null) {\r\n this.fetchMappedUsers();\r\n this.props.showMessageBox(\"SUCCESS\");\r\n }\r\n else\r\n this.props.showMessageBox(x.message);\r\n })\r\n .catch(err => console.log(err));\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const tableHead = (\r\n \r\n \r\n {tableHeader.map(row => (\r\n \r\n {row.label}\r\n \r\n ))}\r\n \r\n \r\n );\r\n return !this.state.hideControls ? (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n \r\n
\r\n Assign Access to Users\r\n
\r\n \r\n \r\n \r\n option.UserId == value.UserId\r\n }\r\n getOptionLabel={(user) => user? user.Label : \"\"}\r\n renderOption={(user, {inputValue}) => {\r\n const matches = match(user.Label, inputValue);\r\n const parts = parse(user.Label, matches);\r\n return (\r\n
\r\n {parts.map((part, index) => (\r\n \r\n {part.text}\r\n \r\n ))}\r\n
\r\n );\r\n }}\r\n onChange={this.handleChangeUser(\"user\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n
\r\n\r\n \r\n \r\n {this.state.accessLevels.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {window.location.pathname.includes(\"Modify\") ? (\r\n \r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n Administrator\r\n \r\n \r\n \r\n {tableHead}\r\n \r\n {this.state.MappedUserData.filter(\r\n item => item.AccessLevel === 500\r\n ).map(row => (\r\n \r\n \r\n \r\n \r\n {row.UserName}\r\n {row.FullName}\r\n \r\n \r\n {\r\n this.setState({\r\n memberToDelete: row.MembershipId,\r\n openAlert: true\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n\r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n Read Only\r\n \r\n \r\n \r\n {tableHead}\r\n \r\n {this.state.MappedUserData.filter(\r\n item => item.AccessLevel === 100\r\n ).map(row => (\r\n \r\n \r\n \r\n \r\n {row.UserName}\r\n {row.FullName}\r\n \r\n \r\n {\r\n this.setState({\r\n memberToDelete: row.MembershipId,\r\n openAlert: true\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n ) : (\r\n
\r\n );\r\n }\r\n}\r\nconst mapStateToProps = state => {\r\n const { accessLevels } = state;\r\n return {\r\n accessLevels\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getAccessLevel: () => getAccessLevels(dispatch),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(AssignOrRemoveUsers);\r\n","import React, { Component } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport CreateEntity from \"../components/CreateEntity.jsx\";\r\nimport TableForOption from \"../components/TableForOption.jsx\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Link } from \"react-router-dom\";\r\nimport AssignOrRemoveUsers from \"../components/AssignOrRemoveUsers\";\r\nimport { connect } from \"react-redux\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\nimport { byName } from \"../utils/Utils\";\r\nconst LocationHeader = [\r\n { id: 0, name: \"Campus Id\" },\r\n { id: 1, name: \"Campus Name\" }\r\n];\r\nconst DepartmentHeader = [\r\n { id: 0, name: \"Department Id\" },\r\n { id: 1, name: \"Department Name\" },\r\n { id: 2, name: \"Campus\" }\r\n];\r\n\r\nclass Settings extends Component {\r\n //static contextType = PFContext;\r\n constructor() {\r\n super();\r\n }\r\n\r\n state = {\r\n showTables: false,\r\n collections: [],\r\n locations: [],\r\n accessLevel: 0,\r\n entityId: \"\",\r\n locationId: \"\",\r\n collectionId: \"\"\r\n };\r\n\r\n showTable = (arg, accessLevel = 0, entityId = \"\", locationId = \"\", collectionId = \"\") => {\r\n //this.setState({ showTables: arg, entityId, locationId, collectionId });\r\n this.setState({ showTables: arg, accessLevel, entityId, locationId, collectionId });\r\n };\r\n\r\n componentWillReceiveProps(props) {\r\n const { locations, collections } = props;\r\n this.setState({ locations: locations.sort(byName), collections: collections.sort(byName) });\r\n }\r\n\r\n render() {\r\n const { entityId, locationId, collectionId } = this.state;\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n {data =>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.state.showTables &&\r\n this.props.match.params.function === \"Modify\" && (\r\n \r\n \r\n
Campus
\r\n \r\n
\r\n\r\n \r\n
Departments
\r\n \r\n
\r\n \r\n )}\r\n\r\n {this.state.showTables &&\r\n \r\n }\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { locations, collections } = state;\r\n return {\r\n locations,\r\n collections\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Settings);\r\n","import React, { Component } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Link } from \"react-router-dom\";\r\nimport {\r\n apiRequest,\r\n byName,\r\n getEntityId,\r\n storeEntityId,\r\n storelocationId,\r\n getlocationId,\r\n isPortalAdmin,\r\n getAccess,\r\n getMaxEntityAccess,\r\n getMaxLocationAccess\r\n} from \"../utils/Utils\";\r\nimport {\r\n //getEntity,\r\n getLocations,\r\n getCollections,\r\n clearCollections,\r\n //cleanData,\r\n showMessage\r\n} from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport GoBackIcon from \"@material-ui/icons/ArrowBack\";\r\nimport AlertDialog from \"./AlertDialog\";\r\n\r\n\r\nconst styles = theme => ({\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n checked: {},\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n flexGrow: 1\r\n },\r\n root2: {\r\n ...theme.mixins.gutters(),\r\n paddingBottom: theme.spacing(1)\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: { width: \"100%\" },\r\n dense: {\r\n marginTop: 14\r\n },\r\n menu: {\r\n width: 200\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n backgroundColor: \"#4b2e83\",\r\n width: \"250px\"\r\n },\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n }\r\n});\r\n\r\nclass CreateLocation extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n stateModel: {\r\n //EntityId: sessionStorage.getItem(\"entityID\") ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n EntityId: props.entity,\r\n EntityName: \"\",\r\n EntityShortName: \"\",\r\n LocationId: \"\",\r\n LocationName: \"\",\r\n LocationShortName: \"\",\r\n Description: \"\",\r\n City: \"\",\r\n Address: \"\",\r\n ContactNumber: \"\",\r\n AlternateNumber: \"\"\r\n },\r\n serverModel: {\r\n EntityId: props.entity,\r\n EntityName: \"\",\r\n EntityShortName: \"\",\r\n LocationId: \"\",\r\n LocationName: \"\",\r\n LocationShortName: \"\",\r\n Description: \"\",\r\n City: \"\",\r\n Address: \"\",\r\n ContactNumber: \"\",\r\n AlternateNumber: \"\"\r\n },\r\n //entityData: [],\r\n locationData: [],\r\n isSubmitting: false,\r\n disableFields: true,\r\n openAlert: false,\r\n //disableEntity: this.props.location.search.includes(\"xyx\") ? true : false,\r\n showRedField: false\r\n };\r\n }\r\n\r\n handleChange = name => event => {\r\n //this.LocationId = this.state.stateModel.LocationId;\r\n\r\n this.setState(\r\n {\r\n stateModel: {\r\n ...this.state.stateModel,\r\n [name]: event.target.value\r\n },\r\n disableFields: name == \"LocationId\" ? true : this.state.disableFields\r\n },\r\n () => {\r\n if (name == \"EntityId\") {\r\n storeEntityId(-1);\r\n storelocationId(-1);\r\n this.props.getLocation(event.target.value);\r\n const selectedEntity = this.state.entityData.filter(\r\n item => item.id === event.target.value\r\n );\r\n this.setState({\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityName: selectedEntity[0].name,\r\n EntityShortName: selectedEntity[0].short_name\r\n }\r\n });\r\n storeEntityId(event.target.value);\r\n return;\r\n }\r\n if (name == \"LocationId\") {\r\n this.props.resetCollection();\r\n this.checkAccess();\r\n //if (this.state.stateModel.LocationId !== this.LocationId) {\r\n storelocationId(this.state.stateModel.LocationId);\r\n // this.getLocationDetails();\r\n }\r\n }\r\n );\r\n };\r\n\r\n checkAccess() {\r\n const { EntityId, LocationId } = this.state.stateModel;\r\n let type = \"\", id = \"\";\r\n if (this.props.params === \"Create\") {\r\n // type = \"entity\";\r\n // id = EntityId;\r\n this.setState({\r\n disableFields: !(isPortalAdmin || getAccess().some(a => a.entity_id === EntityId && a.location_id == null && a.collection_id == null && a.access_level >= 300))\r\n });\r\n } else {\r\n type = \"location\";\r\n id = LocationId;\r\n //}\r\n\r\n apiRequest(\r\n `/accesscontrol?resourceType=${type}&resourceId=${id}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n // if (this.props.params === \"Create\") {\r\n // this.setState({\r\n // disableFields: response.data[0] < 300 ? true : false\r\n // });\r\n // }\r\n // else if (response.data[0] >= 100)\r\n if (response.data[0] >= 100)\r\n this.getLocationDetails(response.data[0]);\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n }\r\n\r\n getLocationDetails(accessLevel) {\r\n/*\r\n const THAT = this;\r\n setTimeout(() => {\r\n this.props.showTables(\r\n true,\r\n this.state.stateModel.EntityId,\r\n this.state.stateModel.LocationId\r\n );\r\n }, 1000);\r\n*/\r\n this.props.getCollection(\r\n this.state.stateModel.EntityId,\r\n this.state.stateModel.LocationId\r\n );\r\n storelocationId(this.state.stateModel.LocationId);\r\n\r\n apiRequest(\r\n `/entities/${this.state.stateModel.EntityId}/locations/${\r\n this.state.stateModel.LocationId\r\n }`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n this.setState(\r\n {\r\n // stateModel: this.state.serverModel\r\n //},\r\n //() => {\r\n // this.setState({\r\n stateModel: response.data[0] || this.state.serverModel,\r\n disableFields: (!response.data[0] || accessLevel < 300) ? true : false,\r\n locationData: (response.data[0] && this.state.locationData.length === 0)\r\n ? [{\r\n id: response.data[0].LocationId,\r\n name: response.data[0].LocationName,\r\n entityId: response.data[0].EntityId\r\n }]\r\n : this.state.locationData\r\n // });\r\n },\r\n () => this.props.showTables(response.data[0] ? true : false, accessLevel, this.state.stateModel.EntityId, this.state.stateModel.LocationId, this.state.stateModel.LocationName)\r\n );\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n componentWillMount() {\r\n/*\r\n if(sessionStorage.getItem(\"entityID\") && sessionStorage.getItem(\"entityID\")!= \"\")\r\n {\r\n storeEntityId(sessionStorage.getItem(\"entityID\"));\r\n }\r\n this.props.storeEntity();\r\n const THAT = this;\r\n if (this.props.params === \"Create\" && getEntityId() > 0) {\r\n this.setState({\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: getEntityId()\r\n }\r\n });\r\n }\r\n\r\n if (this.props.params === \"Modify\" && getlocationId() > -1) {\r\n*/\r\n storeEntityId(this.props.entity);\r\n storelocationId(this.props.id);\r\n if (getEntityId() > 0) {\r\n this.props.getLocation(getEntityId());\r\n if (this.props.params === \"Create\") {\r\n this.checkAccess();\r\n } else if (getlocationId() > 0) {\r\n this.setState(\r\n {\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: getEntityId(),\r\n LocationId: getlocationId()\r\n }\r\n },\r\n //() => this.getLocationDetails()\r\n () => {\r\n this.props.resetCollection();\r\n this.checkAccess();\r\n }\r\n );\r\n }\r\n }\r\n\r\n// if (this.props.id !== \"0\" && getEntityId() > -1 /*&& this.state.stateModel.LocationId!=\"\"*/) {\r\n/*\r\n setTimeout(() => {\r\n this.props.showTables(\r\n true,\r\n this.state.stateModel.EntityId,\r\n this.state.stateModel.LocationId\r\n );\r\n }, 1000);\r\n this.props.getLocation(getEntityId());\r\n\r\n apiRequest(`/entities/${getEntityId()}/locations/${this.props.id}`, \"get\")\r\n .then(response => {\r\n this.setState({\r\n stateModel: response.data[0] || this.state.serverModel\r\n });\r\n })\r\n .catch(error => console.log(error));\r\n\r\n this.props.getCollection(getEntityId(), this.props.id);\r\n }\r\n else if(this.state.stateModel.EntityId)\r\n {\r\n this.props.getLocation(this.state.stateModel.EntityId);\r\n }\r\n*/\r\n }\r\n\r\n resetState(checkAccess, initialModel) {\r\n //var _entity = sessionStorage.getItem(\"entityID\") ? sessionStorage.getItem(\"entityID\") : \"\";\r\n //const stateModel = this.state.serverModel;\r\n storelocationId(-1);\r\n this.setState({\r\n stateModel: {\r\n ...(initialModel || this.state.serverModel),\r\n //EntityId: this.props.entity,\r\n EntityId: getEntityId() > 0 ? getEntityId() : \"\",\r\n LocationId: \"\"\r\n },\r\n serverModel: {\r\n ...this.state.serverModel,\r\n EntityId: getEntityId() > 0 ? getEntityId() : \"\"\r\n },\r\n disableFields: checkAccess === false ? this.state.disableFields : true,\r\n locationData: getEntityId() === this.props.entity ? this.state.locationData : [],\r\n //disableEntity: false\r\n }, checkAccess ? this.checkAccess : undefined);\r\n this.props.showTables(false /*, _entity*/);\r\n }\r\n\r\n handleReset = (evt) => {\r\n this.resetState(this.props.params === \"Create\" ? false : undefined);\r\n };\r\n\r\n stateChange() {\r\n const { serverModel, stateModel } = this.state;\r\n return (!stateModel.LocationName || JSON.stringify(serverModel) === JSON.stringify(stateModel))\r\n ? false\r\n : true;\r\n }\r\n\r\n componentWillReceiveProps({ /*entities = [],*/ locations = [], params, id, entity }) {\r\n/*\r\n if(sessionStorage.getItem(\"entityID\") && sessionStorage.getItem(\"entityID\")!= \"\" && getEntityId != sessionStorage.getItem(\"entityID\"))\r\n {\r\n storeEntityId(sessionStorage.getItem(\"entityID\"));\r\n }\r\n if (this.page !== params) {\r\n this.handleReset();\r\n this.page = params;\r\n this.setState({\r\n disableFields: false\r\n });\r\n }\r\n if (locations.length === 0) {\r\n this.setState({\r\n stateModel: {\r\n ...this.state.serverModel,\r\n EntityId: this.state.stateModel.EntityId\r\n }\r\n });\r\n }\r\n this.setState(\r\n {\r\n entityData: entities,\r\n locationData: locations.sort(byName),\r\n disableEntity: this.props.location.search.includes(\"xyx\") ? true : false\r\n },\r\n () => {\r\n if (this.props.params === \"Create\" && getEntityId() > 0) {\r\n this.setState({\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: getEntityId()\r\n }\r\n });\r\n }\r\n if(entity != getEntityId()) {\r\n storeEntityId(entity);\r\n this.handleReset();\r\n }\r\n else if (\r\n this.props.params === \"Modify\" &&\r\n getlocationId() > 0 &&\r\n this.state.stateModel.LocationId === \"\" &&\r\n getEntityId() > 0\r\n ) {\r\n this.props.getLocation(getEntityId());\r\n this.setState(\r\n {\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: getEntityId(),\r\n LocationId: getlocationId()\r\n }\r\n },\r\n () => this.getLocationDetails()\r\n );\r\n }\r\n\r\n }\r\n );\r\n*/\r\n storeEntityId(entity);\r\n if (this.props.params !== params || this.props.entity !== entity) {\r\n if (params === \"Create\")\r\n this.resetState(getEntityId() > 0 ? true : undefined, this.props.params === params ? this.state.stateModel : undefined);\r\n else if (this.props.id === id)\r\n this.resetState();\r\n if (this.props.entity !== entity && getEntityId() > 0)\r\n this.props.getLocation(getEntityId());\r\n }\r\n if (this.props.locations !== locations)\r\n this.setState({ locationData: locations.sort(byName) });\r\n }\r\n\r\n handleSubmt = () => {\r\n const THAT = this;\r\n THAT.setState({\r\n isSubmitting: true,\r\n openAlert: false,\r\n showRedField: false\r\n });\r\n const data = this.state.stateModel;\r\n let url = \"\";\r\n let method = \"\";\r\n if (this.props.params === \"Create\") {\r\n url = `/entities/${this.state.stateModel.EntityId}/locations`;\r\n method = \"post\";\r\n } else if (this.props.params === \"Modify\") {\r\n url = `/entities/${this.state.stateModel.EntityId}/locations/${\r\n this.state.stateModel.LocationId\r\n }`;\r\n method = \"put\";\r\n }\r\n\r\n apiRequest(url, method, data)\r\n .then(x => {\r\n if (x.status > 0) {\r\n if (THAT.props.params === \"Create\") {\r\n storelocationId(x.data[0]);\r\n THAT.setState({\r\n stateModel: {\r\n ...THAT.state.stateModel,\r\n LocationId: x.data[0]\r\n },\r\n locationData: [{\r\n id: x.data[0],\r\n name: THAT.state.stateModel.LocationName,\r\n entityId: THAT.state.stateModel.EntityId\r\n }]\r\n });\r\n THAT.props.resetCollection();\r\n THAT.props.showTables(\r\n true,\r\n 500,\r\n THAT.state.stateModel.EntityId,\r\n x.data[0],\r\n THAT.state.stateModel.LocationName\r\n );\r\n THAT.props.history.push(`/options/Modify/loc/${x.data[0]}`);\r\n }\r\n THAT.props.getLocation(getEntityId());\r\n THAT.props.handeChange(THAT.props.entity, \"loc\");\r\n }\r\n THAT.setState({\r\n isSubmitting: false\r\n });\r\n if (x.status > 0 && x.message == null)\r\n THAT.props.showMessageBox(\"SUCCESS\");\r\n else\r\n THAT.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n THAT.setState({\r\n isSubmitting: false\r\n });\r\n THAT.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n {getMaxEntityAccess() >= 300 || getMaxLocationAccess() > 500 ? (\r\n this.props.params === \"Create\" ? (\r\n \r\n \r\n \r\n
\r\n \r\n Add Campus\r\n {\" \"}\r\n
\r\n \r\n
\r\n \r\n \r\n this.setState({ showRedField: false })}>\r\n \r\n Edit Campus\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n this.setState({ showRedField: false })}>\r\n \r\n Add Campus\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Edit Campus\r\n {\" \"}\r\n
\r\n \r\n
\r\n
\r\n )\r\n ) : (\r\n \r\n \r\n
\r\n \r\n Edit Campus\r\n {\" \"}\r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n this.props.history.goBack()}\r\n >\r\n \r\n \r\n \r\n Go back to previous screen\r\n \r\n
\r\n
\r\n\r\n {!this.state.isSubmitting ? (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (this.state.stateModel.EntityId == \"\") {\r\n this.props.showMessageBox(\"Please Select Organization\");\r\n this.setState({\r\n showRedField: true\r\n });\r\n return;\r\n }\r\n if (\r\n this.state.stateModel.LocationName == \"\" ||\r\n this.state.stateModel.LocationShortName == \"\" ||\r\n this.state.stateModel.City == \"\"\r\n ) {\r\n this.props.showMessageBox(\r\n \"Please fill all the required fields\"\r\n );\r\n this.setState({\r\n showRedField: true\r\n });\r\n return;\r\n }\r\n this.setState({ openAlert: true });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ) : (\r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n
\r\n\r\n \r\n {/* \r\n \r\n {this.state.entityData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n */}\r\n\r\n {this.props.params === \"Modify\" ? (\r\n \r\n \r\n \r\n {this.state.locationData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n ) : null}\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Info\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n Address\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n Contact Details\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {this.state.submit ? (\r\n \r\n \r\n \r\n \r\n Create Collection\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n //const { entities, locations } = state;\r\n const { locations } = state;\r\n return {\r\n // entities,\r\n locations\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n //storeEntity: () => getEntity(dispatch),\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locationId) => getCollections(dispatch, entityId, locationId),\r\n resetCollection: () => dispatch(clearCollections()),\r\n //resetData: () => dispatch(cleanData()),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(CreateLocation);\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport CreateLoc from \"../components/CreateLocation.jsx\";\r\nimport TableForOption from \"../components/TableForOption.jsx\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Link } from \"react-router-dom\";\r\nimport AssignOrRemoveUsers from \"../components/AssignOrRemoveUsers\";\r\nimport { connect } from \"react-redux\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { byName } from \"../utils/Utils\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nconst DepartmentHeader = [\r\n { id: 0, name: \"Department Id\" },\r\n { id: 1, name: \"Department Name\" },\r\n { id: 2, name: \"Campus\" }\r\n];\r\n\r\nclass Settings extends Component {\r\n state = {\r\n showTables: false,\r\n collections: [],\r\n accessLevel: 0,\r\n //entityId: \"\",\r\n locationId: \"\",\r\n locationName: \"\",\r\n collectionId: \"\"\r\n };\r\n\r\n showTable = (arg, accessLevel = 0, entityId = \"\", locationId = \"\", locationName = \"\") => {\r\n //this.setState({ showTables: arg, entityId, locationId });\r\n this.setState({ showTables: arg, accessLevel, locationId, locationName });\r\n };\r\n\r\n componentWillReceiveProps({ collections }) {\r\n this.setState({ collections: collections.sort(byName) });\r\n }\r\n\r\n render() {\r\n //const { entityId, locationId, collectionId } = this.state;\r\n const { locationId, locationName, collectionId } = this.state;\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n {data =>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.state.showTables &&\r\n this.props.match.params.function === \"Modify\" && (\r\n \r\n
\r\n Departments\r\n
\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {this.state.showTables &&\r\n \r\n }\r\n
\r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { collections } = state;\r\n return {\r\n collections\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Settings);\r\n","import React, { Component } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport { Link } from \"react-router-dom\";\r\nimport {\r\n apiRequest,\r\n getlocationId,\r\n getEntityId,\r\n storeEntityId,\r\n storelocationId,\r\n isPortalAdmin,\r\n getAccess,\r\n getMaxDepartmentAccess,\r\n getMaxEntityAccess,\r\n getMaxLocationAccess,\r\n byName\r\n} from \"../utils/Utils\";\r\nimport {\r\n //getEntity,\r\n getLocations,\r\n getCollections,\r\n //cleanData,\r\n showMessage\r\n} from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport GoBackIcon from \"@material-ui/icons/ArrowBack\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport Button from \"@material-ui/core/Button\";\r\n\r\nconst styles = theme => ({\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n flexGrow: 1\r\n },\r\n root2: {\r\n ...theme.mixins.gutters(),\r\n paddingBottom: theme.spacing(1)\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: { width: \"100%\" },\r\n dense: {\r\n marginTop: 16\r\n },\r\n menu: {\r\n width: 200\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n backgroundColor: \"#4b2e83\",\r\n width: \"250px\"\r\n },\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n }\r\n});\r\n\r\nconst collectiontype = [\r\n { id: 1, value: \"Department\", label: \"Department\" },\r\n { id: 2, value: \"User Defined Collection\", label: \"User Defined Collection\" }\r\n];\r\n\r\nclass CreateDepartment extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n stateModel: {\r\n //EntityId: sessionStorage.getItem(\"entityID\") ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n EntityId: props.entity,\r\n EntityName: \"\",\r\n LocationId: props.location.search.includes(\"type=col\")\r\n ? null\r\n : ((props.location.state && props.location.state.campus && props.location.state.campus.id) || \"\"),\r\n LocationName: \"\",\r\n CollectionId: \"\",\r\n CollectionName: \"\",\r\n CollectionType: props.location.search.includes(\"type=col\")\r\n ? collectiontype[1].label\r\n : collectiontype[0].label,\r\n Description: \"\",\r\n CollectionTypeId: props.location.search.includes(\"type=col\")\r\n ? collectiontype[1].id\r\n : collectiontype[0].id,\r\n IsActive: false\r\n },\r\n serverModel: {\r\n EntityId: props.entity,\r\n EntityName: \"\",\r\n LocationId: props.location.search.includes(\"type=col\")\r\n ? null\r\n : \"\",\r\n LocationName: \"\",\r\n CollectionId: \"\",\r\n CollectionName: \"\",\r\n CollectionType: props.location.search.includes(\"type=col\")\r\n ? collectiontype[1].label\r\n : collectiontype[0].label,\r\n Description: \"\",\r\n CollectionTypeId: props.location.search.includes(\"type=col\")\r\n ? collectiontype[1].id\r\n : collectiontype[0].id,\r\n IsActive: false\r\n },\r\n //entityData: [],\r\n locationData: (props.location.state && props.location.state.campus) ? [props.location.state.campus] : [],\r\n collectionData: [],\r\n isSubmitting: false,\r\n disableFields: true,\r\n openAlert: false,\r\n //disableEntity: props.location.search.includes(\"xyz\") ? true : false,\r\n showRedField: false\r\n };\r\n //this.page = props.params;\r\n //this.type = this.props.location.search;\r\n }\r\n\r\n componentWillMount() {\r\n //Navigate from Department/Collcetion Management - this.props.id = 0\r\n //Navigate from Organization/Building Management - this.props.id > 0 && getEntityId\r\n/*\r\n this.k = 1;\r\n if (this.props.params === \"Create\" && getEntityId() > 0) {\r\n this.props.getLocation(getEntityId());\r\n this.setState({\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: getEntityId(),\r\n LocationId: getlocationId() > -1 ? getlocationId() : 0\r\n }\r\n });\r\n }\r\n const that = this;\r\n //Navigate from Organization/Building Management\r\n if (this.props.id !== \"0\" && sessionStorage.getItem(\"entityID\") != \"\") {\r\n storeEntityId(sessionStorage.getItem(\"entityID\"));\r\n //if (this.props.id !== \"0\" && getEntityId() > -1) {\r\n this.props.getLocation(getEntityId());\r\n this.props.getCollection(getEntityId(), this.props.id);\r\n\r\n let location_id = 0;\r\n if (getlocationId() > -1) {\r\n location_id = getlocationId();\r\n }\r\n\r\n apiRequest(\r\n `/entities/${getEntityId()}/locations/${location_id}/collections/${\r\n this.props.id\r\n }`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.status > 0)\r\n this.setState({\r\n stateModel: response.data[0] || this.state.serverModel\r\n });\r\n })\r\n .catch(error => console.log(error));\r\n setTimeout(() => {\r\n this.props.showUsers(\r\n true,\r\n this.state.stateModel.EntityId,\r\n this.state.stateModel.LocationId,\r\n this.state.stateModel.CollectionId\r\n );\r\n }, 1000);\r\n }\r\n //Navigate from Department/Collcetion Management\r\n else if(this.state.stateModel.EntityId) {\r\n this.props.getEntities();\r\n this.props.getLocation(this.state.stateModel.EntityId);\r\n this.props.getCollection(this.state.stateModel.EntityId);\r\n }\r\n*/\r\n storeEntityId(this.state.stateModel.EntityId);\r\n storelocationId(this.state.stateModel.LocationId || 0);\r\n const collectionId = parseInt(this.props.id || 0);\r\n if (getEntityId() > 0) {\r\n if (this.props.location.search.includes(\"type=col\")) {\r\n this.props.getCollection(this.state.stateModel.EntityId);\r\n if (this.props.params === \"Create\")\r\n this.checkAccess();\r\n } else {\r\n this.props.getLocation(this.state.stateModel.EntityId);\r\n if (getlocationId() > 0 && this.props.params === \"Create\")\r\n this.checkAccess();\r\n }\r\n if (this.props.params === \"Modify\" && collectionId > 0) {\r\n this.setState(\r\n {\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: getEntityId(),\r\n CollectionId: collectionId\r\n }\r\n },\r\n this.checkAccess\r\n );\r\n }\r\n }\r\n }\r\n\r\n handleChange = name => event => {\r\n const that = this;\r\n //this.old_CollectionId = this.state.stateModel.CollectionId;\r\n if (name === \"LocationId\") {\r\n storelocationId(event.target.value);\r\n if (this.props.params === \"Create\")\r\n this.resetState(getlocationId() > 0 ? true : undefined, this.state.stateModel);\r\n else\r\n this.resetState();\r\n if (getlocationId() > 0)\r\n this.props.getCollection(this.state.stateModel.EntityId, getlocationId());\r\n } else {\r\n this.setState(\r\n {\r\n stateModel: {\r\n ...this.state.stateModel,\r\n [name]: event.target.value\r\n },\r\n disableFields: name == \"CollectionId\" ? true : this.state.disableFields\r\n },\r\n () => {\r\n if (name == \"EntityId\") {\r\n this.props.getLocation(event.target.value);\r\n storeEntityId(event.target.value);\r\n }\r\n if (name === \"LocationId\" && this.props.params === \"Create\") {\r\n this.checkAccess();\r\n storelocationId(event.target.value);\r\n }\r\n\r\n if (name === \"CollectionId\" /*&& this.props.params === \"Modify\"*/) {\r\n this.checkAccess();\r\n }\r\n/*\r\n if (this.props.params === \"Modify\") {\r\n if (name == \"EntityId\") {\r\n if (this.props.location.search.includes(\"type=col\"))\r\n this.props.getCollection(event.target.value);\r\n const selectedEntity = this.state.entityData.filter(\r\n item => item.id === event.target.value\r\n );\r\n this.setState({\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityName: selectedEntity[0].name\r\n }\r\n });\r\n return;\r\n }\r\n\r\n if (\r\n name === \"CollectionId\" &&\r\n this.state.stateModel.CollectionId !== this.CollectionId\r\n ) {\r\n this.props.showUsers(\r\n true,\r\n this.state.stateModel.EntityId,\r\n this.state.stateModel.LocationId,\r\n this.state.stateModel.CollectionId\r\n );\r\n var selectedCollection = this.state.collectionData.find(\r\n item => item.id === this.state.stateModel.CollectionId\r\n );\r\n\r\n apiRequest(\r\n `/entities/${\r\n this.state.stateModel.EntityId\r\n }/locations/${\r\n selectedCollection.locationId || 0\r\n }/collections/${this.state.stateModel.CollectionId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n this.setState(\r\n {\r\n // stateModel: this.state.serverModel\r\n //},\r\n //() => {\r\n // this.setState({\r\n stateModel: response.data[0] || this.state.serverModel\r\n // });\r\n }\r\n );\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n\r\n this.setState({\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityName: selectedCollection.name\r\n }\r\n });\r\n }\r\n if (name === \"LocationId\") {\r\n this.props.showUsers(\r\n false,\r\n this.state.stateModel.EntityId,\r\n event.target.value\r\n );\r\n this.setState({\r\n stateModel: {\r\n ...this.state.stateModel,\r\n CollectionId: \"\",\r\n CollectionName: \"\",\r\n Description: \"\"\r\n }\r\n });\r\n storelocationId(event.target.value);\r\n this.props.getCollection(\r\n this.state.stateModel.EntityId,\r\n event.target.value\r\n );\r\n }\r\n }\r\n if (name === \"CollectionType\") {\r\n if (\r\n this.state.stateModel.CollectionType === \"Department\" &&\r\n (this.state.stateModel.LocationId === \"\" ||\r\n this.state.stateModel.LocationId < 0)\r\n ) {\r\n this.props.showMessageBox(\r\n \"For Department collectionType, Location must be selected.\"\r\n );\r\n }\r\n }\r\n*/\r\n }\r\n );\r\n }\r\n };\r\n\r\n checkAccess() {\r\n const { CollectionId, EntityId, LocationId } = this.state.stateModel;\r\n let type = \"\", id = \"\";\r\n if (this.props.params === \"Create\") {\r\n // if (!LocationId) {\r\n // type = \"entity\";\r\n // id = EntityId;\r\n // } else {\r\n // type = \"location\";\r\n id = LocationId || null;\r\n // }\r\n this.setState({\r\n disableFields: !(isPortalAdmin ||\r\n (this.props.location.search.includes(\"type=col\")\r\n ? getAccess().some(a => a.entity_id === EntityId && (a.collection_id == null || a.resourceType === \"department\") && a.access_level > 300)\r\n : getAccess().some(a => a.entity_id === EntityId && (a.location_id == null || a.location_id === id) && a.collection_id == null && a.access_level > 300)\r\n )\r\n )\r\n });\r\n } else /*if (this.props.params === \"Modify\")*/ {\r\n type = \"collection\";\r\n id = CollectionId;\r\n //}\r\n\r\n apiRequest(`/accesscontrol?resourceType=${type}&resourceId=${id}`, \"get\")\r\n .then(response => {\r\n // if (this.props.params === \"Create\") {\r\n // this.setState({\r\n // disableFields: response.data[0] < 300 ? true : false\r\n // });\r\n // }\r\n // else if (response.data[0] >= 100)\r\n if (response.data[0] >= 100)\r\n this.getCollectionDetails(response.data[0]);\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n }\r\n\r\n getCollectionDetails(accessLevel) {\r\n apiRequest(\r\n `/entities/${this.state.stateModel.EntityId}/locations/${\r\n this.state.stateModel.LocationId || 0\r\n }/collections/${this.state.stateModel.CollectionId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.data[0])\r\n storelocationId(response.data[0].LocationId || 0);\r\n this.setState(\r\n {\r\n // stateModel: this.state.serverModel\r\n //},\r\n //() => {\r\n // this.setState({\r\n stateModel: response.data[0] || this.state.serverModel,\r\n disableFields: (!response.data[0] || accessLevel < 300) ? true : false,\r\n locationData: (response.data[0] && response.data[0].LocationId && this.state.locationData.length === 0)\r\n ? [{\r\n id: response.data[0].LocationId,\r\n name: response.data[0].LocationName,\r\n entityId: response.data[0].EntityId\r\n }]\r\n : this.state.locationData,\r\n collectionData: (response.data[0] && this.state.collectionData.length === 0)\r\n ? [{\r\n id: response.data[0].CollectionId,\r\n name: response.data[0].CollectionName,\r\n location: response.data[0].LocationName,\r\n locationId: response.data[0].LocationId,\r\n entityId: response.data[0].EntityId,\r\n collectionType: response.data[0].CollectionType\r\n }]\r\n : this.state.collectionData\r\n // });\r\n },\r\n () => this.props.showUsers(response.data[0] ? true : false, accessLevel, this.state.stateModel.EntityId, this.state.stateModel.LocationId, this.state.stateModel.CollectionId)\r\n );\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n resetState(checkAccess, initialModel) {\r\n //const stateModel = this.state.serverModel;\r\n const sameLocation = ((!getlocationId() && !this.state.stateModel.LocationId) || (getlocationId() === this.state.stateModel.LocationId)) ? true : false;\r\n this.setState({\r\n disableFields: checkAccess === false ? this.state.disableFields : true,\r\n locationData: getEntityId() === this.props.entity ? this.state.locationData : [],\r\n collectionData: (getEntityId() === this.props.entity && sameLocation) ? this.state.collectionData : [],\r\n //disableEntity: false,\r\n stateModel: {\r\n ...(initialModel || this.state.serverModel),\r\n //EntityId: sessionStorage.getItem(\"entityID\") ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n EntityId: getEntityId() > 0 ? getEntityId() : \"\",\r\n LocationId: this.props.history.location.search.includes(\"type=col\")\r\n ? null\r\n //: sameLocation ? this.state.stateModel.LocationId : getlocationId(),\r\n : getlocationId() > 0 ? getlocationId() : \"\",\r\n CollectionType: this.props.history.location.search.includes(\"type=col\")\r\n ? collectiontype[1].label\r\n : collectiontype[0].label,\r\n CollectionTypeId: this.props.history.location.search.includes(\"type=col\")\r\n ? collectiontype[1].id\r\n : collectiontype[0].id\r\n },\r\n serverModel: {\r\n ...this.state.serverModel,\r\n EntityId: getEntityId() > 0 ? getEntityId() : \"\",\r\n LocationId: this.props.history.location.search.includes(\"type=col\")\r\n ? null\r\n : getlocationId() > 0 ? getlocationId() : \"\",\r\n CollectionType: this.props.history.location.search.includes(\"type=col\")\r\n ? collectiontype[1].label\r\n : collectiontype[0].label,\r\n CollectionTypeId: this.props.history.location.search.includes(\"type=col\")\r\n ? collectiontype[1].id\r\n : collectiontype[0].id\r\n }\r\n }, checkAccess ? this.checkAccess : undefined);\r\n this.props.showUsers(false);\r\n }\r\n\r\n handleReset = (evt) => {\r\n storelocationId(0);\r\n this.resetState((this.props.params === \"Create\" && this.props.location.search.includes(\"type=col\")) ? false : undefined);\r\n };\r\n\r\n handleSubmt = () => {\r\n const THAT = this;\r\n THAT.setState({\r\n isSubmitting: true,\r\n openAlert: false,\r\n showRedField: false\r\n });\r\n const data = this.state.stateModel;\r\n let url = \"\";\r\n let method = \"\";\r\n if (this.props.params === \"Create\") {\r\n if (this.props.location.search.includes(\"type=col\"))\r\n url = `/entities/${this.state.stateModel.EntityId}/locations/0/collections`;\r\n else\r\n url = `/entities/${this.state.stateModel.EntityId}/locations/${\r\n this.state.stateModel.LocationId || 0\r\n }/collections`;\r\n method = \"post\";\r\n } else if (this.props.params === \"Modify\") {\r\n if (this.props.location.search.includes(\"type=col\"))\r\n url = `/entities/${this.state.stateModel.EntityId}/locations/0/collections/${this.state.stateModel.CollectionId}`;\r\n else\r\n url = `/entities/${this.state.stateModel.EntityId}/locations/${\r\n this.state.stateModel.LocationId\r\n }/collections/${this.state.stateModel.CollectionId}`;\r\n method = \"put\";\r\n }\r\n\r\n apiRequest(url, method, data)\r\n .then(x => {\r\n THAT.setState({\r\n isSubmitting: false\r\n });\r\n if (x.status == 0) {\r\n THAT.props.showMessageBox(x.message);\r\n return;\r\n }\r\n if (THAT.props.params === \"Create\") {\r\n THAT.setState({\r\n stateModel : {\r\n ...THAT.state.stateModel,\r\n CollectionId: x.data[0]\r\n },\r\n collectionData: [{\r\n id: x.data[0],\r\n name: THAT.state.stateModel.CollectionName,\r\n location: THAT.state.stateModel.LocationName,\r\n locationId: THAT.state.stateModel.LocationId,\r\n entityId: THAT.state.stateModel.EntityId,\r\n collectionType: THAT.state.stateModel.CollectionType\r\n }]\r\n })\r\n THAT.props.showUsers(\r\n true,\r\n 500,\r\n THAT.state.stateModel.EntityId,\r\n THAT.state.stateModel.LocationId,\r\n x.data[0]\r\n );\r\n THAT.props.history.push(`/options/Modify/collection/${x.data[0]}?type=${THAT.props.location.search.includes(\"type=col\") ? \"col\" : \"dept\"}`);\r\n // THAT.props.getCollection(\r\n // THAT.state.stateModel.EntityId,\r\n // THAT.state.stateModel.LocationId\r\n // );\r\n }\r\n //if (THAT.props.params === \"Modify\") {\r\n THAT.props.getCollection(\r\n THAT.state.stateModel.EntityId,\r\n THAT.props.location.search.includes(\"type=col\") ? \"\" : THAT.state.stateModel.LocationId\r\n );\r\n //}\r\n if (THAT.props.location.search.includes(\"type=col\"))\r\n THAT.props.handeChange(THAT.props.entity, \"coll\");\r\n else if (THAT.state.stateModel.LocationId === THAT.props.loc)\r\n THAT.props.handeChange(THAT.props.entity, \"dept\");\r\n THAT.props.showMessageBox(\"SUCCESS\");\r\n })\r\n .catch(err => {\r\n THAT.setState({\r\n isSubmitting: false\r\n });\r\n THAT.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n stateChange() {\r\n const { serverModel, stateModel } = this.state;\r\n return (!stateModel.CollectionName || JSON.stringify(serverModel) === JSON.stringify(stateModel))\r\n ? false\r\n : true;\r\n }\r\n\r\n componentWillReceiveProps({\r\n params,\r\n id,\r\n //entities = [],\r\n locations = [],\r\n collections = [],\r\n location,\r\n entity,\r\n }) {\r\n/*\r\n if (this.page !== params || this.type !== location.search) {\r\n this.k = 1;\r\n this.handleReset();\r\n this.page = params;\r\n this.type = location.search;\r\n if(entity) {\r\n //get collection when change new/edit\r\n this.props.getCollection(entity);\r\n }\r\n this.setState({\r\n disableFields: false,\r\n stateModel: {\r\n ...this.state.serverModel,\r\n //EntityId: sessionStorage.getItem(\"entityID\") ? sessionStorage.getItem(\"entityID\") : \"\",\r\n EntityId: entity,\r\n CollectionType: location.search.includes(\"type=col\")\r\n ? collectiontype[1].label\r\n : collectiontype[0].label,\r\n CollectionTypeId: location.search.includes(\"type=col\")\r\n ? collectiontype[1].id\r\n : collectiontype[0].id\r\n }\r\n });\r\n return\r\n }\r\n\r\n if (locations.length === 0) {\r\n this.setState({\r\n stateModel: {\r\n ...this.state.serverModel,\r\n EntityId: this.state.stateModel.EntityId\r\n }\r\n });\r\n }\r\n\r\n if (collections.length === 0) {\r\n this.setState({\r\n stateModel: {\r\n ...this.state.serverModel,\r\n EntityId: this.state.stateModel.EntityId,\r\n LocationId: this.state.stateModel.LocationId,\r\n CollectionType: location.search.includes(\"type=col\")\r\n ? collectiontype[1].label\r\n : collectiontype[0].label,\r\n CollectionTypeId: location.search.includes(\"type=col\")\r\n ? collectiontype[1].id\r\n : collectiontype[0].id\r\n }\r\n });\r\n }\r\n this.setState(\r\n {\r\n entityData: entities,\r\n locationData: locations.sort(byName),\r\n collectionData: collections.filter(item => {\r\n if (location.search.includes(\"type=col\"))\r\n return item.collectionType == \"User Defined Collection\";\r\n else return item.collectionType == \"Department\";\r\n }).sort(byName)\r\n },\r\n () => {\r\n if (this.props.params === \"Create\" && getEntityId() > 0) {\r\n this.setState({\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: getEntityId(),\r\n LocationId: getlocationId() > -1 ? getlocationId() : 0\r\n }\r\n });\r\n }\r\n }\r\n );\r\n if(entity != this.state.stateModel.EntityId) {\r\n if(entity) {\r\n this.props.getCollection(entity); // get collections before reset???\r\n }\r\n this.setState({\r\n stateModel: {\r\n ...this.state.stateModel,\r\n EntityId: this.state.stateModel.EntityId\r\n }\r\n }, ()=> {\r\n storeEntityId(entity);\r\n this.handleReset();\r\n });\r\n // storeEntityId(entity);\r\n // this.handleReset();\r\n }\r\n else if (\r\n this.props.params === \"Modify\" &&\r\n this.props.id != \"0\" &&\r\n this.state.stateModel.CollectionId === \"\" &&\r\n getEntityId() > -1\r\n ) {\r\n if (this.k == 1) {\r\n this.k = 2;\r\n let location_id = 0;\r\n if (getlocationId() > -1) {\r\n location_id = getlocationId();\r\n }\r\n\r\n this.props.getLocation(getEntityId());\r\n if (location.search.includes(\"type=col\"))\r\n this.props.getCollection(getEntityId());\r\n else this.props.getCollection(getEntityId(), location_id);\r\n apiRequest(\r\n `/entities/${getEntityId()}/locations/${location_id}/collections/${\r\n this.props.id\r\n }`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.status > 0) {\r\n this.setState({\r\n stateModel: response.data[0] || this.state.serverModel\r\n });\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n setTimeout(() => {\r\n this.props.showUsers(\r\n true,\r\n this.state.stateModel.EntityId,\r\n this.state.stateModel.LocationId,\r\n this.state.stateModel.CollectionId\r\n );\r\n }, 1000);\r\n }\r\n }\r\n*/\r\n storeEntityId(entity);\r\n if (this.props.location.search !== location.search || this.props.entity !== entity)\r\n storelocationId(0);\r\n if (this.props.location.search !== location.search || this.props.entity !== entity || this.props.params !== params) {\r\n if (params === \"Create\")\r\n this.resetState(\r\n location.search.includes(\"type=col\")\r\n ? (getEntityId() > 0 ? true : undefined)\r\n : (getlocationId() > 0 ? true : undefined),\r\n (this.props.params === params && this.props.location.search === location.search) ? this.state.stateModel : undefined\r\n );\r\n else if (this.props.id === id)\r\n this.resetState();\r\n if ((this.props.location.search !== location.search || this.props.entity !== entity) && getEntityId() > 0) {\r\n if (location.search.includes(\"type=col\"))\r\n this.props.getCollection(getEntityId());\r\n else\r\n this.props.getLocation(getEntityId());\r\n }\r\n }\r\n if (this.props.locations !== locations)\r\n this.setState({ locationData: locations.sort(byName) });\r\n if (this.props.collections !== collections)\r\n this.setState({ collectionData: collections.sort(byName) });\r\n }\r\n\r\n handleDelete = () => {\r\n this.setState({\r\n isSubmitting: true,\r\n openAlert: false\r\n });\r\n\r\n apiRequest(`/collections/${this.state.stateModel.CollectionId}`, \"delete\")\r\n .then(x => {\r\n this.setState({\r\n isSubmitting: false\r\n });\r\n if (x.status > 0) {\r\n if (this.props.location.search.includes(\"type=col\"))\r\n this.props.getCollection(this.state.stateModel.EntityId);\r\n this.handleReset()\r\n }\r\n\r\n if (x.status > 0 && x.message == null)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else\r\n this.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n this.setState({\r\n isSubmitting: false\r\n });\r\n });\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n let headingText = \"\";\r\n let isCollection = false;\r\n if (this.props.params === \"Create\") {\r\n if (this.props.location.search.includes(\"type=col\")) {\r\n isCollection = true;\r\n headingText = \"New Collection\";\r\n } else {\r\n headingText = \"New Department\";\r\n }\r\n } else {\r\n if (this.props.location.search.includes(\"type=col\")) {\r\n isCollection = true;\r\n headingText = \"Edit Collection\";\r\n } else {\r\n headingText = \"Edit Department\";\r\n }\r\n }\r\n\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n {isCollection ||\r\n (getMaxEntityAccess() >= 300 ||\r\n getMaxLocationAccess() >= 300 ||\r\n getMaxDepartmentAccess() > 500) ? (\r\n this.props.params === \"Create\" ? (\r\n \r\n \r\n \r\n
\r\n \r\n {isCollection\r\n ? \"Add Collection\"\r\n : \"Add Department\"}\r\n {\" \"}\r\n
\r\n \r\n
\r\n \r\n \r\n this.setState({ showRedField: false })}\r\n className=\"nav-link\"\r\n to={\r\n isCollection\r\n ? \"/options/Modify/collection/0?type=col\"\r\n : \"/options/Modify/collection/0?type=dept\"\r\n }\r\n >\r\n \r\n {isCollection\r\n ? \"Edit Collection\"\r\n : \"Edit Department\"}\r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n this.setState({ showRedField: false })}\r\n className=\"nav-link\"\r\n to={\r\n isCollection\r\n ? \"/options/Create/collection/0?type=col\"\r\n : \"/options/Create/collection/0?type=dept\"\r\n }\r\n >\r\n \r\n {isCollection\r\n ? \"Add Collection\"\r\n : \"Add Department\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {isCollection\r\n ? \"Edit Collection\"\r\n : \"Edit Department\"}\r\n {\" \"}\r\n
\r\n \r\n
\r\n
\r\n )\r\n ) : (\r\n \r\n \r\n
\r\n \r\n {isCollection\r\n ? \"Edit Collection\"\r\n : \"Edit Department\"}\r\n {\" \"}\r\n
\r\n \r\n
\r\n )}\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {\" \"}\r\n \r\n this.props.history.goBack()}\r\n >\r\n \r\n \r\n \r\n Go back to previous screen\r\n \r\n
\r\n
\r\n\r\n {!this.state.isSubmitting ? (\r\n \r\n
\r\n {this.props.params === \"Modify\" ? (\r\n \r\n this.setState({\r\n openAlert: true,\r\n actionType: \"DELETE\"\r\n })\r\n }\r\n disabled={this.state.disableFields || !this.state.stateModel.CollectionId}\r\n style={\r\n !this.state.stateModel.CollectionId == \"\"\r\n ? {\r\n color: \"#4b2e83\",\r\n heignt: 40,\r\n fontSize: 16,\r\n opacity: \"1\",\r\n outline: \"none\"\r\n }\r\n : {\r\n color: \"#343a40\",\r\n opacity: \"0.4\"\r\n }\r\n }\r\n >\r\n DELETE\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (this.state.stateModel.EntityId == \"\") {\r\n this.props.showMessageBox(\"Please Select Organization\");\r\n this.setState({\r\n showRedField: true\r\n });\r\n return;\r\n }\r\n if (\r\n !this.state.stateModel.LocationId &&\r\n !isCollection\r\n ) {\r\n this.props.showMessageBox(\r\n \"Please Select Campus\"\r\n );\r\n this.setState({\r\n showRedField: true\r\n });\r\n return;\r\n }\r\n if (\r\n this.state.stateModel.CollectionId == \"\" &&\r\n this.props.params === \"Modify\"\r\n ) {\r\n this.props.showMessageBox(\r\n `Please Select ${isCollection ? \"Collection\" : \"Department\"}`\r\n );\r\n this.setState({\r\n showRedField: true\r\n });\r\n return;\r\n }\r\n if (this.state.stateModel.CollectionName == \"\") {\r\n this.props.showMessageBox(\r\n \"Please fill the Name field\"\r\n );\r\n this.setState({\r\n showRedField: true\r\n });\r\n return;\r\n }\r\n this.setState({\r\n openAlert: true,\r\n actionType: \"SAVE\"\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n ) : (\r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n {/* \r\n \r\n {this.state.entityData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n */}\r\n\r\n {!isCollection && (\r\n \r\n \r\n \r\n {this.state.locationData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n )}\r\n {this.props.params === \"Modify\" && (\r\n \r\n \r\n \r\n {this.state.collectionData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n Info\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n //const { entities, collections, locations } = state;\r\n const { collections, locations } = state;\r\n return {\r\n // entities,\r\n collections,\r\n locations\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n //getEntities: () => getEntity(dispatch),\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locId) => getCollections(dispatch, entityId, locId),\r\n //resetData: () => dispatch(cleanData()),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(CreateDepartment);\r\n","import React, { Component } from \"react\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport CreateDept from \"../components/CreateDepartment.jsx\";\r\nimport AssignOrRemoveUsers from \"../components/AssignOrRemoveUsers\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { getlocationId } from \"../utils/Utils\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nconst styles = theme => ({\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: { width: \"100%\" }\r\n});\r\n\r\nclass Settings extends Component {\r\n state = {\r\n showUsers: false,\r\n accessLevel: 0,\r\n //entityId: \"\",\r\n locationId: \"\",\r\n collectionId: \"\"\r\n };\r\n\r\n showUsers = (arg, accessLevel = 0, entityId = \"\", locationId = \"\", collectionId = \"\") => {\r\n //this.setState({ showUsers: arg, entityId, locationId, collectionId });\r\n this.setState({ showUsers: arg, accessLevel, locationId, collectionId });\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n //const { entityId, locationId, collectionId } = this.state;\r\n const { locationId, collectionId } = this.state;\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n {data =>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.state.showUsers &&\r\n \r\n }\r\n
\r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withStyles(styles)(Settings);\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport ExpansionPanel from \"@material-ui/core/ExpansionPanel\";\r\nimport ExpansionPanelSummary from \"@material-ui/core/ExpansionPanelSummary\";\r\nimport ExpansionPanelDetails from \"@material-ui/core/ExpansionPanelDetails\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport { apiRequest } from \"../utils/Utils\";\r\nimport { showMessage } from \"../actions/index\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"recompose\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\n\r\nfunction desc(a, b, orderBy) {\r\n if (b[orderBy] < a[orderBy]) {\r\n return -1;\r\n }\r\n if (b[orderBy] > a[orderBy]) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nconst tableHeader = [\r\n { id: \"0\", label: \"Image\" },\r\n { id: \"1\", label: \"User Id\" },\r\n { id: \"2\", label: \"Name\" },\r\n { id: \"3\", label: \"Action\" }\r\n];\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2)\r\n },\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n table: { marginTop: 10 },\r\n tableWrapper: {\r\n overflowX: \"auto\"\r\n },\r\n button: {\r\n color: \"#4b2e83\",\r\n height: \"40px\",\r\n padding: \"0px !important\",\r\n marginRight: \"18px\",\r\n width: \"90px\"\r\n },\r\n tableHead: {\r\n fontWeight: 400,\r\n fontSize: 14,\r\n fontWeight: 500,\r\n fontSize: \"0.75rem\",\r\n color: \"rgba(0, 0, 0, 0.54)\"\r\n },\r\n tableRow: {\r\n paddingTop: \"0px !important\",\r\n paddingBottom: \"0px !important\",\r\n verticalAlign: \"middle !important\",\r\n fontWeight: 400,\r\n fontSize: \"0.8125rem\",\r\n color: \"rgba(0, 0, 0, 0.87)\"\r\n }\r\n});\r\n\r\nclass EnhancedTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n order: \"desc\",\r\n orderBy: \"sno\",\r\n selected: [],\r\n MappedUserData: props.data,\r\n page: 0,\r\n rowsPerPage: 1,\r\n //deptId: props.deptId,\r\n hideControls: true,\r\n memberToDelete: \"\",\r\n openAlert: false,\r\n showLoader: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.checkAccess();\r\n }\r\n\r\n //componentWillReceiveProps({ data, deptId }) {\r\n componentWillReceiveProps({ data }) {\r\n this.setState({\r\n MappedUserData: data,\r\n //deptId: deptId\r\n });\r\n }\r\n\r\n handleRequestSort = (event, property) => {\r\n const orderBy = property;\r\n let order = \"desc\";\r\n\r\n if (this.state.orderBy === property && this.state.order === \"desc\") {\r\n order = \"asc\";\r\n }\r\n\r\n this.setState({ order, orderBy });\r\n };\r\n\r\n handleSelectAllClick = event => {\r\n if (event.target.checked) {\r\n this.setState(state => ({ selected: state.data.map(n => n.id) }));\r\n return;\r\n }\r\n this.setState({ selected: [] });\r\n };\r\n\r\n handleClick = (event, id) => {\r\n const { selected } = this.state;\r\n const selectedIndex = selected.indexOf(id);\r\n let newSelected = [];\r\n\r\n if (selectedIndex === -1) {\r\n newSelected = newSelected.concat(selected, id);\r\n } else if (selectedIndex === 0) {\r\n newSelected = newSelected.concat(selected.slice(1));\r\n } else if (selectedIndex === selected.length - 1) {\r\n newSelected = newSelected.concat(selected.slice(0, -1));\r\n } else if (selectedIndex > 0) {\r\n newSelected = newSelected.concat(\r\n selected.slice(0, selectedIndex),\r\n selected.slice(selectedIndex + 1)\r\n );\r\n }\r\n\r\n this.setState({ selected: newSelected });\r\n };\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n isSelected = id => this.state.selected.indexOf(id) !== -1;\r\n\r\n handleDelete = () => {\r\n this.setState({\r\n openAlert: false,\r\n showLoader: true\r\n });\r\n apiRequest(`/accesscontrol/${this.state.memberToDelete}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0 && x.message == null) {\r\n this.setState({\r\n showLoader: false\r\n });\r\n this.props.fetchUsers();\r\n this.props.showMessageBox(\"SUCCESS\");\r\n }\r\n else\r\n this.props.showMessageBox(x.message);\r\n })\r\n .catch(err => console.log(err));\r\n };\r\n\r\n checkAccess() {\r\n const { entityId, locationId, collectionId } = this.props;\r\n let url = collectionId\r\n ? `/accesscontrol?resourceType=collection&resourceId=${collectionId}`\r\n : locationId\r\n ? `/accesscontrol?resourceType=location&resourceId=${locationId}`\r\n : entityId\r\n ? `/accesscontrol?resourceType=entity&resourceId=${entityId}`\r\n : \"\";\r\n apiRequest(\r\n url,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.data[0] <= 300) {\r\n this.setState({\r\n hideControls: true\r\n });\r\n } else {\r\n this.setState({\r\n hideControls: false\r\n });\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const tableHead = (\r\n \r\n \r\n {tableHeader.map(row => (\r\n \r\n {row.label}\r\n \r\n ))}\r\n \r\n \r\n );\r\n return (\r\n
\r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n \r\n
\r\n \r\n Already Assigned Users\r\n \r\n
\r\n\r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n Administrator\r\n \r\n \r\n \r\n {tableHead}\r\n \r\n {this.state.MappedUserData.filter(\r\n item => item.AccessLevel === 500\r\n ).map(row => (\r\n \r\n \r\n \r\n \r\n {row.UserName}\r\n {row.FullName}\r\n \r\n {!this.state.showLoader ? (\r\n \r\n \r\n {\r\n this.setState({\r\n memberToDelete: row.MembershipId,\r\n openAlert: true\r\n });\r\n }}\r\n disabled={this.state.hideControls}\r\n style={{ padding: 0 }}\r\n >\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n\r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\"\r\n >\r\n Read Only\r\n \r\n \r\n \r\n {tableHead}\r\n \r\n {this.state.MappedUserData.filter(\r\n item => item.AccessLevel === 100\r\n ).map(row => (\r\n \r\n \r\n \r\n \r\n {row.UserName}\r\n {row.FullName}\r\n \r\n {!this.state.showLoader ? (\r\n \r\n \r\n {\r\n this.setState({\r\n memberToDelete: row.MembershipId,\r\n openAlert: true\r\n });\r\n }}\r\n disabled={this.state.hideControls}\r\n style={{ padding: 0 }}\r\n >\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(EnhancedTable);\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport PaginationActions from \"./PaginationActions\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport { getAccessLevels, showMessage } from \"../actions/index\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"recompose\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport { apiRequest,atLastPageScrollToTop, byName, formatDate } from \"../utils/Utils\";\r\nimport AlertDialog from \"./AlertDialog\";\r\n\r\nfunction desc(a, b, orderBy) {\r\n if (b[orderBy].toLowerCase() < a[orderBy].toLowerCase()) {\r\n return -1;\r\n }\r\n if (b[orderBy] > a[orderBy]) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nconst rows = [\r\n { id: \"image\", numeric: false, disablePadding: false, label: \"IMAGE\" },\r\n { id: \"FullName\", numeric: false, disablePadding: false, label: \"FULL NAME\" },\r\n { id: \"UserId\", disablePadding: false, label: \"USER ID\" },\r\n { id: \"Email\", disablePadding: false, label: \"EMAIL\" },\r\n { id: \"Created\", numeric: false, disablePadding: false, label: \"CREATED\" }\r\n];\r\n\r\nclass EnhancedTableHead extends React.Component {\r\n createSortHandler = property => event => {\r\n this.props.onRequestSort(event, property);\r\n };\r\n\r\n render() {\r\n const {\r\n classes,\r\n onSelectAllClick,\r\n order,\r\n orderBy,\r\n numSelected,\r\n rowCount\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n 0 && numSelected < rowCount}\r\n checked={numSelected === rowCount}\r\n color=\"primary\"\r\n onChange={onSelectAllClick}\r\n />{\" \"}\r\n Select all\r\n \r\n {rows.map(\r\n row => (\r\n \r\n \r\n \r\n {row.label}\r\n \r\n \r\n \r\n ),\r\n this\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst toolbarStyles = theme => ({\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n root: {\r\n paddingRight: theme.spacing(1)\r\n },\r\n highlight:\r\n theme.palette.type === \"light\"\r\n ? {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: \"#4b2e83\"\r\n }\r\n : {\r\n color: theme.palette.text.primary,\r\n backgroundColor: theme.palette.secondary.dark\r\n },\r\n spacer: {\r\n flex: \"1 1 60%\"\r\n },\r\n actions: {\r\n color: \"#4b2e83\",\r\n width: \"100%\"\r\n },\r\n title: {\r\n flex: \"0 0 auto\"\r\n }\r\n});\r\n\r\nlet EnhancedTableToolbar = props => {\r\n const { numSelected, classes } = props;\r\n\r\n return (\r\n 0\r\n })}\r\n >\r\n
\r\n

Map Devices

\r\n
\r\n
\r\n
\r\n \r\n {numSelected} selected\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nEnhancedTableToolbar = withStyles(toolbarStyles)(EnhancedTableToolbar);\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2)\r\n },\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n table: {\r\n minWidth: 50\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\"\r\n },\r\n button1: {\r\n color: \"#4b2e83\",\r\n height: \"40px\",\r\n width: \"90px\",\r\n padding: \"0px !important\",\r\n marginRight: \"18px\"\r\n },\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n textField: { width: \"100%\", margin: \"0px !important\" }\r\n});\r\n\r\nclass EnhancedTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n searchText: \"\",\r\n order: \"asc\",\r\n orderBy: \"UserId\",\r\n selected: [],\r\n data: props.users,\r\n page: 0,\r\n //rowsPerPage: 5,\r\n access: \"\",\r\n accessLevels: [],\r\n deptId: props.deptId,\r\n hideControls: true,\r\n openAlert: false\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n this.props.getAccessLevel();\r\n }\r\n\r\n componentWillReceiveProps(newProps) {\r\n this.setState(\r\n {\r\n data: newProps.users,\r\n deptId: newProps.deptId\r\n },\r\n () => {\r\n if (this.state.hideControls) {\r\n let levels = newProps.accessLevels;\r\n this.setState({\r\n accessLevels: levels.sort(byName)\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n handleRequestSort = (event, property) => {\r\n const orderBy = property;\r\n let order = \"desc\";\r\n\r\n if (this.state.orderBy === property && this.state.order === \"desc\") {\r\n order = \"asc\";\r\n }\r\n\r\n this.setState({ order, orderBy });\r\n };\r\n\r\n handleSelectAllClick = event => {\r\n if (event.target.checked) {\r\n this.setState(state => ({ selected: state.data.map(n => n) }));\r\n return;\r\n }\r\n this.setState({ selected: [] });\r\n };\r\n\r\n handleClick = (event, id, data) => {\r\n const { selected } = this.state;\r\n const selectedIndex = selected.findIndex(x => x.UserId == id);\r\n let newSelected = [];\r\n\r\n if (selectedIndex === -1) {\r\n newSelected = newSelected.concat(selected, data);\r\n } else if (selectedIndex === 0) {\r\n newSelected = newSelected.concat(selected.slice(1));\r\n } else if (selectedIndex === selected.length - 1) {\r\n newSelected = newSelected.concat(selected.slice(0, -1));\r\n } else if (selectedIndex > 0) {\r\n newSelected = newSelected.concat(\r\n selected.slice(0, selectedIndex),\r\n selected.slice(selectedIndex + 1)\r\n );\r\n }\r\n\r\n this.setState({ selected: newSelected });\r\n };\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page }, () => {\r\n //atLastPageScrollToTop(this.state.data.length, this.state.rowsPerPage, page);\r\n atLastPageScrollToTop(this.state.data.length, this.props.rowsPerPage, page);\r\n });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n this.props.changeRowsPerPage(event.target.value);\r\n //if (event.target.value * this.state.page > this.state.data.length && this.state.page != 0)\r\n // this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n //else\r\n // this.setState({ rowsPerPage: event.target.value });\r\n let last = this.props.rowsPerPage * (this.state.page + 1) - 1;\r\n if (last >= this.state.data.length)\r\n last = this.state.data.length - 1;\r\n this.setState({ page: Math.floor(last / event.target.value) });\r\n };\r\n\r\n isSelected = id => {\r\n return this.state.selected.findIndex(x => x.UserId == id) !== -1;\r\n };\r\n\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n\r\n setSearchText = e => {\r\n let value = e.target.value ? e.target.value.toLowerCase() : \"\";\r\n this.setState({\r\n searchText: e.target.value,\r\n page: 0,\r\n data:\r\n e.target.value\r\n ? this.props.users.filter(\r\n user =>\r\n user.UserId.includes(value) ||\r\n user.FullName.toLowerCase().includes(value) ||\r\n user.Email.toLowerCase().includes(value)\r\n )\r\n : this.props.users\r\n });\r\n };\r\n\r\n checkAccess() {\r\n apiRequest(\r\n `/accesscontrol?resourceType=collection&resourceId=${this.state.deptId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.data[0] <= 300) {\r\n this.setState({\r\n hideControls: true\r\n });\r\n } else {\r\n this.setState({\r\n hideControls: false\r\n });\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n handleAssign = () => {\r\n this.setState({\r\n openAlert: false\r\n });\r\n this.props.selectedUsers(this.state.selected, this.state.access, 0);\r\n this.setState({ selected: [] });\r\n };\r\n\r\n render() {\r\n const { classes, numSelected, rowsPerPage } = this.props;\r\n //const { data, order, orderBy, selected, rowsPerPage, page } = this.state;\r\n const { data, order, orderBy, selected, page } = this.state;\r\n const emptyRows =\r\n rowsPerPage - Math.min(rowsPerPage, data.length - page * rowsPerPage);\r\n\r\n return (\r\n
\r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n \r\n
\r\n \r\n Assign Users to Permission Groups\r\n \r\n \r\n \r\n \r\n ),\r\n className: classes.input\r\n }}\r\n onChange={this.setSearchText}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n {stableSort(data, getSorting(order, orderBy))\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map(n => {\r\n const isSelected = this.isSelected(n.UserId);\r\n return (\r\n this.handleClick(event, n.UserId, n)}\r\n role=\"checkbox\"\r\n aria-checked={isSelected}\r\n tabIndex={-1}\r\n key={n.UserId}\r\n selected={isSelected}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {n.FullName}\r\n \r\n {n.UserId}\r\n \r\n {n.Email}\r\n {n.Created ? formatDate(new Date(n.Created + \"Z\")) : \"\"}\r\n \r\n );\r\n })}\r\n {/* data.length > rowsPerPage && emptyRows > 0 && (\r\n \r\n \r\n \r\n ) */}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {this.state.selected.length + \" row(s) selected.\"}\r\n \r\n \r\n \r\n \r\n {this.state.accessLevels.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n {\r\n if (this.state.access == \"\") {\r\n this.props.showMessageBox(\"Select Access Level\");\r\n return;\r\n }\r\n if (this.state.selected.length == 0) {\r\n this.props.showMessageBox(\"Select User\");\r\n return;\r\n }\r\n this.setState({\r\n openAlert: true\r\n });\r\n }}\r\n variant=\"outlined\"\r\n //className={classNames(classes.button1,\"float-right\",\"button1\")}\r\n className={classNames(\"float-right\",\"button1\")}\r\n >\r\n Assign\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { accessLevels } = state;\r\n return {\r\n accessLevels\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getAccessLevel: () => getAccessLevels(dispatch),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(EnhancedTable);\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport \"./ManageUsers.css\";\r\nimport TableMapped from \"./TableMappedUsers.jsx\";\r\nimport TableUnMapped from \"./TableUnmappedUsers.jsx\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport { Divider } from \"@material-ui/core\";\r\nimport {\r\n getEntity,\r\n getLocations,\r\n getCollections,\r\n cleanData,\r\n showMessage\r\n} from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { getMaxEntityAccess, apiRequest, byName } from \"../utils/Utils\";\r\n\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n flexGrow: 1\r\n },\r\n root2: {\r\n ...theme.mixins.gutters(),\r\n paddingBottom: theme.spacing(1)\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: { width: \"100%\", margin: \"0px !important\" },\r\n dense: {\r\n marginTop: 16\r\n },\r\n menu: {\r\n width: 200\r\n }\r\n});\r\n\r\nclass ManageDevices extends Component {\r\n state = {\r\n entity: sessionStorage.getItem(\"entityID\") ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n coll: null,\r\n loc: null,\r\n dept: null,\r\n //flag: \"\",\r\n //type: \"\",\r\n //search: \"\",\r\n //phone: \"\",\r\n //username: \"\",\r\n //fname: \"\",\r\n showFilters: false,\r\n //showMappingTable: false,\r\n showAssigned: false,\r\n showUnassigned: false,\r\n loadingMapped: false,\r\n loadingUnmapped: false,\r\n rowsPerPage: 5,\r\n selectedRows: \"0\",\r\n //entityData: [],\r\n //locationData: [],\r\n //collectionData: [],\r\n users: [],\r\n MappedUserData: []\r\n //disableSubmit: true\r\n };\r\n\r\n componentDidMount() {\r\n if (this.state.entity) {\r\n this.props.getLocation(this.state.entity);\r\n this.props.getCollection(this.state.entity);\r\n }\r\n }\r\n\r\n handleChange = name => (event, value) => {\r\n //this.setState(\r\n // {\r\n // [name]: event.target.value\r\n // },\r\n // () => {\r\n //let newvalue = event.target.value;\r\n let newvalue = value ? value.id : \"\";\r\n if (name === \"entity\") {\r\n //this.setState({ [name]: event.target.value, loc: \"\", dept: \"\", locationData: [], collectionData: [] }, () => {\r\n this.setState({ [name]: newvalue, coll: null, loc: null, dept: null }, () => {\r\n //sessionStorage.setItem(\"entityID\", event.target.value ? JSON.stringify(event.target.value) : \"\");\r\n if (this.state.entity) {\r\n this.props.getLocation(this.state.entity);\r\n this.props.getCollection(this.state.entity);\r\n }\r\n });\r\n } else if (name === \"loc\") {\r\n //this.setState({ [name]: event.target.value, dept: \"\", collectionData: [] }, () => {\r\n this.setState({ [name]: newvalue, dept: null }, () => {\r\n //if (this.state.loc)\r\n this.props.getCollection(this.state.entity, this.state.loc);\r\n });\r\n //} else if (name === \"dept\") {\r\n } else {\r\n this.setState({\r\n [name]: newvalue\r\n //disableSubmit: false\r\n });\r\n }\r\n // }\r\n //);\r\n };\r\n\r\n handleSearch = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n\r\n handleNext = () => {\r\n //if (this.state.entity == \"\" || this.state.dept == \"\") {\r\n //} else {\r\n this.fetchUnMappedUsers();\r\n this.fetchMappedUsers();\r\n this.setState({\r\n showAssigned: true,\r\n showUnassigned: true,\r\n loadingUnmapped: false,\r\n showFilters: true\r\n });\r\n //}\r\n };\r\n\r\n handleReset = () => {\r\n this.setState({\r\n showFilters: false,\r\n //showMappingTable: false,\r\n entity: \"\",\r\n coll: null,\r\n loc: null,\r\n dept: null,\r\n showAssigned: false,\r\n showUnassigned: false,\r\n loadingMapped: false,\r\n //loadingUnmapped: false\r\n //locationData: [],\r\n //collectionData: []\r\n //disableSubmit: true\r\n });\r\n //this.props.resetData();\r\n };\r\n\r\n changeRowsPerPage = (value) => this.setState({ rowsPerPage: value });\r\n\r\n handleSelected = (value, accessLevel, idx) => {\r\n const that = this;\r\n const { entity, coll, loc, dept } = this.state;\r\n const data = {\r\n Name: value[idx].FullName,\r\n AccessLevel: accessLevel,\r\n EntityId: entity,\r\n LocationId: loc,\r\n CollectionId: coll || dept,\r\n CreatedBy: localStorage.getItem(\"user\"),\r\n UserName: value[idx].UserId\r\n };\r\n\r\n apiRequest(\"/accesscontrol\", \"post\", data)\r\n .then(x => {\r\n if (x.status > 0) that.fetchMappedUsers();\r\n if (x.status > 0 && x.message == null) {\r\n that.props.showMessageBox(\"SUCCESS\");\r\n if (value.length > ++idx) {\r\n this.handleSelected(value, accessLevel, idx);\r\n }\r\n }\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n componentWillMount() {\r\n this.props.storeEntity();\r\n }\r\n\r\n componentWillReceiveProps({ entities = [], locations = [], collections = [] }) {\r\n //const { entities, locations, collections, values } = props;\r\n //if (values) {\r\n // if (values.entity !== this.state.entity) {\r\n // this.setState({ entity: values.entity }, () => {\r\n // this.handleReset();\r\n // //if (this.state.entity && this.state.entity !== \"\")\r\n // if (this.state.entity)\r\n // this.props.getLocation(this.state.entity);\r\n // else\r\n // this.props.resetData();\r\n // });\r\n // }\r\n //}\r\n //this.setState({\r\n // entityData: entities,\r\n // locationData: locations.sort(byName),\r\n // collectionData: collections.sort(byName)\r\n //});\r\n if (this.props.locations !== locations) {\r\n locations.sort(byName);\r\n this.setState({ loc: \"\" });\r\n }\r\n if (this.props.collections !== collections) {\r\n collections.sort(byName);\r\n this.setState({ coll: \"\", dept: \"\" });\r\n }\r\n }\r\n\r\n fetchUnMappedUsers() {\r\n apiRequest(`/users?is_active=true&roles=false`, \"get\").then(x => {\r\n this.setState({\r\n users: x.data,\r\n loadingUnmapped: true\r\n });\r\n });\r\n }\r\n\r\n fetchMappedUsers = () => {\r\n const { entity, coll, loc, dept } = this.state;\r\n let url = (coll || dept)\r\n ? `/collections/${coll || dept}/members`\r\n : loc\r\n ? `/locations/${loc}/members`\r\n : entity\r\n ? `/entities/${entity}/members`\r\n : \"\";\r\n\r\n apiRequest(url, \"get\")\r\n .then(x => {\r\n this.setState({\r\n MappedUserData: x.data,\r\n loadingMapped: true\r\n });\r\n })\r\n .catch(err => console.log(err));\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Select\r\n \r\n \r\n \r\n a.id === this.state.entity)) || null}\r\n getOptionSelected={(option, value) => option.id === value.id}\r\n getOptionLabel={(option) => option ? option.name : \"\"}\r\n onChange={this.handleChange(\"entity\")}\r\n renderOption={(option) => (\r\n
{option.name}
\r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n {/* this.props.values.handeChange(evt.target.value)}\r\n onChange={this.handleChange(\"entity\")}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n }\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.props.entities.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
\r\n \r\n \r\n a.id === this.state.coll)) || null}\r\n getOptionSelected={(option, value) => option.id === value.id}\r\n getOptionLabel={(option) => option ? option.name : \"\"}\r\n onChange={this.handleChange(\"coll\")}\r\n renderOption={(option) => (\r\n
{option.name}
\r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n {/* \r\n {this.props.collections.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n \r\n
\r\n \r\n \r\n a.id === this.state.loc)) || null}\r\n getOptionSelected={(option, value) => option.id === value.id}\r\n getOptionLabel={(option) => option ? option.name : \"\"}\r\n onChange={this.handleChange(\"loc\")}\r\n renderOption={(option) => (\r\n
{option.name}
\r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n {/* \r\n {this.props.locations.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n \r\n
\r\n \r\n \r\n a.id === this.state.dept)) || null}\r\n getOptionSelected={(option, value) => option.id === value.id}\r\n getOptionLabel={(option) => option ? option.name : \"\"}\r\n onChange={this.handleChange(\"dept\")}\r\n renderOption={(option) => (\r\n
{option.name}
\r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n {/* \r\n {this.props.collections.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n \r\n
\r\n {false && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.state.loadingUnmapped ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n \r\n

\r\n Loading Unassigned Users\r\n

\r\n
\r\n )}\r\n \r\n\r\n {this.state.showAssigned ? (\r\n
\r\n {this.state.loadingMapped ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n \r\n

\r\n Loading Assigned Users\r\n

\r\n
\r\n )}\r\n
\r\n ) : (\r\n \r\n

\r\n Please select the Organization, Campus and\r\n Department to see already assigned users\r\n

\r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { entities, locations, collections } = state;\r\n return {\r\n entities,\r\n locations,\r\n collections\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n storeEntity: () => getEntity(dispatch),\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locationId) => getCollections(dispatch, entityId, locationId),\r\n resetData: () => dispatch(cleanData()),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(ManageDevices);\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ManageUsers from \"../components/ManageUsersComp.jsx\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { getMaxEntityAccess } from \"../utils/Utils\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { PFContext } from \"../components/PrimaryFilterContext\";\r\n\r\nclass DeviceManage extends Component {\r\n state = {\r\n showTabs: true\r\n };\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n componentDidMount() {\r\n // if (getMaxEntityAccess() == 700) {\r\n // this.setState({\r\n // showTabs: true\r\n // });\r\n // } else {\r\n // this.setState({\r\n // showTabs: false\r\n // });\r\n // }\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n {this.state.showTabs && (\r\n \r\n \r\n \r\n \r\n \r\n User Management\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Role Management\r\n {\" \"}\r\n
\r\n
\r\n \r\n \r\n )}\r\n \r\n {data =>\r\n \r\n }\r\n \r\n
\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nexport default DeviceManage;\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport \"./ManageUsers.css\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport { Divider } from \"@material-ui/core\";\r\nimport {\r\n getEntity,\r\n getLocations,\r\n getCollections,\r\n cleanData,\r\n showMessage\r\n} from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { apiRequest, isPortalAdmin, allowedDomains } from \"../utils/Utils\";\r\nimport AlertDialog from \"./AlertDialog\";\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel'\r\n\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n input: {\r\n height: 38\r\n },\r\n input1: {\r\n width: \"80%\",\r\n padding: \"5px\",\r\n borderRadius: \"5px\",\r\n outline: \"none\",\r\n border: \"1px solid lightgrey\"\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n\r\n flexGrow: 1\r\n },\r\n root2: {\r\n ...theme.mixins.gutters(),\r\n paddingBottom: theme.spacing(1)\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n textAlign: \"center\",\r\n color: theme.palette.text.secondary\r\n },\r\n textField: { width: \"100%\" },\r\n dense: {\r\n marginTop: 16\r\n },\r\n menu: {\r\n width: 200\r\n }\r\n});\r\n\r\nclass ManageDevices extends Component {\r\n state = {\r\n users: [],\r\n user: \"\",\r\n search: \"\",\r\n phone: \"\",\r\n username: \"\",\r\n fname: \"\",\r\n email: \"\",\r\n altphone: \"\",\r\n disabledFields: false,\r\n openAlert: false,\r\n actionType: \"\",\r\n message: \"\",\r\n emailError: \"\",\r\n disableAdd: true,\r\n showRedField: false,\r\n isO365User: true //isPortalAdmin ? false : true\r\n };\r\n\r\n componentWillMount() {\r\n this.fetchUsers();\r\n }\r\n\r\n fetchUsers() {\r\n apiRequest(`/users?is_active=true&roles=false`, \"get\")\r\n .then(x => {\r\n this.setState({\r\n users: x.data\r\n });\r\n })\r\n .catch(err => console.log(err));\r\n }\r\n\r\n handleChange = name => event => {\r\n this.setState(\r\n name === \"email\"\r\n ?\r\n {\r\n [name]: event.target.value,\r\n emailError: \"\"\r\n }\r\n :\r\n {\r\n [name]: name === \"isO365User\" ? event.target.checked : event.target.value,\r\n email:\r\n name === \"isO365User\"\r\n ? this.state.username\r\n : (this.state.isO365User && name === \"username\")\r\n ? event.target.value\r\n : this.state.email,\r\n message: name === \"username\" ? \"\" : this.state.message\r\n }\r\n ,\r\n () => {\r\n/*\r\n if (name == \"username\") {\r\n //If office365 user, then username == office email\r\n if (this.state.isO365User) {\r\n this.setState({\r\n message: \"\",\r\n disableAdd: this.state.username ? false : true,\r\n email: this.state.username\r\n });\r\n } else {\r\n this.setState({\r\n message: \"\",\r\n disableAdd: this.state.username ? false : true\r\n });\r\n }\r\n }\r\n*/\r\n let message = this.state.message, emailError = this.state.emailError;\r\n if (name === \"isO365User\") {\r\n message = this.checkForDuplicateUserName(this.state.username);\r\n emailError = this.state.isO365User ? \"\" : this.checkEmail(this.state.email);\r\n }\r\n this.setState({\r\n message,\r\n emailError,\r\n disableAdd: ((this.state.showRedField && !(this.state.username && this.state.fname && this.state.email)) || !this.state.username || message || emailError) ? true : false\r\n //disabled => enabled: nincs piros, volt edit\r\n //enabled => disabled: lett piros\r\n });\r\n }\r\n );\r\n };\r\n\r\n handleAdd = () => {\r\n const {\r\n phone,\r\n username,\r\n fname,\r\n email,\r\n altphone,\r\n showRedField\r\n } = this.state;\r\n if (!(username && fname && email)) {\r\n this.setState({\r\n disableAdd: true,\r\n showRedField: true\r\n });\r\n this.props.showMessageBox(\"Please fill all the required fields\");\r\n return;\r\n }\r\n if (showRedField) {\r\n this.setState({\r\n showRedField: false\r\n });\r\n }\r\n if (\r\n !email.match(\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n )\r\n ) {\r\n this.props.showMessageBox(\"Enter a valid email address\");\r\n return;\r\n }\r\n const lower = username.toLowerCase();\r\n if (!isPortalAdmin && this.state.isO365User && !allowedDomains.some(d => lower.endsWith(d))) {\r\n this.props.showMessageBox(\"Ensure that an '@uw.edu' email address is used to access the application\");\r\n return;\r\n }\r\n if (this.state.users.some(u => u.UserId === lower)) {\r\n this.props.showMessageBox(`${this.state.isO365User ? \"Email\" : \"Username\"} already exists`);\r\n return;\r\n }\r\n this.setState({\r\n actionType: \"ADD\",\r\n openAlert: true\r\n });\r\n };\r\n\r\n addUser = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n const that = this;\r\n const { phone, username, fname, email, altphone, isO365User } = this.state;\r\n const data = {\r\n UserId: username,\r\n Password: \"\",\r\n FullName: fname,\r\n Email: email,\r\n PhoneNumber: phone,\r\n AlternatePhoneNumber: altphone,\r\n IsOfficeUser: isO365User\r\n };\r\n\r\n apiRequest(\"/users\", \"post\", data)\r\n .then(x => {\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n if (x.status > 0) {\r\n this.setState({\r\n disabledFields: true\r\n });\r\n this.fetchUsers();\r\n }\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n handleReset2 = () => {\r\n this.setState({\r\n user: \"\",\r\n search: \"\"\r\n });\r\n };\r\n\r\n handleReset1 = () => {\r\n this.setState({\r\n phone: \"\",\r\n username: \"\",\r\n fname: \"\",\r\n email: \"\",\r\n altphone: \"\",\r\n disabledFields: false,\r\n isO365User: true //isPortalAdmin ? false : true\r\n });\r\n };\r\n\r\n checkForDuplicateUserName = (evt) => {\r\n/*\r\n if (this.state.username != \"\") {\r\n for (let i = 0; i < this.state.users.length; i++) {\r\n if (this.state.username == this.state.users[i].UserId) {\r\n this.setState({\r\n message: \"*UserName already exists\",\r\n disableAdd: true\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n*/\r\n let username = (typeof evt === \"string\") ? evt : evt.target.value;\r\n if (username) {\r\n const lower = username.toLowerCase();\r\n let error = \"\";\r\n if (this.state.isO365User) {\r\n error = this.checkEmail(lower);\r\n if (!error && !isPortalAdmin && !allowedDomains.some(d => lower.endsWith(d)))\r\n error = \"Email must be in the '@uw.edu' domain\";\r\n }\r\n if (!error && this.state.users.some(u => u.UserId === lower))\r\n error = \"Username already exists\";\r\n if (typeof evt === \"string\")\r\n return error;\r\n if (error) {\r\n this.setState({\r\n message: error,\r\n disableAdd: true\r\n });\r\n }\r\n }\r\n };\r\n\r\n checkEmail = (evt) => {\r\n let email = (typeof evt === \"string\") ? evt : evt.target.value, error = \"\";\r\n if (email &&\r\n !email.match(\r\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n )\r\n ) {\r\n error = \"Email is invalid\";\r\n }\r\n if (typeof evt === \"string\")\r\n return error;\r\n if (error) {\r\n this.setState({\r\n emailError: error,\r\n disableAdd: true\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n return (\r\n
\r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Create New User\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n \r\n\r\n\r\n {/* \r\n */}\r\n {\r\n if (evt.target.checked) {\r\n this.setState({ isO365User: evt.target.checked, email: this.state.username });\r\n } else {\r\n this.setState({ isO365User: evt.target.checked });\r\n }\r\n }*/\r\n this.handleChange(\"isO365User\")\r\n }\r\n //name=\"checkedB\"\r\n color=\"primary\"\r\n />\r\n }\r\n label={Microsoft O365 User}\r\n />\r\n {/* */}\r\n {/*
\r\n {this.state.message}\r\n
*/}\r\n {/* */}\r\n\r\n\r\n \r\n \r\n \r\n \r\n
\r\n {this.state.message || (this.state.isO365User ? this.state.emailError : \"\")}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {false && \r\n {!this.state.isO365User && }\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {false && \r\n \r\n }\r\n \r\n {!this.state.isO365User && }\r\n \r\n {!this.state.isO365User &&
\r\n {this.state.emailError}\r\n
}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// const {} = state;\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(ManageDevices);\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ModifyUsers from \"../components/ModifyUsersComp.jsx\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport Grid from \"@material-ui/core/Grid\";\r\n\r\nclass DeviceManage extends Component {\r\n state = {};\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n\r\n };\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nexport default DeviceManage;\r\n","import React, { Component } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { withRouter } from \"react-router\";\r\nimport \"./Navbar.css\";\r\n//import logo from \"../images/UWMedicineNavbarLogo2.png\";\r\nimport HomeIcons from \"@material-ui/icons/Home\";\r\nimport DevicesIcon from \"@material-ui/icons/Apps\";\r\nimport SettingsIcon from \"@material-ui/icons/Settings\";\r\nimport MapIcon from \"@material-ui/icons/Map\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport { fade } from \"@material-ui/core/styles/colorManipulator\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport AccountCircle from \"@material-ui/icons/AccountCircle\";\r\nimport HelpOutline from \"@material-ui/icons/HelpOutline\";\r\nimport Slide from \"@material-ui/core/Slide\";\r\nimport Domain from \"@material-ui/icons/Domain\";\r\nimport ManageUsersIcon from \"@material-ui/icons/People\";\r\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\r\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\r\nimport LogOutIcon from \"@material-ui/icons/ExitToApp\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport DynamicFeedIcon from \"@material-ui/icons/DynamicFeed\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport Cookies from \"js-cookie\";\r\nimport {\r\n apiRequest,\r\n getMaxDepartmentAccess,\r\n getMaxEntityAccess,\r\n getMaxLocationAccess,\r\n storeEntityId,\r\n storelocationId,\r\n setAccess,\r\n} from \"../utils/Utils\";\r\nimport { getEntity, getLocations, getCollections } from \"../actions/index\";\r\nimport { Paper, TextField } from \"@material-ui/core\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Moment from \"react-moment\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined';\r\nimport ReportProblemOutlinedIcon from '@material-ui/icons/ReportProblemOutlined';\r\nimport ErrorOutlineOutlinedIcon from '@material-ui/icons/ErrorOutlineOutlined';\r\nimport Linkify from 'react-linkify';\r\n// AUTH\r\nimport { MsalContext, AuthenticatedTemplate, UnauthenticatedTemplate } from \"@azure/msal-react\";\r\n\r\nconst styles = (theme) => ({\r\n root: {\r\n width: \"100%\",\r\n flexGrow: 1,\r\n },\r\n grow: {\r\n flexGrow: 1,\r\n },\r\n menuButton: {\r\n marginLeft: -12,\r\n marginRight: 20,\r\n },\r\n title: {\r\n display: \"none\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n display: \"block\",\r\n },\r\n },\r\n search: {\r\n position: \"relative\",\r\n borderRadius: theme.shape.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n \"&:hover\": {\r\n backgroundColor: fade(theme.palette.common.white, 0.25),\r\n },\r\n marginLeft: 0,\r\n width: \"100%\",\r\n\r\n [theme.breakpoints.up(\"sm\")]: {\r\n marginLeft: theme.spacing(1),\r\n width: \"auto\",\r\n },\r\n },\r\n searchIcon: {\r\n width: theme.spacing(9),\r\n height: \"100%\",\r\n position: \"absolute\",\r\n pointerEvents: \"none\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n },\r\n inputRoot: {\r\n color: \"#4b2e83\",\r\n },\r\n inputInput: {\r\n paddingTop: theme.spacing(1),\r\n paddingRight: theme.spacing(1),\r\n paddingBottom: theme.spacing(1),\r\n paddingLeft: theme.spacing(10),\r\n transition: theme.transitions.create(\"width\"),\r\n width: \"100%\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: 300,\r\n \"&:focus\": {\r\n width: 400,\r\n },\r\n },\r\n },\r\n notificationContainer: {\r\n position: \"absolute\",\r\n width: \"200px\",\r\n right: \"140px\",\r\n top: \"45px\",\r\n },\r\n\r\n paper: {\r\n height: \"250px\",\r\n overflowY: \"auto\",\r\n \"&::-webkit-scrollbar\": {\r\n width: \"5px\",\r\n marginLeft: \"5px\",\r\n },\r\n \"&::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"darkgrey\",\r\n outline: \"1px solid slategrey\",\r\n borderRadius: \"12px\",\r\n },\r\n },\r\n});\r\n\r\nconst StyledMenu = withStyles({\r\n paper: {\r\n border: '1px solid #d3d4d5',\r\n },\r\n})((props) => (\r\n \r\n));\r\n\r\nclass Navbar extends Component {\r\n static contextType = MsalContext;\r\n state = {\r\n id: this.props.id,\r\n hidesearch: false,\r\n collapsesidebar: true,\r\n open1: this.props.location.pathname.includes(\"users\") ? true : false,\r\n open2: false,\r\n open3:\r\n this.props.location.pathname.includes(\"master\") ||\r\n this.props.location.pathname.includes(\"options\") ||//&&\r\n //!this.props.location.pathname.includes(\"users\")) ||\r\n this.props.location.pathname.includes(\"devices/map\") ||\r\n this.props.location.pathname.includes(\"log/\")\r\n ? true\r\n : false,\r\n devices_class: \"\",\r\n link1: \"/devices/viewtable\",\r\n link2: \"\",\r\n notificationcount: 0,\r\n anchorEl: null,\r\n searchText: \"\",\r\n noAccess: false,\r\n administrator: true,\r\n entityAdmin: true,\r\n entityEditor: true,\r\n locAdmin: true,\r\n locEditor: true,\r\n deptAdmin: true,\r\n deptEditor: true,\r\n syncData: {},\r\n entityData: [],\r\n\r\n\r\n alerts: [],\r\n isNotDisMissedByUser: true\r\n };\r\n\r\n componentWillMount() {\r\n this.props.getEntities();\r\n // if (sessionStorage.getItem(\"entityID\")) {\r\n // //Get Locations of the selected entity\r\n // this.props.getLocation(sessionStorage.getItem(\"entityID\"));\r\n // //Get Collections of the selected entity\r\n // //If location is selected then apply it as a param\r\n // if (sessionStorage.getItem(\"LocationID\")) {\r\n // //Get Department\r\n // this.props.getCollection(sessionStorage.getItem(\"entityID\"), sessionStorage.getItem(\"LocationID\"));\r\n // }\r\n // else {\r\n // //Get Collection\r\n // this.props.getCollection(sessionStorage.getItem(\"entityID\"));\r\n // }\r\n // }\r\n }\r\n\r\n componentWillReceiveProps({ entities, isActiveAlertChanged, change }) {\r\n if (isActiveAlertChanged) {\r\n change(false);\r\n apiRequest(`/masters/alert`, \"get\")\r\n .then(response => {\r\n //Check alert cookie\r\n let activeAlert = response.data.find(a => a.IsActive);\r\n let notDismiss = true;\r\n let n = \"alert\";\r\n var match = document.cookie.match(new RegExp('(^| )' + n + '=([^;]+)'));\r\n if (match) {\r\n let obj = JSON.parse(match[2]);\r\n if (obj) {\r\n if (activeAlert && activeAlert.Id == obj.Id && (activeAlert.Updated == null || activeAlert.Updated == obj.Updated)) {\r\n notDismiss = false;\r\n } else {\r\n //other alert was dismissed\r\n //delete the old\r\n var today = new Date();\r\n var expired = new Date(today.getTime() - 24 * 3600 * 1000); // less 24 hours\r\n document.cookie = n + \"=null; path=/; expires=\" + expired.toGMTString();\r\n //save the new\r\n // var today = new Date();\r\n // var expiry = new Date(today.getTime() + 30 * 24 * 3600 * 1000); // plus 30 days\r\n // let kv = JSON.stringify(obj);\r\n // document.cookie = \"alert=\" + kv + \"; path=/; expires=\" + expiry.toGMTString();\r\n }\r\n }\r\n } else {\r\n //dont have cookie\r\n }\r\n this.setState({ alerts: response.data, isNotDisMissedByUser: notDismiss }, () => {\r\n if (activeAlert && notDismiss)\r\n this.props.changeHasActiveAlert(true);\r\n else\r\n this.props.changeHasActiveAlert(false);\r\n });\r\n });\r\n }\r\n this.setState({\r\n entityData: entities,\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"focus\", this.onFocus);\r\n }\r\n\r\n onFocus = () => {\r\n if (this.name != localStorage.getItem(\"user\")) {\r\n this.name = localStorage.getItem(\"user\");\r\n apiRequest(`/accesscontrol`, \"get\").then((x) => {\r\n setAccess(x.data);\r\n if (x.data.length == 0) {\r\n this.setState({\r\n noAccess: true,\r\n });\r\n } else {\r\n this.setState({\r\n noAccess: false,\r\n });\r\n }\r\n this.setUpSideBar();\r\n });\r\n }\r\n };\r\n\r\n componentDidMount() {\r\n this.name = localStorage.getItem(\"user\");\r\n window.addEventListener(\"focus\", this.onFocus);\r\n\r\n this.getSyncData();\r\n\r\n setInterval(() => {\r\n this.getSyncData();\r\n }, 120000);\r\n\r\n apiRequest(`/accesscontrol`, \"get\").then((x) => {\r\n //console.log(\"sidebar - access\", x);\r\n if (x.data.length == 0) {\r\n this.setState({\r\n noAccess: true,\r\n });\r\n } else {\r\n this.setState({\r\n noAccess: false,\r\n });\r\n }\r\n });\r\n\r\n this.setUpSideBar();\r\n\r\n this.handleExpand();\r\n\r\n apiRequest(`/masters/alert`, \"get\")\r\n .then(response => {\r\n //Check alert cookie\r\n let activeAlert = response.data.find(a => a.IsActive);\r\n let notDismiss = true;\r\n let n = \"alert\";\r\n var match = document.cookie.match(new RegExp('(^| )' + n + '=([^;]+)'));\r\n if (match) {\r\n let obj = JSON.parse(match[2]);\r\n if (obj) {\r\n if (activeAlert && activeAlert.Id == obj.Id && (activeAlert.Updated == null || activeAlert.Updated == obj.Updated)) {\r\n notDismiss = false;\r\n } else {\r\n //other alert was dismissed\r\n //delete the old\r\n var today = new Date();\r\n var expired = new Date(today.getTime() - 24 * 3600 * 1000); // less 24 hours\r\n document.cookie = n + \"=null; path=/; expires=\" + expired.toGMTString();\r\n //save the new\r\n // var today = new Date();\r\n // var expiry = new Date(today.getTime() + 30 * 24 * 3600 * 1000); // plus 30 days\r\n // let kv = JSON.stringify(obj);\r\n // document.cookie = \"alert=\" + kv + \"; path=/; expires=\" + expiry.toGMTString();\r\n }\r\n }\r\n }\r\n else {\r\n //dont have cookie\r\n }\r\n this.setState({ alerts: response.data, isNotDisMissedByUser: notDismiss }, () => {\r\n if (activeAlert && notDismiss)\r\n this.props.changeHasActiveAlert(true);\r\n else\r\n this.props.changeHasActiveAlert(false);\r\n });\r\n });\r\n }\r\n\r\n setUpSideBar() {\r\n if (getMaxEntityAccess() == 700) {\r\n this.setState({\r\n entityAdmin: false,\r\n locAdmin: false,\r\n deptAdmin: false,\r\n administrator: false,\r\n });\r\n }\r\n\r\n //entity\r\n else if (getMaxEntityAccess() == 500) {\r\n //this.setState({\r\n // administrator: true,\r\n //});\r\n //if (getMaxLocationAccess() == 500) {\r\n // if (getMaxDepartmentAccess() == 500) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: false,\r\n // deptEditor: true,\r\n // });\r\n // } else if (getMaxDepartmentAccess() == 300) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: false,\r\n // deptEditor: true,\r\n // });\r\n // } else if (getMaxDepartmentAccess() == 100) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: true,\r\n // deptEditor: true,\r\n // });\r\n // }\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: false,\r\n // deptEditor: true,\r\n // });\r\n //} else if (getMaxLocationAccess() == 300) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: false,\r\n // deptAdmin: false,\r\n // deptEditor: false,\r\n // });\r\n // if (getMaxDepartmentAccess() == 500) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: false,\r\n // deptAdmin: false,\r\n // deptEditor: true,\r\n // });\r\n // } else if (getMaxDepartmentAccess() == 300) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: false,\r\n // deptAdmin: false,\r\n // deptEditor: false,\r\n // });\r\n // } else if (getMaxDepartmentAccess() == 100) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: false,\r\n // deptAdmin: true,\r\n // deptEditor: true,\r\n // });\r\n // }\r\n //} else if (getMaxLocationAccess() == 100) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: true,\r\n // deptAdmin: true,\r\n // deptEditor: true,\r\n // });\r\n // if (getMaxDepartmentAccess() == 500) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: true,\r\n // deptAdmin: false,\r\n // deptEditor: true,\r\n // });\r\n // } else if (getMaxDepartmentAccess() == 300) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: true,\r\n // deptAdmin: false,\r\n // deptEditor: false,\r\n // });\r\n // } else if (getMaxDepartmentAccess() == 100) {\r\n // this.setState({\r\n // entityAdmin: false,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: true,\r\n // deptAdmin: true,\r\n // deptEditor: true,\r\n // });\r\n // }\r\n //}\r\n this.setState({\r\n entityAdmin: false,\r\n entityEditor: true,\r\n locAdmin: false,\r\n locEditor: true,\r\n deptAdmin: false,\r\n deptEditor: true,\r\n administrator: true\r\n });\r\n }\r\n\r\n //entity\r\n else if (getMaxEntityAccess() == 300) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: true,\r\n locEditor: false,\r\n deptAdmin: false,\r\n deptEditor: false,\r\n });\r\n if (getMaxLocationAccess() == 500) {\r\n //if (getMaxDepartmentAccess() == 500) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: false,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: false,\r\n // deptEditor: true,\r\n // });\r\n //} else if (getMaxDepartmentAccess() == 300) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: false,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: false,\r\n // deptEditor: false,\r\n // });\r\n //} else if (getMaxDepartmentAccess() == 100) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: false,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: true,\r\n // deptEditor: true,\r\n // });\r\n //}\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: false,\r\n locEditor: true,\r\n deptAdmin: true,\r\n deptEditor: true,\r\n });\r\n } else if (getMaxLocationAccess() == 300) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: true,\r\n locEditor: false,\r\n deptAdmin: false,\r\n deptEditor: false,\r\n });\r\n if (getMaxDepartmentAccess() == 500) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: true,\r\n locEditor: false,\r\n deptAdmin: false,\r\n deptEditor: true,\r\n });\r\n } else if (getMaxDepartmentAccess() == 300) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: true,\r\n locEditor: false,\r\n deptAdmin: false,\r\n deptEditor: false,\r\n });\r\n } else if (getMaxDepartmentAccess() == 100) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: true,\r\n locEditor: false,\r\n deptAdmin: true,\r\n deptEditor: true,\r\n });\r\n }\r\n } else if (getMaxLocationAccess() == 100) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: true,\r\n locEditor: true,\r\n deptAdmin: true,\r\n deptEditor: true,\r\n });\r\n if (getMaxDepartmentAccess() == 500) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: true,\r\n locEditor: true,\r\n deptAdmin: false,\r\n deptEditor: true,\r\n });\r\n } else if (getMaxDepartmentAccess() == 300) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: true,\r\n locEditor: true,\r\n deptAdmin: false,\r\n deptEditor: false,\r\n });\r\n } else if (getMaxDepartmentAccess() == 100) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: false,\r\n locAdmin: true,\r\n locEditor: true,\r\n deptAdmin: true,\r\n deptEditor: true,\r\n });\r\n }\r\n }\r\n }\r\n\r\n //entity\r\n else if (getMaxEntityAccess() == 100) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: true,\r\n locAdmin: true,\r\n locEditor: true,\r\n deptAdmin: true,\r\n deptEditor: true,\r\n administrator: true,\r\n });\r\n if (getMaxLocationAccess() == 500) {\r\n //if (getMaxDepartmentAccess() == 500) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: true,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: false,\r\n // deptEditor: true,\r\n // });\r\n //} else if (getMaxDepartmentAccess() == 300) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: true,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: false,\r\n // deptEditor: false,\r\n // });\r\n //} else if (getMaxDepartmentAccess() == 100) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: true,\r\n // locAdmin: false,\r\n // locEditor: true,\r\n // deptAdmin: true,\r\n // deptEditor: true,\r\n // });\r\n //}\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: true,\r\n locAdmin: false,\r\n locEditor: true,\r\n deptAdmin: false,\r\n deptEditor: true,\r\n });\r\n } else if (getMaxLocationAccess() == 300) {\r\n //if (getMaxDepartmentAccess() == 500) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: false,\r\n // deptAdmin: false,\r\n // deptEditor: true,\r\n // });\r\n //} else if (getMaxDepartmentAccess() == 300) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: false,\r\n // deptAdmin: false,\r\n // deptEditor: false,\r\n // });\r\n //} else if (getMaxDepartmentAccess() == 100) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: false,\r\n // deptAdmin: true,\r\n // deptEditor: true,\r\n // });\r\n //}\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: true,\r\n locAdmin: true,\r\n locEditor: false,\r\n deptAdmin: false,\r\n deptEditor: false,\r\n });\r\n } else if (getMaxLocationAccess() == 100) {\r\n if (getMaxDepartmentAccess() == 500) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: true,\r\n locAdmin: true,\r\n locEditor: true,\r\n deptAdmin: false,\r\n deptEditor: true,\r\n });\r\n } else if (getMaxDepartmentAccess() == 300) {\r\n this.setState({\r\n entityAdmin: true,\r\n entityEditor: true,\r\n locAdmin: true,\r\n locEditor: true,\r\n deptAdmin: false,\r\n deptEditor: false,\r\n });\r\n //} else if (getMaxDepartmentAccess() == 100) {\r\n // this.setState({\r\n // entityAdmin: true,\r\n // entityEditor: true,\r\n // locAdmin: true,\r\n // locEditor: true,\r\n // deptAdmin: true,\r\n // deptEditor: true,\r\n // });\r\n }\r\n }\r\n }\r\n }\r\n\r\n getSyncData() {\r\n apiRequest(\"/assets/syncreport\", \"get\")\r\n .then((res) => {\r\n this.setState({\r\n syncData: JSON.parse(res.data[0]),\r\n });\r\n })\r\n .catch(err => console.log(err));\r\n }\r\n/*\r\n handleBackButton = () => {\r\n this.props.data(230);\r\n };\r\n handleCollapse = () => {\r\n this.setState({ collapsesidebar: true });\r\n this.props.data(74);\r\n };\r\n*/\r\n handleExpand = () => {\r\n this.setState({ collapsesidebar: false });\r\n this.props.setLeftPadding(230);\r\n };\r\n/*\r\n handleExpand2 = () => {\r\n this.setState({ collapsesidebar: !this.state.collapsesidebar });\r\n this.props.data(230);\r\n this.setState({\r\n open2: true,\r\n open3: false,\r\n });\r\n };\r\n handleExpand3 = () => {\r\n this.setState({ collapsesidebar: !this.state.collapsesidebar });\r\n this.props.data(\"230px\");\r\n this.setState({\r\n open3: true,\r\n open2: false,\r\n });\r\n };\r\n*/\r\n handleMenu = () => {\r\n this.setState({\r\n open1: !this.state.open1,\r\n });\r\n };\r\n/*\r\n handleMenu2 = () => {\r\n this.setState({\r\n open2: !this.state.open2,\r\n });\r\n };\r\n*/\r\n handleMenu3 = () => {\r\n this.setState({\r\n open3: !this.state.open3,\r\n });\r\n };\r\n handleMenu4 = () => {\r\n this.setState({\r\n open4: !this.state.open4,\r\n });\r\n };\r\n handleMenu5 = () => {\r\n this.setState({\r\n open5: !this.state.open5,\r\n });\r\n };\r\n handleClick = (event) => {\r\n this.setState({ anchorEl: event.currentTarget });\r\n };\r\n\r\n handleClose = () => {\r\n this.setState({ anchorEl: null });\r\n };\r\n\r\n search = (e) => {\r\n if (e.which === 13) {\r\n this.props.history.push(\r\n `/devices/viewtable?txt=${this.state.searchText}`\r\n );\r\n }\r\n };\r\n\r\n reload = () => {\r\n const current = this.props.location.pathname + this.props.location.search;\r\n this.props.history.replace(`/reload`);\r\n setTimeout(() => {\r\n this.props.history.replace(current);\r\n });\r\n };\r\n\r\n getColor(status = \"information\") {\r\n if (status == \"information\") {\r\n return \"#CCCCCC\";\r\n }\r\n else if (status == \"warning\") {\r\n return \"#FFBC44\";\r\n }\r\n else if (status == \"critical\") {\r\n return \"#FC5A5A\";\r\n }\r\n }\r\n\r\n renderStatus(status = \"information\") {\r\n let icon = null;\r\n let text = null;\r\n if (status == \"information\") {\r\n icon = ;\r\n text = \"Information: \";\r\n }\r\n else if (status == \"warning\") {\r\n icon = ;\r\n text = \"Warning: \";\r\n }\r\n else if (status == \"critical\") {\r\n icon = ;\r\n text = \"Error: \";\r\n }\r\n return (\r\n
\r\n {icon}\r\n {text}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { anchorEl } = this.state;\r\n const pathname = this.props.pathName;\r\n const { search } = this.props;\r\n var mm= require('moment-timezone');\r\n var abbs = \" \" + mm.tz(Intl.DateTimeFormat().resolvedOptions().timeZone).format('z').toString();\r\n const a = this.state.syncData.sync_time\r\n ? this.state.syncData.sync_time.replace(/-/g, \"/\")\r\n : \"\";\r\n var dateTime = a == \"\" ? \"\" : new Date(`${a} UTC`).toISOString();\r\n //.slice(0, -8)\r\n //.replace(\"T\", \" \");\r\n\r\n let user = localStorage.getItem(\"user\");\r\n user = user? user : \"\";\r\n let activeAlert = this.state.alerts.find(a => a.IsActive);\r\n let isActiveExisted = activeAlert ? true : false;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n

Asset Tracker

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n

UW Medicine

\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n {\r\n this.handleClose();\r\n this.props.history.push(\"/user/profile\");\r\n }}\r\n >\r\n View Profile\r\n \r\n {\r\n this.handleClose();\r\n let auth = this.context.accounts.length > 0 ? \"O365\" : \"Local\";\r\n apiRequest(`/logout?auth=${auth}`, \"post\")\r\n .then(r => {\r\n Cookies.remove(`owAuth${window.location.port}`);\r\n localStorage.clear();\r\n if (this.context.accounts.length > 0) {\r\n this.context.instance.logout();\r\n } else {\r\n //only if not microsoft login\r\n this.props.history.push(\"/\");\r\n }\r\n });\r\n //this.props.history.push(\"/\");\r\n }}\r\n >\r\n Logout\r\n \r\n \r\n
\r\n
    \r\n
  • \r\n \r\n {\r\n // Cookies.remove(`owAuth${window.location.port}`);\r\n // localStorage.clear();\r\n // this.props.history.push(\"/\");\r\n // }}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {user}\r\n {/* */}\r\n this.props.history.push(\"/user/profile\")}\r\n >\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n {/*this.state.alerts.some(a => a.IsActive)*/ isActiveExisted &&\r\n \r\n
\r\n
\r\n
\r\n {this.renderStatus(activeAlert.Type)}\r\n {false && activeAlert.Description}\r\n {false && \r\n {activeAlert.Description}\r\n }\r\n {true &&
}\r\n
\r\n {this.state.alerts.find(a => a.IsActive && a.IsDisMissable) && this.state.isNotDisMissedByUser &&\r\n {\r\n var today = new Date();\r\n var expiry = new Date(today.getTime() + 30 * 24 * 3600 * 1000); // plus 30 days\r\n let activeAlertCookie = { Id: activeAlert.Id, Updated: activeAlert.Updated };\r\n let kv = JSON.stringify(activeAlertCookie);\r\n document.cookie = \"alert=\" + kv + \"; path=/; expires=\" + expiry.toGMTString();\r\n this.setState({ isNotDisMissedByUser: false }, () => {\r\n this.props.changeHasActiveAlert(false);\r\n });\r\n }}\r\n /*variant=\"outlined\"*/\r\n >\r\n Dismiss\r\n \r\n }\r\n
\r\n
\r\n \r\n }\r\n\r\n \r\n a.IsActive)*/ isActiveExisted && this.state.isNotDisMissedByUser ? 0 :\"60px\" }}\r\n >\r\n \r\n {/*
  • \r\n {\r\n sessionStorage.setItem(\"entityID\", option.target.value ? JSON.stringify(option.target.value) : \"\");\r\n storeEntityId(option.target.value);\r\n storelocationId(-1);\r\n this.setState({ selector: option.target.value });\r\n this.reload();\r\n }}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu,\r\n },\r\n }}\r\n InputProps={{ className: classes.input1 }}\r\n InputLabelProps={{\r\n className: classes.label1,\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.state.entityData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n
  • */}\r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n © {new Date().getFullYear().toString()} University of Washington | Seattle, WA\r\n {/* © {new Date().getFullYear().toString()} Hewlett Packard Enterprise Development LP */}\r\n

    \r\n
    \r\n \r\n \r\n v3.9.1\r\n

    \r\n
    \r\n \r\n {Object.keys(this.state.syncData).length != 0 &&/*
    */\r\n \r\n Last Sync: \r\n {dateTime ? (\r\n \r\n \r\n {dateTime}\r\n \r\n {abbs}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n |\r\n Status: {this.state.syncData.status ? this.state.syncData.status : \"\"}\r\n

    \r\n /*
    */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n const { entities } = state;\r\n return {\r\n entities,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n getEntities: () => getEntity(dispatch),\r\n getLocation: (entityId) => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locationId = \"\") => getCollections(dispatch, entityId, locationId),\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(mapStateToProps, mapDispatchToProps),\r\n withStyles(styles),\r\n withRouter\r\n)(Navbar);\r\n","import React, { Component } from \"react\";\r\nimport Navbar from \"./Navbar\";\r\nimport Cookies from \"js-cookie\";\r\nimport { withRouter } from \"react-router\";\r\nimport { getEntity, getLocations/*, getCollections*/ } from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport Snackbar from \"@material-ui/core/Snackbar\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport {\r\n apiRequest,\r\n byName,\r\n token,\r\n setAccess,\r\n getMaxEntityAccess,\r\n getOption,\r\n meridianLocationId\r\n} from \"../utils/Utils\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { PFContext } from \"./PrimaryFilterContext\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\n//import Select from \"react-select\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport SvgIcon from '@material-ui/core/SvgIcon';\r\nimport Dialog from '@material-ui/core/Dialog';\r\n\r\nconst styles = (theme) => ({\r\n input: {\r\n height: 38,\r\n },\r\n label: {\r\n //marginTop: \"-5px\",\r\n },\r\n textField: {\r\n width: \"100%\",\r\n background: \"white\",\r\n },\r\n});\r\n\r\nclass PrimaryFilter extends Component {\r\n handeChange = (name, reload) => {\r\n if (reload) {\r\n if (name === this.state.entity) {\r\n switch (reload) {\r\n case \"coll\":\r\n this.getColl(this.state.entity);\r\n break;\r\n case \"dept\":\r\n this.getDept(this.state.entity, this.state.loc);\r\n break;\r\n case \"loc\":\r\n this.getLoc(this.state.entity);\r\n break;\r\n }\r\n }\r\n } else {\r\n this.handleChange(\"entity\")(null, { id: name });\r\n }\r\n/*\r\n sessionStorage.setItem(\"entityID\", name ? JSON.stringify(name) : \"\");\r\n if (name === \"\") {\r\n //clear other primary filters if location is empty\r\n this.handleClear();\r\n console.log(\"Primary filter cleared!\");\r\n }\r\n this.setState({ entity: name });\r\n*/\r\n };\r\n\r\n setCollectionEnable = (bool) => this.setState({ isCollectionEnabled: bool });\r\n\r\n state = {\r\n //entities: [],\r\n locationData: [],\r\n departmentData: [],\r\n collectionData: [],\r\n floorData: [],\r\n meridianBuildings: [],\r\n entity: sessionStorage.getItem(\"entityID\")\r\n ? JSON.parse(sessionStorage.getItem(\"entityID\"))\r\n : \"\",\r\n loc: sessionStorage.getItem(\"locationID\")\r\n ? JSON.parse(sessionStorage.getItem(\"locationID\"))\r\n : \"\",\r\n building: sessionStorage.getItem(\"buildingID\")\r\n ? sessionStorage.getItem(\"buildingID\")\r\n : \"\",\r\n dept: sessionStorage.getItem(\"departmentID\")\r\n ? JSON.parse(sessionStorage.getItem(\"departmentID\"))\r\n : \"\",\r\n coll: sessionStorage.getItem(\"collectionID\")\r\n ? JSON.parse(sessionStorage.getItem(\"collectionID\"))\r\n : \"\",\r\n floor: sessionStorage.getItem(\"floorID\")\r\n ? sessionStorage.getItem(\"floorID\")\r\n : \"\",\r\n path: this.props.location.pathname + this.props.location.search,\r\n handeChange: this.handeChange,\r\n tags: [],\r\n //isCollectionEnabled: true,\r\n isCollectionEnabled: (sessionStorage.getItem(\"filter\") && JSON.parse(sessionStorage.getItem(\"filter\")).dept) ? false : true,\r\n setCollectionEnable: this.setCollectionEnable,\r\n isFullScreen: false\r\n };\r\n\r\n componentDidMount() {\r\n this.getMapsFromMeridian(meridianLocationId);\r\n this.props.getEntities();\r\n if (sessionStorage.getItem(\"entityID\")) {\r\n //Get Locations of the selected entity\r\n this.getLoc(JSON.parse(sessionStorage.getItem(\"entityID\")));\r\n //Get Collections of the selected entity\r\n //Get Collection\r\n this.getColl(JSON.parse(sessionStorage.getItem(\"entityID\")));\r\n //this.getMapsFromMeridian(meridianLocationId); - remove as we only need floors when bulding is selected\r\n //If location is selected then apply it as a param\r\n if (sessionStorage.getItem(\"locationID\")) {\r\n //this.getMapsFromMeridian(meridianLocationId); - remove as it's possible to not select building, but an asset straight away\r\n //Get Department\r\n this.getDept(JSON.parse(sessionStorage.getItem(\"entityID\")), JSON.parse(sessionStorage.getItem(\"locationID\")));\r\n //if (sessionStorage.getItem(\"collectionID\"))\r\n this.getData(JSON.parse(sessionStorage.getItem(\"entityID\")), JSON.parse(sessionStorage.getItem(\"locationID\")), sessionStorage.getItem(\"collectionID\") ? JSON.parse(sessionStorage.getItem(\"collectionID\")) : \"\", false, sessionStorage.getItem(\"buildingID\"));\r\n //else\r\n // this.getData(JSON.parse(sessionStorage.getItem(\"entityID\")), JSON.parse(sessionStorage.getItem(\"locationID\")));\r\n } else if (sessionStorage.getItem(\"buildingID\")) {\r\n this.getData(JSON.parse(sessionStorage.getItem(\"entityID\")), sessionStorage.getItem(\"locationID\") ? JSON.parse(sessionStorage.getItem(\"locationID\")) : \"\", sessionStorage.getItem(\"collectionID\") ? JSON.parse(sessionStorage.getItem(\"collectionID\")) : \"\", false, sessionStorage.getItem(\"buildingID\"));\r\n }\r\n }\r\n }\r\n\r\n getMapsFromMeridian(location) {\r\n var url = `https://edit.meridianapps.com/api/locations/${location}/maps`;\r\n return fetch(url, getOption())\r\n .then((response) => {\r\n if (response.ok) {\r\n return response.json();\r\n } else {\r\n }\r\n })\r\n .then((data) => {\r\n if (data) {\r\n //let floors = [];\r\n let meridianBuildings = {};\r\n //console.log(\"floor:\", data);\r\n //console.log(\"floor1:\", data.results.find((i) => i.id == \"5634472569470976\"));\r\n let floors = data.results.filter(item => item.published == true && !item.invalid).map((item) => {\r\n meridianBuildings[item.group] = item.group_name;\r\n return {\r\n //name: item.level_label,\r\n name: item.name,\r\n floor_id: item.id,\r\n location_id: location,\r\n building_id: item.group,\r\n building_name: item.group_name\r\n };\r\n });\r\n //if (floors.length > 0) {\r\n // meridianBuildings = floors.filter((value, index, self) => self.map(x => x.building_id).indexOf(value.building_id) == index)\r\n // .map(b => ({\r\n // id: b.building_id,\r\n // name: b.building_name\r\n // }));\r\n floors = floors.sort(function(a, b) {\r\n return a.name.localeCompare(b.name, undefined, {\r\n numeric: true,\r\n sensitivity: 'base'\r\n });\r\n });\r\n //}\r\n const entries = Object.entries(meridianBuildings);\r\n meridianBuildings = [];\r\n for (const [key, value] of entries) {\r\n meridianBuildings.push({ id: key, name: value });\r\n }\r\n meridianBuildings.sort(byName);\r\n this.setState({ floorData: floors, meridianBuildings });\r\n }\r\n //return data;\r\n })\r\n .catch(err => console.log(\"error:\", err));\r\n }\r\n\r\n // intersect filtered assets with floors\r\n getData(e, b, c, f = false, cb) {\r\n let url = \"\";\r\n if (e) {\r\n //entity\r\n url += `entity_id=${e}&`;\r\n }\r\n if (b) {\r\n //loc\r\n url += `location_id=${b}&`;\r\n }\r\n if (c) {\r\n //coll\r\n url += `collection_id=${c}&`;\r\n }\r\n //if (f && b) {\r\n // //floor\r\n // url += `meridian_map_id=${f}&`;\r\n //}\r\n if (cb) {\r\n //CURRENT BUILDING\r\n url += `meridian_building_id=${cb}&`;\r\n }\r\n\r\n if (b || cb) {\r\n //apiRequest(`/assets/search?${url}`.slice(0, -1), \"get\")\r\n apiRequest(`/assets/floors?${url}`.slice(0, -1), \"get\")\r\n .then((response) => {\r\n //let datas = response.data.map((c) => {\r\n // return {\r\n // id: c.MacId,\r\n // name: c.FloorNumber,\r\n // location_id: c.MeridianLocationId,\r\n // floor_id: c.MeridianMapId,\r\n // device_name: c.Name,\r\n // building_id: c.MeridianBuildingId,\r\n // filter: true,\r\n // };\r\n //});\r\n //Filter for the selected floor id\r\n //this.setState({ tags: datas });\r\n this.setState({ tags: response.data });\r\n })\r\n .catch(err => console.log(\"error:\", err));\r\n }\r\n }\r\n\r\n isFloorMatching(floorid) {\r\n //if (this.state.tags.find((i) => i.floor_id == floorid)) {\r\n if (this.state.tags.some(i => i == floorid)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n handleChange = (name) => (event, value) => {\r\n //console.log(\"helokaa\", event, value);\r\n var param = \"\";\r\n if (value !== null) {\r\n switch (name) {\r\n case \"entity\":\r\n param = value.id;\r\n break;\r\n case \"loc\":\r\n param = value.id;\r\n break;\r\n case \"building\":\r\n param = value.id;\r\n break;\r\n case \"dept\":\r\n param = value.id;\r\n break;\r\n case \"coll\":\r\n param = value.id;\r\n break;\r\n case \"floor\":\r\n param = value.floor_id;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n this.setState(\r\n {\r\n //[name]: event.target.value,\r\n //[name]: param,\r\n path: this.props.location.pathname + this.props.location.search,\r\n },\r\n () => {\r\n if (name === \"entity\") {\r\n sessionStorage.setItem(\"entityID\", param ? JSON.stringify(param) : \"\");\r\n sessionStorage.setItem(\"locationID\", \"\");\r\n sessionStorage.setItem(\"departmentID\", \"\");\r\n sessionStorage.setItem(\"collectionID\", \"\");\r\n sessionStorage.setItem(\"floorID\", \"\");\r\n sessionStorage.setItem(\"buildingID\", \"\");\r\n this.setState({\r\n entity: param,\r\n loc: \"\",\r\n dept: \"\",\r\n coll: \"\",\r\n floor: \"\",\r\n building: \"\"\r\n });\r\n if (param) {\r\n this.props.getLocation(param);\r\n this.getLoc(param);\r\n //this.props.getCollection(param,0);\r\n this.getColl(param);\r\n //this.getMapsFromMeridian(meridianLocationId); - Replaced after building is selected\r\n }\r\n } else if (name === \"loc\") {\r\n sessionStorage.setItem(\"locationID\", param ? JSON.stringify(param) : \"\");\r\n sessionStorage.setItem(\"departmentID\", \"\");\r\n if (this.state.building) {\r\n this.setState({ loc: param, dept: \"\" });\r\n } else {\r\n sessionStorage.setItem(\"floorID\", \"\");\r\n this.setState({ loc: param, dept: \"\", floor: \"\" });\r\n }\r\n //this.props.getCollection(this.state.entity, event.target.value);\r\n //this.getMapsFromMeridian(meridianLocationId);\r\n //this.getData(this.state.entity, param, \"\");\r\n this.getData(this.state.entity, param, this.state.coll, false, this.state.building);\r\n this.getDept(this.state.entity, param);\r\n } else if (name === \"building\") {\r\n sessionStorage.setItem(\"buildingID\", param);\r\n let floorId = \"\";\r\n if (this.state.loc) {\r\n let lObj = this.state.locationData.find(e => e.id == this.state.loc);\r\n if (lObj) {\r\n if (!this.state.building && value) {\r\n if (value.name == lObj.name)\r\n floorId = this.state.floor;\r\n } else if (this.state.building && !value) {\r\n let bObj = this.state.meridianBuildings.find(e => e.id == this.state.building);\r\n if (bObj && bObj.name == lObj.name)\r\n floorId = this.state.floor;\r\n }\r\n }\r\n }\r\n sessionStorage.setItem(\"floorID\", floorId);\r\n this.setState({ building: param, floor: floorId });\r\n //this.getData(this.state.entity, \"\", \"\", false, param);\r\n this.getData(this.state.entity, this.state.loc, this.state.coll, false, param);\r\n } else if (name === \"dept\") {\r\n sessionStorage.setItem(\"departmentID\", param ? JSON.stringify(param) : \"\");\r\n this.setState({ dept: param });\r\n } else if (name === \"coll\") {\r\n sessionStorage.setItem(\"collectionID\", param ? JSON.stringify(param) : \"\");\r\n //console.log(\"misma\", sessionStorage.getItem(\"collectionID\"));\r\n this.setState({ coll: param });\r\n //this.getData(this.state.entity, this.state.loc ? this.state.loc : \"\", param);\r\n this.getData(this.state.entity, this.state.loc, param, false, this.state.building);\r\n } else if (name == \"floor\") {\r\n sessionStorage.setItem(\"floorID\", param);\r\n //if (this.state.building) {\r\n this.setState({ floor: param });\r\n //} else {\r\n // sessionStorage.setItem(\"buildingID\", value.building_id);\r\n // this.setState({ building: value.building_id, floor: param });\r\n //}\r\n }\r\n }\r\n );\r\n //this.reload();\r\n };\r\n\r\n getLoc(entityId) {\r\n apiRequest(`/entities/${entityId}/buildings`, \"get\")\r\n .then((response) => {\r\n if (response.status > 0) {\r\n const locationData = response.data.map((c) => {\r\n return {\r\n id: c.LocationId,\r\n name: c.LocationName,\r\n entityId: c.EntityId,\r\n };\r\n }).sort(byName);\r\n this.setState({ locationData: locationData });\r\n } else {\r\n this.setState({ locationData: [] });\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n getDept(entityId, locationId) {\r\n const url =\r\n locationId === \"\"\r\n ? `/entities/${entityId}/collections`\r\n : `/entities/${entityId}/locations/${locationId}/collections`;\r\n apiRequest(url, \"get\")\r\n .then((response) => {\r\n if (response.status > 0) {\r\n const departmentData = response.data.map((c) => {\r\n return {\r\n id: c.CollectionId,\r\n name: c.CollectionName,\r\n location: c.LocationName,\r\n locationId: c.LocationId,\r\n entityId: c.EntityId,\r\n collectionType: c.CollectionType,\r\n };\r\n }).sort(byName);\r\n this.setState({ departmentData: departmentData });\r\n } else {\r\n this.setState({ departmentData: [] });\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n getColl(entityId, locationId = \"\") {\r\n const url =\r\n locationId === \"\"\r\n ? `/entities/${entityId}/collections`\r\n : `/entities/${entityId}/locations/${locationId}/collections`;\r\n apiRequest(url, \"get\")\r\n .then((response) => {\r\n if (response.status > 0) {\r\n const collectionData = response.data.map((c) => {\r\n return {\r\n id: c.CollectionId,\r\n name: c.CollectionName,\r\n location: c.LocationName,\r\n locationId: c.LocationId,\r\n entityId: c.EntityId,\r\n collectionType: c.CollectionType,\r\n };\r\n }).sort(byName);\r\n this.setState({ collectionData: collectionData });\r\n } else {\r\n this.setState({ collectionData: [] });\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n visibility() {\r\n let visible = {\r\n entity: false,\r\n loc: false,\r\n building: false,\r\n dept: false,\r\n coll: false,\r\n floor: false,\r\n expand: false\r\n };\r\n let current = this.props.location.pathname + this.props.location.search;\r\n if (current.includes(\"reload\")) {\r\n current = this.state.path;\r\n }\r\n if (current.includes(\"view\")) {\r\n visible.entity = true;\r\n visible.loc = true;\r\n visible.dept = false;\r\n visible.coll = true;\r\n visible.floor = true;\r\n if (current.includes(\"viewtable\"))\r\n visible.building = true;\r\n if (current.includes(\"viewmap\")) {\r\n visible.building = true;\r\n visible.expand = true;\r\n }\r\n } else if (current.includes(\"manage/dept\")) {\r\n visible.entity = true;\r\n visible.loc = true;\r\n visible.dept = true;\r\n visible.coll = false;\r\n visible.floor = false;\r\n } else if (current.includes(\"manage/col\")) {\r\n visible.entity = true;\r\n visible.loc = false;\r\n visible.dept = false;\r\n visible.coll = true;\r\n visible.floor = false;\r\n }\r\n return visible;\r\n }\r\n\r\n reload() {\r\n const current = this.props.location.pathname + this.props.location.search;\r\n this.props.history.replace(`/reload`);\r\n setTimeout(() => {\r\n this.props.history.replace(current);\r\n });\r\n }\r\n\r\n handleClear = () => {\r\n sessionStorage.setItem(\"entityID\", \"\");\r\n sessionStorage.setItem(\"locationID\", \"\");\r\n sessionStorage.setItem(\"departmentID\", \"\");\r\n sessionStorage.setItem(\"collectionID\", \"\");\r\n sessionStorage.setItem(\"floorID\", \"\");\r\n sessionStorage.setItem(\"buildingID\", \"\");\r\n this.setState({\r\n entity: \"\",\r\n loc: \"\",\r\n dept: \"\",\r\n coll: \"\",\r\n floor: \"\",\r\n building: \"\"\r\n });\r\n //this.reload();\r\n };\r\n\r\n render() {\r\n const { pathname, search } = this.props.location;\r\n const { classes } = this.props;\r\n //console.log(\"benci\", this.state.tags, this.state, this.props, sessionStorage.getItem(\"entityID\"));\r\n const current = this.props.location.pathname + this.props.location.search;\r\n const v = this.visibility();\r\n // if (this.props.entities.length == 0) {\r\n // return \"Loading\";\r\n // }\r\n let eObj = this.props.entities.find(e => e.id == this.state.entity) || null;\r\n let lObj = null;\r\n if (sessionStorage.getItem(\"locationID\")) {\r\n const sessionLoc = JSON.parse(sessionStorage.getItem(\"locationID\"));\r\n lObj = this.state.locationData.find(e => e.id == sessionLoc) || null;\r\n }\r\n let bObj = this.state.meridianBuildings.find(e => e.id == this.state.building) || null; //to be checked later\r\n let dObj = null;\r\n if (sessionStorage.getItem(\"departmentID\")) {\r\n const sessionDept = JSON.parse(sessionStorage.getItem(\"departmentID\"));\r\n dObj = this.state.departmentData.find(e => e.id == sessionDept) || null;\r\n }\r\n let cObj = null;\r\n if (sessionStorage.getItem(\"collectionID\")) {\r\n const sessionColl = JSON.parse(sessionStorage.getItem(\"collectionID\"));\r\n cObj = this.state.collectionData.find(e => e.id == sessionColl) || null;\r\n }\r\n let fObj = (sessionStorage.getItem(\"floorID\") && this.state.floorData.find(e => e.floor_id == sessionStorage.getItem(\"floorID\"))) || null;\r\n //console.log(\"halo\", fObj);\r\n return (\r\n \r\n {!this.state.isFullScreen && (\r\n \r\n \r\n \r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"entity\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.props.entities.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
    \r\n {v.coll && (\r\n \r\n \r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"coll\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.collectionData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n \r\n
    \r\n )}\r\n {v.loc && (\r\n \r\n \r\n (bObj && this.props.location.pathname.includes(\"viewmap\") && bObj.name != option.name)}\r\n getOptionSelected={(option, value) => option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"loc\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.locationData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n \r\n
    \r\n )}\r\n {v.building && (\r\n \r\n \r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"building\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n
    \r\n )}\r\n {v.dept && (\r\n \r\n \r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"dept\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n {/* \r\n {this.state.departmentData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n \r\n
    \r\n )}\r\n {/* v.coll && (\r\n \r\n option.id == value.id)}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"coll\")}\r\n renderOption={(option) => (\r\n
    \r\n {option.name}\r\n
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n {this.state.collectionData.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n
    \r\n ) */}\r\n {v.floor && (\r\n \r\n \r\n f.building_id == bObj.id)\r\n :\r\n lObj\r\n ? this.state.floorData.filter((f) => f.building_name == lObj.name)\r\n : []\r\n }\r\n getOptionSelected={(option, value) => option.floor_id == value.floor_id}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
    \r\n {this.isFloorMatching(option.floor_id) ? (\r\n {option.name}\r\n ) : (\r\n
    {option.name}
    \r\n )}\r\n
    \r\n )}\r\n onChange={this.handleChange(\"floor\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n
    \r\n )}\r\n {/* v.floor && (\r\n \r\n
    \r\n {\r\n this.setState({ test: opt });\r\n }}\r\n placeholder=\"Floor*\"\r\n options={this.state.floorData}\r\n getOptionLabel={(option) => option.name}\r\n isClearable={true}\r\n isSearchable={true}\r\n formatOptionLabel={(option) => (\r\n
    \r\n {this.isFloorMatching(option.floor_id) ? (\r\n {option.name}\r\n ) : (\r\n
    {option.name}
    \r\n )}\r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n ) */}\r\n {/* \r\n {this.state.floorData.map((option) => (\r\n \r\n {this.isFloorMatching(option.floor_id) ? (\r\n {option.name}\r\n ) : (\r\n
    {option.name}
    \r\n )}\r\n
    \r\n ))}\r\n */}\r\n\r\n \r\n \r\n Clear\r\n \r\n
    \r\n \r\n {v.expand && (\r\n \r\n {\r\n /*if (this.state.isFullScreen) {\r\n this.setState({ isFullScreen: false });\r\n } else {*/\r\n this.setState({ isFullScreen: true });\r\n /*}*/\r\n }}\r\n >\r\n \r\n {/*this.state.isFullScreen ? (\r\n \r\n ) : */(\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n {!this.state.isFullScreen && (\r\n \r\n {this.props.children}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"entity\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n
    \r\n {v.coll && (\r\n \r\n \r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"coll\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n
    \r\n )}\r\n {v.loc && (\r\n \r\n \r\n (bObj && this.props.location.pathname.includes(\"viewmap\") && bObj.name != option.name)}\r\n getOptionSelected={(option, value) => option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"loc\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n
    \r\n )}\r\n {v.building && (\r\n \r\n \r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"building\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n
    \r\n )}\r\n {v.dept && (\r\n \r\n \r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={this.handleChange(\"dept\")}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n
    \r\n )}\r\n {v.floor && (\r\n \r\n \r\n f.building_id == bObj.id)\r\n :\r\n lObj\r\n ? this.state.floorData.filter((f) => f.building_name == lObj.name)\r\n : []\r\n }\r\n getOptionSelected={(option, value) => option.floor_id == value.floor_id}\r\n getOptionLabel={(option) => option.name}\r\n renderOption={(option) => (\r\n
    \r\n {this.isFloorMatching(option.floor_id) ? (\r\n {option.name}\r\n ) : (\r\n
    {option.name}
    \r\n )}\r\n
    \r\n )}\r\n onChange={this.handleChange(\"floor\")}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n
    \r\n )}\r\n\r\n \r\n \r\n Clear\r\n \r\n
    \r\n \r\n {v.expand && (\r\n \r\n {\r\n /*if (this.state.isFullScreen) {*/\r\n this.setState({ isFullScreen: false });\r\n /*} else {\r\n this.setState({ isFullScreen: true });\r\n }*/\r\n }}\r\n >\r\n \r\n {/*this.state.isFullScreen ? */(\r\n \r\n )/* : (\r\n \r\n )*/}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {this.props.children}\r\n \r\n
    \r\n {/*
    {React.cloneElement(this.props.children, {halo: this.state.coll})}
    */}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n const { entities/*, locations, collections*/ } = state;\r\n return {\r\n entities,\r\n //locations,\r\n //collections\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n getEntities: () => getEntity(dispatch),\r\n //storeEntity: () => getEntity(dispatch),\r\n getLocation: (entityId) => getLocations(dispatch, entityId),\r\n //getCollection: (entityId, locationId = \"\") => getCollections(dispatch, entityId, locationId)\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(mapStateToProps, mapDispatchToProps),\r\n withRouter,\r\n withStyles(styles)\r\n)(PrimaryFilter);\r\n","import React, { Component } from \"react\";\r\nimport Navbar from \"../components/Navbar\";\r\nimport Cookies from \"js-cookie\";\r\nimport { withRouter } from \"react-router\";\r\nimport { apiRequest, setAccess, getMaxEntityAccess, isPortalAdmin, addLowBatteryStyle } from \"../utils/Utils\";\r\nimport { clearMessage, getEntity, getLocations, getCollections } from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport Snackbar from \"@material-ui/core/Snackbar\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport PrimaryFilter from \"../components/PrimaryFilter\";\r\nimport AlertContext from \"../components/AlertContext\";\r\n\r\nconst styles = (theme) => ({\r\n input: {\r\n height: 38,\r\n },\r\n label: {\r\n marginTop: \"-5px\",\r\n },\r\n textField: {\r\n width: \"100%\",\r\n background: \"white\",\r\n },\r\n});\r\nclass Layout extends Component {\r\n state = {\r\n padding: 74,\r\n open: false,\r\n message: \"\",\r\n loadNav: false,\r\n entities: [],\r\n locationData: [],\r\n departmentData: [],\r\n collectionData: [],\r\n entity: sessionStorage.getItem(\"entityID\")\r\n ? JSON.parse(sessionStorage.getItem(\"entityID\"))\r\n : \"\",\r\n loc: sessionStorage.getItem(\"locationID\")\r\n ? JSON.parse(sessionStorage.getItem(\"locationID\"))\r\n : \"\",\r\n dept: sessionStorage.getItem(\"departmentID\")\r\n ? JSON.parse(sessionStorage.getItem(\"departmentID\"))\r\n : \"\",\r\n coll: sessionStorage.getItem(\"collectionID\")\r\n ? JSON.parse(sessionStorage.getItem(\"collectionID\"))\r\n : \"\",\r\n deptChanged: false,\r\n\r\n isActiveAlertChanged: false,\r\n hasActiveAlert: false\r\n };\r\n\r\n handleAlert = (value) => this.setState({ isActiveAlertChanged: value });\r\n\r\n handleActiveAlert = (value) => this.setState({ hasActiveAlert: value });\r\n\r\n handlePadding = (Value) => {\r\n this.setState({ padding: Value });\r\n };\r\n\r\n handleClose = (event, reason) => {\r\n this.setState({ open: false }, () => {\r\n this.props.clearMessages();\r\n });\r\n };\r\n\r\n componentWillMount() {\r\n console.log(caches, \"available\");\r\n if (caches) {\r\n //Service worker cache should be cleared with caches.delete()\r\n caches.keys().then(function (names) {\r\n for (let name of names) {\r\n console.log(\"Deleting cache from \", name, \"in\", names);\r\n caches.delete(name);\r\n }\r\n });\r\n }\r\n this.name = localStorage.getItem(\"user\");\r\n window.addEventListener(\"focus\", this.onFocus2);\r\n this.getAccess();\r\n }\r\n\r\n componentDidMount() {\r\n //this.props.getEntities();\r\n addLowBatteryStyle(document);\r\n }\r\n\r\n componentWillReceiveProps({ entities, locations, collections, message }) {\r\n this.setState({\r\n entities: entities,\r\n //locationData: locations,\r\n //collectionData: collections,\r\n });\r\n this.name = localStorage.getItem(\"user\");\r\n if (message !== \"\") {\r\n this.setState({\r\n open: true,\r\n });\r\n }\r\n }\r\n\r\n componentWilUnmount() {\r\n window.removeEventListener(\"focus\", this.onFocus2);\r\n }\r\n\r\n onFocus2 = () => {\r\n if (this.name != localStorage.getItem(\"user\")) {\r\n this.name = localStorage.getItem(\"user\");\r\n this.setState({\r\n loadNav: false,\r\n });\r\n this.getAccess();\r\n }\r\n };\r\n\r\n getAccess() {\r\n const { pathname, search } = this.props.location;\r\n if (Cookies.get(`owAuth${window.location.port}`)) {\r\n apiRequest(`/accesscontrol`, \"get\")\r\n .then((x) => {\r\n setAccess(x.data);\r\n this.setState({\r\n loadNav: true,\r\n });\r\n if (x.data.length == 0) {\r\n this.props.history.push(\"/noaccess\");\r\n //redirect the user to no access to view page\r\n } else if (getMaxEntityAccess() <= 300) {\r\n if (pathname.includes(\"/asset\")) {\r\n this.props.history.push(pathname);\r\n } else {\r\n this.props.history.push(\"/devices/viewtable\");\r\n }\r\n } else {\r\n if (pathname.includes(\"options/Modify/collection\")) {\r\n if (search.includes(\"type=dept\"))\r\n this.props.history.push(\r\n \"/options/Modify/collection/0?type=dept\"\r\n );\r\n else\r\n this.props.history.push(\r\n \"/options/Modify/collection/0?type=col\"\r\n );\r\n } else if (pathname.includes(\"options/Create/collection\")) {\r\n if (search.includes(\"type=dept\"))\r\n this.props.history.push(\r\n \"/options/Create/collection/0?type=dept\"\r\n );\r\n else\r\n this.props.history.push(\r\n \"/options/Create/collection/0?type=col\"\r\n );\r\n } else if (pathname.includes(\"options/Modify/loc\")) {\r\n this.props.history.push(\"/options/Modify/loc/0\");\r\n } else {\r\n if (pathname.includes(\"/upload\")) {\r\n if (isPortalAdmin)\r\n this.props.history.push(pathname);\r\n else\r\n this.props.history.push(\"/devices/viewtable\");\r\n }\r\n else\r\n this.props.history.push(pathname);\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n Cookies.remove(`owAuth${window.location.port}`);\r\n this.setState({\r\n loadNav: true,\r\n });\r\n this.props.history.push(\"/\");\r\n });\r\n } else {\r\n this.setState({\r\n loadNav: true,\r\n });\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n handleChange = (name) => (event) => {\r\n this.setState(\r\n {\r\n [name]: event.target.value,\r\n },\r\n () => {\r\n if (name === \"entity\") {\r\n sessionStorage.setItem(\"entityID\", event.target.value ? JSON.stringify(event.target.value) : \"\");\r\n sessionStorage.setItem(\"collectionID\", \"\");\r\n //this.props.getLocation(event.target.value);\r\n this.getLoc(event.target.value);\r\n //this.props.getCollection(event.target.value);\r\n this.getColl(event.target.value);\r\n } else if (name === \"loc\") {\r\n sessionStorage.setItem(\"locationID\", event.target.value ? JSON.stringify(event.target.value) : \"\");\r\n this.setState({ loc: event.target.value });\r\n //this.props.getCollection(this.state.entity, event.target.value);\r\n this.getDept(this.state.entity, event.target.value);\r\n } else if (name === \"dept\") {\r\n sessionStorage.setItem(\"departmentID\", event.target.value ? JSON.stringify(event.target.value) : \"\");\r\n this.setState({ dept: event.target.value });\r\n } else if (name === \"coll\") {\r\n sessionStorage.setItem(\"collectionID\", event.target.value ? JSON.stringify(event.target.value) : \"\");\r\n this.setState({ coll: event.target.value });\r\n }\r\n }\r\n );\r\n const current = this.props.location.pathname + this.props.location.search;\r\n this.props.history.replace(`/reload`);\r\n setTimeout(() => {\r\n this.props.history.replace(current);\r\n });\r\n };\r\n\r\n getLoc(entityId) {\r\n apiRequest(`/entities/${entityId}/locations`, \"get\")\r\n .then((response) => {\r\n if (response.status > 0) {\r\n const locationData = response.data.map((c) => {\r\n return {\r\n id: c.LocationId,\r\n name: c.LocationName,\r\n entityId: c.EntityId,\r\n };\r\n });\r\n this.setState({ locationData: locationData });\r\n } else {\r\n this.setState({ locationData: [] });\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n getDept(entityId, locationId) {\r\n const url =\r\n locationId === \"\"\r\n ? `/entities/${entityId}/collections`\r\n : `/entities/${entityId}/locations/${locationId}/collections`;\r\n apiRequest(url, \"get\")\r\n .then((response) => {\r\n if (response.status > 0) {\r\n const departmentData = response.data.map((c) => {\r\n return {\r\n id: c.CollectionId,\r\n name: c.CollectionName,\r\n location: c.LocationName,\r\n locationId: c.LocationId,\r\n entityId: c.EntityId,\r\n collectionType: c.CollectionType,\r\n };\r\n });\r\n this.setState({ departmentData: departmentData });\r\n } else {\r\n this.setState({ departmentData: [] });\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n getColl(entityId, locationId = \"\") {\r\n const url =\r\n locationId === \"\"\r\n ? `/entities/${entityId}/collections`\r\n : `/entities/${entityId}/locations/${locationId}/collections`;\r\n apiRequest(url, \"get\")\r\n .then((response) => {\r\n if (response.status > 0) {\r\n const collectionData = response.data.map((c) => {\r\n return {\r\n id: c.CollectionId,\r\n name: c.CollectionName,\r\n location: c.LocationName,\r\n locationId: c.LocationId,\r\n entityId: c.EntityId,\r\n collectionType: c.CollectionType,\r\n };\r\n });\r\n this.setState({ collectionData: collectionData });\r\n } else {\r\n this.setState({ collectionData: [] });\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n render() {\r\n const { pathname, search } = this.props.location;\r\n const { classes } = this.props;\r\n //console.log(\"benc\", this.state, this.props, sessionStorage.getItem(\"entityID\"));\r\n const current = this.props.location.pathname + this.props.location.search;\r\n return (\r\n \r\n {this.state.loadNav ? (\r\n \r\n \r\n {pathname !== \"/\" ? (\r\n \r\n ) : null}\r\n\r\n {this.props.message}}\r\n action={[\r\n \r\n \r\n ,\r\n ]}\r\n />\r\n \r\n
    \r\n {pathname !== \"/\" &&\r\n pathname !== \"/devices/map\" &&\r\n pathname !== \"/devices/upload\" &&\r\n pathname !== \"/master/data/manage\" &&\r\n pathname !== \"/noaccess\" &&\r\n pathname !== \"/options/alertbanner/manage\" &&\r\n pathname !== \"/options/users/assign\" &&\r\n pathname !== \"/options/users/create\" &&\r\n pathname !== \"/options/users/permissions\" &&\r\n pathname !== \"/options/users/upload\" &&\r\n pathname !== \"/options/Create/alert\" &&\r\n pathname !== \"/options/View/alert\" &&\r\n pathname !== \"/user/profile\" &&\r\n !pathname.includes(\"asset\") &&\r\n !pathname.includes(\"/master/data/manage\") &&\r\n !pathname.includes(\"log/\") ? (\r\n {this.props.children}\r\n ) : (\r\n this.props.children\r\n )}\r\n
    \r\n {/*
    \r\n \r\n \r\n \r\n {this.state.entities.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n {!current.includes(\"col\") &&\r\n \r\n \r\n {this.state.locationData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n }\r\n {!current.includes(\"col\") &&\r\n \r\n \r\n {this.state.departmentData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n }\r\n {!current.includes(\"dept\") &&\r\n \r\n \r\n {this.state.collectionData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n }\r\n {(!current.includes(\"col\") && !current.includes(\"dept\")) &&\r\n \r\n \r\n {this.state.entities.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n
    */}\r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n const { entities, locations, collections, message } = state;\r\n return {\r\n entities,\r\n locations,\r\n collections,\r\n message,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n getEntities: () => getEntity(dispatch),\r\n //storeEntity: () => getEntity(dispatch),\r\n getLocation: (entityId) => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locationId = \"\") => getCollections(dispatch, entityId, locationId),\r\n clearMessages: () => dispatch(clearMessage()),\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(mapStateToProps, mapDispatchToProps),\r\n withRouter,\r\n withStyles(styles)\r\n)(Layout);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Edit from \"@material-ui/icons/Edit\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport AddIcon from \"@material-ui/icons/AddCircleOutline\";\r\nimport { Button } from \"@material-ui/core\";\r\nimport { getLocations, getCollections, showMessage } from \"../actions/index\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"recompose\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { apiRequest } from \"../utils/Utils\";\r\nimport AlertDialog from \"./AlertDialog\";\r\n\r\nconst cellStyle = theme => ({\r\n root: {\r\n //padding: 0,\r\n //width: \"20%\"\r\n \"word-break\": \"break-all\",\r\n //cursor: (props) => props.pointer ? \"pointer\" : \"\"\r\n },\r\n});\r\nconst TableCellS = withStyles(cellStyle)(TableCell);\r\n//const TableCellS = withStyles(cellStyle)((props) => );\r\n\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n overflowX: \"auto\"\r\n },\r\n table: {\r\n minWidth: 300\r\n },\r\n button: {\r\n margin: \"0px\",\r\n padding: \"0px\",\r\n color: \"#4b2e83\",\r\n border: \"1px solid #4b2e83\",\r\n\r\n \"&:hover\": {\r\n color: \"#4b2e83\",\r\n border: \"1px solid #4b2e83\",\r\n }\r\n },\r\n icons: {\r\n outline: \"none !important\",\r\n margin: \"-10px -1px\"\r\n },\r\n progress: {\r\n color: \"#4b2e83\"\r\n },\r\n noPadding: {\r\n padding: 0,\r\n background: \"red\"\r\n }\r\n});\r\n\r\nclass TableForMetadata extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n //data: props.data,\r\n //header: props.header,\r\n //tableName: props.tableName,\r\n page: 0,\r\n rowsPerPage: 20,\r\n showLoader: false,\r\n //disableButton: false,\r\n //disableAllButtons: !props.editable,\r\n access: props.access,\r\n openAlert: false,\r\n rowToDelete: {}\r\n };\r\n }\r\n handleChangePage = (event, page) => {\r\n this.setState({ page });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n if (event.target.value * this.state.page > this.props.data.length && this.state.page != 0)\r\n this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n else\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n handleDelete = () => {\r\n const item = this.state.rowToDelete;\r\n const That = this;\r\n this.setState({\r\n showLoader: true,\r\n openAlert: false\r\n });\r\n let url = `/entities/${item.entityId}/locations/`;\r\n if (this.props.tableName == \"Department\") {\r\n url = `/collections/${item.id}`;\r\n } else {\r\n url += `${item.id}`;\r\n }\r\n const THAT = this;\r\n\r\n apiRequest(url, \"delete\")\r\n .then(x => {\r\n if (x.status > 0) {\r\n if (THAT.props.tableName === \"Department\") {\r\n if (item.locationId != \"\" && item.locationId != null)\r\n THAT.props.getCollection(item.entityId, item.locationId);\r\n else\r\n THAT.props.getCollection(item.entityId, 0);\r\n }\r\n if (THAT.props.tableName === \"Building\")\r\n THAT.props.getLocation(item.entityId);\r\n }\r\n setTimeout(() => {\r\n THAT.setState({\r\n showLoader: false\r\n });\r\n }, 500);\r\n\r\n if (x.status > 0 && x.message == null)\r\n THAT.props.showMessageBox(\"SUCCESS\");\r\n else\r\n THAT.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n THAT.props.showMessageBox(\"ERROR\");\r\n THAT.setState({\r\n showLoader: false\r\n });\r\n });\r\n };\r\n/*\r\n componentWillMount() {\r\n this.checkAccess();\r\n }\r\n\r\n componentWillReceiveProps(newProps) {\r\n const oldEntityId = this.props.entityId, oldLocationId = this.props.locationId;\r\n this.setState(\r\n {\r\n data: newProps.data,\r\n access: newProps.access\r\n },\r\n () => {\r\n if (oldEntityId !== newProps.entityId || oldLocationId !== newProps.locationId)\r\n this.checkAccess();\r\n }\r\n );\r\n }\r\n\r\n checkAccess() {\r\n const { entityId, locationId = \"\" } = this.props;\r\n let resourceType = \"\";\r\n let resourceId = \"\";\r\n if (locationId == \"\") {\r\n resourceType = \"entity\";\r\n resourceId = entityId;\r\n } else {\r\n resourceType = \"location\";\r\n resourceId = locationId;\r\n }\r\n apiRequest(\r\n `/accesscontrol?resourceType=${resourceType}&resourceId=${resourceId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.data[0] == 300) {\r\n this.setState({\r\n disableButton: true\r\n });\r\n }\r\n if (response.data[0] <= 100) {\r\n this.setState({\r\n disableAllButtons: true,\r\n disableButton: true\r\n });\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n*/\r\n render() {\r\n const { classes, data, header } = this.props;\r\n const { /*data, header,*/ rowsPerPage, page } = this.state;\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n \r\n \r\n \r\n {header.map(item => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n {data\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map((row, i) => (\r\n {\r\n let path = this.props.singlePagePath ? `${this.props.singlePagePath}/${row.id}` : `manage/manufacturer/${row.ManufacturerId}/model/${row.ModelId}`;\r\n if (this.props.history)\r\n //this.props.history.push(`manage/manufacturer/${row.ManufacturerId}/model/${row.ModelId}`)\r\n this.props.history.push(path);\r\n }}\r\n >\r\n {header.map(item => (\r\n \r\n {row[item.id]}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { entities } = state;\r\n return {\r\n entities\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n getLocation: entityId => getLocations(dispatch, entityId),\r\n getCollection: (entityId, locId) => getCollections(dispatch, entityId, locId),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(TableForMetadata);\r\n","import React, { Component } from \"react\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport { showMessage } from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { apiRequest, byName, getMaxDepartmentAccess, isPortalAdmin, getMaxEntityAccess, getMaxLocationAccess } from \"../utils/Utils\";\r\nimport AlertDialog from \"../components/AlertDialog\";\r\nimport TableForMetadata from \"../components/TableForMetadata.jsx\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n input: {\r\n width: \"85%\",\r\n padding: \"3px\",\r\n borderRadius: \"5px\",\r\n outline: \"none\",\r\n border: \"1px solid lightgrey\"\r\n },\r\n textField: { width: \"100%\" },\r\n menu: {\r\n width: \"100%\"\r\n }\r\n});\r\n\r\nclass MasterDataManagement extends Component {\r\n newManufacture = true;\r\n newModel = true;\r\n newType = true;\r\n state = {\r\n manufacturer: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n model: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n type: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n default: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n open: false,\r\n rename_type: \"\",\r\n rename_value: \"\",\r\n //manufacturerData: [],\r\n modelData: [],\r\n typeData: [],\r\n openAlert: false,\r\n actionType: \"\",\r\n name: \"\",\r\n manufacturermodels: [],\r\n disableButton: false\r\n };\r\n\r\n componentWillMount() {\r\n //this.fetchData(\"manufactures\");\r\n //this.fetchData(\"assetmodels\");\r\n this.fetchData(\"assettypes\");\r\n\r\n this.fetchData(\"manufacturermodels\");\r\n this.checkAccess();\r\n }\r\n\r\n checkAccessOld() {\r\n let resourceType = \"entity\";\r\n let resourceId = 1;\r\n apiRequest(\r\n `/accesscontrol?resourceType=${resourceType}&resourceId=${resourceId}`,\r\n \"get\"\r\n )\r\n .then(response => {\r\n if (response.data[0] == 300) {\r\n this.setState({\r\n disableButton: true\r\n });\r\n }\r\n if (response.data[0] <= 100) {\r\n this.setState({\r\n disableButton: true\r\n });\r\n }\r\n })\r\n .catch(error => console.log(\"error\", error));\r\n }\r\n\r\n checkAccess() {\r\n if (isPortalAdmin) {\r\n //ok\r\n }\r\n else if (getMaxEntityAccess() < 500 && getMaxLocationAccess() < 500 && getMaxDepartmentAccess() < 500) {\r\n this.setState({ disableButton: true });\r\n }\r\n }\r\n\r\n fetchData(dataType, id = \"\") {\r\n const That = this;\r\n let url =\r\n dataType === \"assetmodels\"\r\n ? `/masters/${dataType}/${id}`\r\n : `/masters/${dataType}`;\r\n\r\n //console.log(\"apiRequest url:\", url);\r\n\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n\r\n const data = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n\r\n //console.log(`response to '${dataType}'`, response);\r\n\r\n switch (dataType) {\r\n case \"manufactures\":\r\n //console.log(\"resp data\", data.sort(byName));\r\n this.setState(\r\n {\r\n manufacturerData: data.sort(byName)\r\n },\r\n () => {\r\n let id = this.state.manufacturer.id;\r\n if (id !== \"\")\r\n this.fetchData(\"assetmodels\", id);\r\n }\r\n );\r\n break;\r\n\r\n case \"assetmodels\":\r\n //console.log(\"resp assetmodel modelData\", data.sort(byName));\r\n this.setState({\r\n modelData: data.sort(byName)\r\n });\r\n break;\r\n\r\n case \"assettypes\":\r\n //console.log(\"resp assettype typeData\", data.sort(byName));\r\n this.setState({\r\n typeData: data.sort(byName)\r\n });\r\n break;\r\n\r\n case \"manufacturermodels\":\r\n //console.log(\"resp manufacturermodels manufacturermodels\", response.data);\r\n this.setState({ manufacturermodels: response.data });\r\n break;\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n add = () => {\r\n this.setState({\r\n openAlert: false\r\n });\r\n const that = this;\r\n const name = this.state.name;\r\n if (name === \"manufacturer\") {\r\n const Manufacturer = this.state.manufacturer.name;\r\n\r\n apiRequest(`/masters/addmanufactures?name=${Manufacturer}`, \"post\")\r\n .then(x => {\r\n if (x.status > 0) that.fetchData(\"manufactures\");\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n } else if (name === \"model\") {\r\n const DeviceModel = this.state.model.name;\r\n\r\n console.log(\"TODO\", `/masters/addassetmodels?manfactureId=${\r\n that.state.manufacturer.id\r\n }&model=${DeviceModel}`);\r\n\r\n apiRequest(\r\n `/masters/addassetmodels?manfactureId=${\r\n that.state.manufacturer.id\r\n }&model=${DeviceModel}`,\r\n \"post\"\r\n )\r\n .then(x => {\r\n if (x.status > 0)\r\n that.fetchData(\"assetmodels\", that.state.manufacturer.id);\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n } else if (name === \"type\") {\r\n const DeviceType = this.state.type.name;\r\n\r\n apiRequest(`/masters/addassettypes?name=${DeviceType}`, \"post\")\r\n .then(x => {\r\n if (x.status > 0) that.fetchData(\"assettypes\");\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 1000);\r\n };\r\n\r\n rename = () => {\r\n this.setState({\r\n openAlert: false\r\n });\r\n const that = this;\r\n const { rename_type, rename_value } = this.state;\r\n if (rename_type === \"manufacturer\") {\r\n const old_data = this.state.manufacturer;\r\n this.handleRenameRequest(\"manufactures\", old_data);\r\n this.newManufacture = true;\r\n } else if (rename_type === \"model\") {\r\n const old_data = this.state.model;\r\n this.handleRenameRequest(\"assetmodels\", old_data);\r\n this.newModel = true;\r\n } else if (rename_type === \"type\") {\r\n const old_data = this.state.type;\r\n this.handleRenameRequest(\"assettypes\", old_data);\r\n this.newType = true;\r\n }\r\n this.setState({\r\n actionType: \"\",\r\n rename_value: \"\",\r\n [rename_type]: this.state.default\r\n });\r\n this.handleClose();\r\n let a = document.querySelectorAll(\"input\");\r\n a.forEach(element => {\r\n element.value = \"\";\r\n });\r\n };\r\n\r\n handleRenameRequest(name, data) {\r\n const { rename_value } = this.state;\r\n const that = this;\r\n\r\n apiRequest(`/masters/${name}/${data.id}?name=${rename_value}`, \"put\")\r\n .then(x => {\r\n if (x.status > 0) that.fetchData(name);\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n\r\n delete = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }\r\n );\r\n const { name } = this.state;\r\n const that = this;\r\n if (name === \"manufacturer\") {\r\n const new_data = this.state.manufacturer;\r\n this.handleDeleteRequest(\"manufactures\", new_data);\r\n this.newManufacture = true;\r\n } else if (name === \"model\") {\r\n const new_data = this.state.model;\r\n this.handleDeleteRequest(\"assetmodels\", new_data);\r\n this.newModel = true;\r\n } else if (name === \"type\") {\r\n const new_data = this.state.type;\r\n this.handleDeleteRequest(\"assettypes\", new_data);\r\n this.newType = true;\r\n }\r\n let a = document.querySelectorAll(\"input\");\r\n a.forEach(element => {\r\n element.value = \"\";\r\n });\r\n };\r\n\r\n handleDeleteRequest(name, data) {\r\n const that = this;\r\n\r\n apiRequest(`/masters/${name}/${data.id}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0) that.fetchData(name);\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n\r\n inputChange = name => e => {\r\n let data = [];\r\n if (name === \"manufacturer\") data = this.state.manufacturerData;\r\n else if (name === \"model\") data = this.state.modelData;\r\n else if (name === \"type\") data = this.state.typeData;\r\n if (data.length === 0) {\r\n if (name === \"manufacturer\") this.newManufacture = true;\r\n else if (name === \"model\") this.newModel = true;\r\n else if (name === \"type\") this.newType = true;\r\n this.setState({\r\n [name]: { name: e.target.value, id: data.length }\r\n });\r\n }\r\n else {\r\n for (var element of data) {\r\n if (element.name == e.target.value) {\r\n if (name === \"manufacturer\") this.newManufacture = false;\r\n else if (name === \"model\") this.newModel = false;\r\n else if (name === \"type\") this.newType = false;\r\n this.setState(\r\n {\r\n [name]: { name: element.name, id: element.id }\r\n },\r\n () => {\r\n if (name === \"manufacturer\") {\r\n let id = this.state.manufacturer.id;\r\n if (id === \"\") {\r\n this.setState({\r\n modelData: [],\r\n model: { ...this.state.default }\r\n });\r\n } else {\r\n this.setState({\r\n model: { ...this.state.default }\r\n });\r\n this.fetchData(\"assetmodels\", id);\r\n }\r\n }\r\n }\r\n );\r\n break;\r\n } else {\r\n if (name === \"manufacturer\") this.newManufacture = true;\r\n else if (name === \"model\") this.newModel = true;\r\n else if (name === \"type\") this.newType = true;\r\n this.setState({\r\n [name]: { name: e.target.value, id: data.length }\r\n });\r\n }\r\n }\r\n }\r\n\r\n };\r\n\r\n handleClickOpen() {\r\n this.setState({ open: true });\r\n }\r\n\r\n handleClose() {\r\n this.setState({ open: false });\r\n }\r\n\r\n handleReset = (index, name) => {\r\n if (name === \"manufacturer\") this.newManufacture = true;\r\n else if (name === \"model\") this.newModel = true;\r\n else if (name === \"type\") this.newType = true;\r\n\r\n this.setState(\r\n {\r\n [name]: { ...this.state.default }\r\n },\r\n () => {\r\n if (name === \"manufacturer\") {\r\n this.setState({\r\n modelData: []\r\n });\r\n //this.handleReset(1,\"model\");\r\n let a = document.querySelectorAll(\"input\");\r\n a[index + 1].value = \"\";\r\n }\r\n }\r\n );\r\n\r\n let a = document.querySelectorAll(\"input\");\r\n a[index].value = \"\";\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { manufacturerData, modelData, typeData, manufacturermodels } = this.state;\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n {\r\n this.handleClose();\r\n }}\r\n >\r\n Rename\r\n \r\n {\r\n this.setState({ rename_value: e.target.value });\r\n }}\r\n value={this.state.rename_value}\r\n />\r\n \r\n \r\n {\r\n this.handleClose();\r\n }}\r\n color=\"primary\"\r\n style={{\r\n color: \"#4b2e83\",\r\n margin: 10,\r\n height: 45,\r\n }}\r\n className=\"button1\"\r\n >\r\n Cancel\r\n \r\n {\r\n this.setState({\r\n actionType: \"RENAME\",\r\n openAlert: true,\r\n });\r\n }}\r\n color=\"primary\"\r\n style={{\r\n color: \"#4b2e83\",\r\n margin: 10,\r\n height: 45,\r\n }}\r\n className=\"button1\"\r\n >\r\n Ok\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n
    Manufacturer
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleReset(0, \"manufacturer\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (this.state.manufacturer.name == \"\") {\r\n this.props.showMessageBox(\"Field is empty\");\r\n return;\r\n }\r\n this.setState({\r\n actionType: \"ADD\",\r\n name: \"manufacturer\",\r\n openAlert: true,\r\n });\r\n }}\r\n >\r\n Add\r\n \r\n {\r\n this.setState({\r\n rename_type: \"manufacturer\",\r\n });\r\n this.handleClickOpen();\r\n }}\r\n >\r\n Rename\r\n \r\n {\r\n this.setState({\r\n actionType: \"DELETE\",\r\n name: \"manufacturer\",\r\n openAlert: true,\r\n });\r\n }}\r\n >\r\n Delete\r\n \r\n \r\n \r\n\r\n \r\n \r\n
    Model
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleReset(1, \"model\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (this.state.manufacturer.name == \"\") {\r\n this.props.showMessageBox(\r\n \"Please first select a Manufacturer to add Model\"\r\n );\r\n return;\r\n }\r\n if (this.state.model.name == \"\") {\r\n this.props.showMessageBox(\"Field is empty\");\r\n return;\r\n }\r\n this.setState({\r\n actionType: \"ADD\",\r\n name: \"model\",\r\n openAlert: true,\r\n });\r\n }}\r\n className=\"button1\"\r\n disabled={!this.newModel}\r\n >\r\n Add\r\n \r\n {\r\n this.setState({\r\n rename_type: \"model\",\r\n });\r\n this.handleClickOpen();\r\n }}\r\n className=\"button1\"\r\n disabled={this.newModel || this.state.model.name === \"\"}\r\n >\r\n Rename\r\n \r\n {\r\n this.setState({\r\n actionType: \"DELETE\",\r\n name: \"model\",\r\n openAlert: true,\r\n });\r\n }}\r\n className=\"button1\"\r\n disabled={this.newModel || this.state.model.name === \"\"}\r\n >\r\n Delete\r\n \r\n \r\n \r\n\r\n \r\n \r\n
    Type
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleReset(2, \"type\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (\r\n this.state.type.name == \"\" ||\r\n this.state.type.name == null\r\n ) {\r\n this.props.showMessageBox(\"Field is empty\");\r\n return;\r\n }\r\n this.setState({\r\n actionType: \"ADD\",\r\n name: \"type\",\r\n openAlert: true,\r\n });\r\n }}\r\n >\r\n Add\r\n \r\n {\r\n this.setState({\r\n rename_type: \"type\",\r\n });\r\n this.handleClickOpen();\r\n }}\r\n >\r\n Rename\r\n \r\n {\r\n this.setState({\r\n actionType: \"DELETE\",\r\n name: \"type\",\r\n openAlert: true,\r\n });\r\n }}\r\n >\r\n Delete\r\n \r\n \r\n \r\n */}\r\n\r\n \r\n \r\n
    \r\n
    Manufacturer & Model
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    Type
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(MasterDataManagement);\r\n","import React, { Component } from \"react\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport { showMessage } from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { apiRequest, byName } from \"../utils/Utils\";\r\nimport AlertDialog from \"../components/AlertDialog\";\r\nimport TableForMetadata from \"../components/TableForMetadata.jsx\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport GoBackIcon from \"@material-ui/icons/ArrowBack\"\r\n\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n input: {\r\n width: \"85%\",\r\n padding: \"3px\",\r\n borderRadius: \"5px\",\r\n outline: \"none\",\r\n border: \"1px solid lightgrey\"\r\n },\r\n textField: { width: \"100%\" },\r\n menu: {\r\n width: \"100%\"\r\n }\r\n});\r\n\r\nclass MasterDataManagement extends Component {\r\n newManufacture = true;\r\n newModel = true;\r\n newType = true;\r\n state = {\r\n manufacturer: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n model: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n type: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n default: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n open: false,\r\n rename_type: \"\",\r\n rename_value: \"\",\r\n manufacturerData: [],\r\n modelData: [],\r\n typeData: {id: \"\", name: \"\"},\r\n openAlert: false,\r\n openError: false,\r\n errorMessages: [],\r\n originalModel: \"\",\r\n actionType: \"\",\r\n name: \"\",\r\n manufacturermodels: [],\r\n tooltipTypeData: [],\r\n };\r\n\r\n componentWillMount() {\r\n this.fetchData(\"assettypes\");\r\n }\r\n\r\n errorText(functionName, itemCategory) {\r\n return `Unable to ${functionName} ${itemCategory} as this item already exists`;\r\n }\r\n\r\n addErrorMessage(addMessage) {\r\n var errMsg = this.state.errorMessages;\r\n errMsg.push(addMessage);\r\n this.setState({ errorMessages: errMsg });\r\n this.props.showMessageBox(addMessage);\r\n }\r\n\r\n addShowErrorMessage(addMessage) {\r\n this.addErrorMessage( addMessage );\r\n //this.setState({ openError: true });\r\n }\r\n\r\n redirectNoError() {\r\n if (!this.state.openError) {\r\n console.log(\"redirecting...\");\r\n this.delay(300).then( () => {\r\n this.props.showMessageBox(\"SUCCESS\");\r\n this.props.history.push(\"/master/data/manage\");\r\n });\r\n }\r\n }\r\n\r\n delay( time ) {\r\n return new Promise(resolve => setTimeout(resolve, time));\r\n }\r\n\r\n fetchData(dataType, id = \"\") {\r\n const That = this;\r\n let url =\r\n dataType === \"assetmodels\"\r\n ? `/masters/${dataType}/${id}`\r\n : `/masters/${dataType}`;\r\n\r\n //console.log( \"fetchData - type:\", dataType);\r\n\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n const data = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n switch (dataType) {\r\n case \"manufactures\":\r\n this.setState(\r\n {\r\n manufacturerData: data.sort(byName)\r\n },\r\n () => {\r\n let id = this.state.manufacturer.id;\r\n if (id !== \"\") this.fetchData(\"assetmodels\", id);\r\n }\r\n );\r\n break;\r\n case \"assetmodels\":\r\n this.setState({\r\n modelData: data.sort(byName)\r\n });\r\n break;\r\n case \"assettypes\":\r\n if (this.props.match.params.id == 0) {\r\n this.setState({ typeData: {id: \"0\", name: \"\" }});\r\n } else {\r\n this.setState({ typeData: data.find(type => type.id == this.props.match.params.id) });\r\n }\r\n\r\n //data already contains 'id' and 'name'\r\n this.setState({ tooltipTypeData: data.sort(byName) });\r\n\r\n break;\r\n case \"manufacturermodels\":\r\n this.setState({ manufacturermodels: response.data })\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n\r\n handleSave() {\r\n const { typeData } = this.state;\r\n const that = this;\r\n\r\n if (typeData.name === \"\") {\r\n console.log(\"ERROR empty type\");\r\n this.addShowErrorMessage(\"Unable to add empty type\");\r\n }\r\n else if (this.props.match.params.id == 0) {\r\n //CREATE NEW\r\n apiRequest(`/masters/addassettypes?name=${typeData.name}`, \"post\")\r\n .then(x => {\r\n //if (x.status > 0) that.fetchData(\"assettypes\");\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"save\" type create resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"save\" type create reject`);\r\n return Promise.reject( x.message );\r\n }\r\n })\r\n .then( x => {\r\n console.log(`\"save\" type create redirect`);\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"save\" type creation fail: ${err}`);\r\n this.addShowErrorMessage( /*this.errorText(\"add\", \"type\")*/err );\r\n });\r\n\r\n } else {\r\n //EDIT\r\n const { typeData } = this.state;\r\n const that = this;\r\n apiRequest(`/masters/assettypes/${typeData.id}?name=${typeData.name}`, \"put\")\r\n .then(x => {\r\n //if (x.status > 0) that.fetchData(name);\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"save\" type edit resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"save\" type edit reject`);\r\n return Promise.reject( x.message );\r\n }\r\n })\r\n .then(x => {\r\n console.log(`\"save\" type edit redirect`);\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"save\" type edit fail: ${err}`);\r\n this.addShowErrorMessage( /*this.errorText(\"rename\", \"type\")*/err );\r\n });\r\n }\r\n }\r\n\r\n delete = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }\r\n );\r\n const { typeData } = this.state;\r\n this.handleDeleteRequest(\"assettypes\", typeData);\r\n this.newType = true;\r\n // let a = document.querySelectorAll(\"input\");\r\n // a.forEach(element => {\r\n // element.value = \"\";\r\n // });\r\n };\r\n\r\n handleDeleteRequest(name, data) {\r\n const that = this;\r\n apiRequest(`/masters/${name}/${data.id}`, \"delete\")\r\n .then(x => {\r\n //if (x.status > 0) that.fetchData(name);\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"delete\" type resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"delete\" type reject`);\r\n return Promise.reject( x.message );\r\n }\r\n })\r\n .then( X => {\r\n console.log(`\"delete\" type redirect`);\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"delete\" type: ${err}`);\r\n this.addShowErrorMessage( err );\r\n });\r\n }\r\n onChange(e) {\r\n this.setState({ typeData: {id: this.props.match.params.id, name: e.target.value} });\r\n // this.setState(prevState => ({\r\n // typeData: {\r\n // ...prevState.typeData,\r\n // name: e.target.value\r\n // }\r\n // }));\r\n\r\n //console.log(\"tooltipTypeData\", this.state.tooltipTypeData);\r\n }\r\n\r\n handleClickOpen() {\r\n this.setState({ open: true });\r\n }\r\n\r\n handleClose() {\r\n this.setState({ open: false });\r\n }\r\n\r\n handleReset = (index, name) => {\r\n if (name === \"manufacturer\") this.newManufacture = true;\r\n else if (name === \"model\") this.newModel = true;\r\n else if (name === \"type\") this.newType = true;\r\n\r\n this.setState(\r\n {\r\n [name]: { ...this.state.default }\r\n },\r\n () => {\r\n if (name === \"manufacturer\") {\r\n this.setState({\r\n modelData: []\r\n });\r\n //this.handleReset(1,\"model\");\r\n let a = document.querySelectorAll(\"input\");\r\n a[index + 1].value = \"\";\r\n }\r\n }\r\n );\r\n\r\n let a = document.querySelectorAll(\"input\");\r\n a[index].value = \"\";\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { manufacturerData, modelData, typeData, tooltipTypeData, manufacturermodels } = this.state;\r\n\r\n //console.log(\"state-tooltipTypeData\", this.state.tooltipTypeData);\r\n //console.log(\"tooltipTypeData\", tooltipTypeData);\r\n\r\n return (\r\n \r\n\r\n {/* ERROR dialog for displaying error messages */}\r\n {\r\n this.setState({ openError: false });\r\n this.setState({ errorMessages:[] });\r\n }}\r\n >\r\n {this.state.errorMessages.length > 0 &&\r\n this.state.errorMessages.map( (msg) => {\r\n return
    {msg}
    \r\n })\r\n }\r\n \r\n\r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n\r\n\r\n \r\n \r\n
    \r\n \r\n {\" \"}\r\n \r\n this.props.history.push(\"/master/data/manage\")}\r\n >\r\n \r\n \r\n \r\n Go back to previous screen\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.handleSave()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n
    Type
    \r\n
    \r\n \r\n this.onChange(e)}\r\n // onChange={evt => {\r\n // console.log(\"nya\", evt);\r\n // this.setState(prevState => ({\r\n // typeData: {\r\n // ...prevState.typeData,\r\n // //name: evt.target.value\r\n // }\r\n // }))\r\n // }}\r\n value={typeData.name}\r\n disabled={this.props.match.params.id !=0}\r\n />\r\n {\r\n \r\n \r\n }\r\n\r\n {/* \r\n {\r\n this.handleReset(2, \"type\");\r\n }}\r\n >\r\n \r\n \r\n */}\r\n\r\n\r\n\r\n \r\n \r\n\r\n {this.props.match.params.id != 0 &&\r\n \r\n {\r\n this.setState({\r\n actionType: \"DELETE\",\r\n name: \"type\",\r\n openAlert: true,\r\n });\r\n }}\r\n //hidden={this.state.disableAllButtons}\r\n //disabled={this.state.disableAllButtons}\r\n >\r\n \r\n \r\n }\r\n\r\n {/* \r\n this.handleSave()}\r\n >\r\n \r\n \r\n */}\r\n\r\n {/* {\r\n if (\r\n this.state.type.name == \"\" ||\r\n this.state.type.name == null\r\n ) {\r\n this.props.showMessageBox(\"Field is empty\");\r\n return;\r\n }\r\n this.setState({\r\n actionType: \"ADD\",\r\n name: \"type\",\r\n openAlert: true,\r\n });\r\n }}\r\n >\r\n Add\r\n */}\r\n\r\n {/* {\r\n this.setState({\r\n rename_type: \"type\",\r\n });\r\n this.handleClickOpen();\r\n }}\r\n >\r\n Rename\r\n */}\r\n\r\n {/* {\r\n this.setState({\r\n actionType: \"DELETE\",\r\n name: \"type\",\r\n openAlert: true,\r\n });\r\n }}\r\n >\r\n Delete\r\n */}\r\n\r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(MasterDataManagement);\r\n","import React, { Component } from \"react\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport { showMessage } from \"../actions/index\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { apiRequest, byName } from \"../utils/Utils\";\r\nimport AlertDialog from \"../components/AlertDialog\";\r\nimport TableForMetadata from \"../components/TableForMetadata.jsx\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport GoBackIcon from \"@material-ui/icons/ArrowBack\";\r\n\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n input: {\r\n width: \"85%\",\r\n padding: \"3px\",\r\n borderRadius: \"5px\",\r\n outline: \"none\",\r\n border: \"1px solid lightgrey\"\r\n },\r\n textField: { width: \"100%\" },\r\n menu: {\r\n width: \"100%\"\r\n }\r\n});\r\n\r\nclass MasterDataManagementManufacturerModel extends Component {\r\n newManufacture = true;\r\n newModel = true;\r\n newType = true;\r\n state = {\r\n manufacturer: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n model: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n type: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n default: {\r\n id: \"\",\r\n name: \"\"\r\n },\r\n open: false,\r\n rename_type: \"\",\r\n rename_value: \"\",\r\n manufacturerData: [],\r\n modelData: [],\r\n typeData: [],\r\n openAlert: false,\r\n openError: false,\r\n errorMessages: [],\r\n originalModel: \"\",\r\n errorCategories: { manufactures: \"manufacturer\", assetmodels: \"model\", assettypes: \"type\" },\r\n actionType: \"\",\r\n name: \"\",\r\n manufacturermodels: [],\r\n manufacturerModel: {ManufacturerId: \"0\", ManufacturerName: \"\", ModelId: \"0\", ModelName: \"\"},\r\n responseData: [],\r\n toolTipManufacturerData: [],\r\n toolTipModelData: [],\r\n };\r\n\r\n componentWillMount() {\r\n this.fetchData(\"manufactures\");\r\n // this.fetchData(\"assetmodels\");\r\n // this.fetchData(\"assettypes\");\r\n\r\n this.fetchData(\"manufacturermodels\");\r\n\r\n //this.saveOriginalModel();\r\n }\r\n\r\n errorText(functionName, itemCategory) {\r\n return `Unable to ${functionName} ${itemCategory} as this item already exists`;\r\n }\r\n\r\n saveOriginalModel() {\r\n const oModel = this.state.manufacturerModel.ModelName;\r\n if (this.state.originalModel === \"\") {\r\n console.log(\"saving model to:\", oModel);\r\n this.setState({ originalModel: oModel });\r\n }\r\n }\r\n\r\n addErrorMessage(addMessage) {\r\n var errMsg = this.state.errorMessages;\r\n errMsg.push(addMessage);\r\n this.setState({ errorMessages: errMsg });\r\n this.props.showMessageBox(addMessage);\r\n }\r\n\r\n addShowErrorMessage(addMessage) {\r\n this.addErrorMessage( addMessage );\r\n //this.setState({ openError: true });\r\n }\r\n\r\n clearErrorMessages() {\r\n this.setState({ openError: false });\r\n this.setState({ errorMessages:[] });\r\n }\r\n\r\n delay( time ) {\r\n return new Promise(resolve => setTimeout(resolve, time));\r\n }\r\n\r\n redirectNoError() {\r\n if (!this.state.openError) {\r\n console.log(\"redirecting...\");\r\n this.delay(300).then(() => {\r\n this.props.showMessageBox(\"SUCCESS\");\r\n this.props.history.push(\"/master/data/manage\");\r\n });\r\n }\r\n }\r\n\r\n //it is called when input field changed\r\n //if the manufacturerFilterId is a valid manufacturer it will filter the data\r\n updateTooltipModel(manufacturerFilterId = 0) {\r\n let modArr = [];\r\n\r\n if (manufacturerFilterId != 0) {\r\n this.state.responseData.forEach(e => {\r\n if (e.ManufacturerId === manufacturerFilterId) {\r\n const foundIndex = modArr.findIndex(o => o.id === e.ModelId);\r\n if (foundIndex === -1) {\r\n modArr.push({ id: e.ModelId, name: e.ModelName });\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.setState({ toolTipModelData: modArr.sort(byName) });\r\n }\r\n\r\n fetchData(dataType, id = \"\") {\r\n const That = this;\r\n let url =\r\n dataType === \"assetmodels\"\r\n ? `/masters/${dataType}/${id}`\r\n : `/masters/${dataType}`;\r\n\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n const data = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n\r\n //update raw response data --> needed for tooltips\r\n this.setState({ responseData: response.data });\r\n\r\n switch (dataType) {\r\n case \"manufactures\":\r\n //update tooltips with all manufacturers name\r\n //this.setState({ toolTipManufacturerData: data.sort(byName) });\r\n\r\n if (this.props.match.params.id == 0) {\r\n //this.setState({ typeData: {id: \"0\", name: \"\" }});\r\n this.setState({\r\n manufacturerData: data.sort(byName)\r\n });\r\n } else {\r\n this.setState({ manufacturerData: data.find(type => type.id == this.props.match.params.id) });\r\n }\r\n // this.setState(\r\n // {\r\n // manufacturerData: data.sort(byName)\r\n // },\r\n // () => {\r\n // let id = this.state.manufacturer.id;\r\n // if (id !== \"\") this.fetchData(\"assetmodels\", id);\r\n // }\r\n // );\r\n\r\n //set manufacturer tooltips\r\n this.setState({ toolTipManufacturerData: data.sort(byName) });\r\n break;\r\n\r\n case \"assetmodels\":\r\n this.setState({\r\n modelData: data.sort(byName)\r\n });\r\n break;\r\n\r\n case \"assettypes\":\r\n this.setState({\r\n typeData: data.sort(byName)\r\n });\r\n break;\r\n\r\n case \"manufacturermodels\":\r\n if (this.props.match.params.id != 0) {\r\n this.setState(\r\n {\r\n manufacturerModel: response.data.find(e => e.ManufacturerId == this.props.match.params.id && e.ModelId == this.props.match.params.modelId)\r\n },\r\n this.saveOriginalModel\r\n );\r\n\r\n //set model tooltips for the manufacturer\r\n this.updateTooltipModel( this.props.match.params.id );\r\n }\r\n break;\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n add = () => {\r\n this.setState({\r\n openAlert: false\r\n });\r\n const that = this;\r\n const name = this.state.name;\r\n\r\n if (name === \"manufacturer\") {\r\n const Manufacturer = this.state.manufacturer.name;\r\n\r\n apiRequest(`/masters/addmanufactures?name=${Manufacturer}`, \"post\")\r\n .then(x => {\r\n if (x.status > 0)\r\n that.fetchData(\"manufactures\");\r\n\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"add\" ${name}: resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"add\" ${name}: reject`);\r\n return Promise.reject( x.message );\r\n }\r\n })\r\n .then( x => {\r\n console.log(`\"add\" ${name}: redirect`);\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"add\" ${name}: \"${err}\"`);\r\n this.addShowErrorMessage( err );\r\n });\r\n\r\n } else if (name === \"model\") {\r\n const DeviceModel = this.state.model.name;\r\n\r\n apiRequest(\r\n `/masters/addassetmodels?manfactureId=${\r\n that.state.manufacturer.id\r\n }&model=${DeviceModel}`,\r\n \"post\"\r\n )\r\n .then(x => {\r\n if (x.status > 0)\r\n that.fetchData(\"assetmodels\", that.state.manufacturer.id);\r\n\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"add\" ${name}: resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"add\" ${name}: reject`);\r\n return Promise.reject( x.message );\r\n }\r\n })\r\n .then(x => {\r\n console.log(`\"add\" ${name}: redirect`);\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"add\" ${name}: \"${err}\"`);\r\n this.addShowErrorMessage( err );\r\n });\r\n\r\n } else if (name === \"type\") {\r\n const DeviceType = this.state.type.name;\r\n\r\n apiRequest(`/masters/addassettypes?name=${DeviceType}`, \"post\")\r\n .then(x => {\r\n if (x.status > 0)\r\n that.fetchData(\"assettypes\");\r\n\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"add\" ${name}: resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"add\" ${name}: reject`);\r\n return Promise.reject( x.message );\r\n }\r\n })\r\n .then(x => {\r\n console.log(`\"add\" ${name}: redirect`);\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"add\" ${name}: \"${err}\"`);\r\n this.addShowErrorMessage( err );\r\n });\r\n }\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 1000);\r\n };\r\n\r\n rename = () => {\r\n this.setState({\r\n openAlert: false\r\n });\r\n const that = this;\r\n const { rename_type, rename_value } = this.state;\r\n if (rename_type === \"manufacturer\") {\r\n const old_data = this.state.manufacturer;\r\n this.handleRenameRequest(\"manufactures\", old_data);\r\n this.newManufacture = true;\r\n } else if (rename_type === \"model\") {\r\n const old_data = this.state.model;\r\n this.handleRenameRequest(\"assetmodels\", old_data);\r\n this.newModel = true;\r\n } else if (rename_type === \"type\") {\r\n const old_data = this.state.type;\r\n this.handleRenameRequest(\"assettypes\", old_data);\r\n this.newType = true;\r\n }\r\n this.setState({\r\n actionType: \"\",\r\n rename_value: \"\",\r\n [rename_type]: this.state.default\r\n });\r\n this.handleClose();\r\n let a = document.querySelectorAll(\"input\");\r\n a.forEach(element => {\r\n element.value = \"\";\r\n });\r\n };\r\n\r\n handleRenameRequest(name, data) {\r\n const { rename_value } = this.state;\r\n const that = this;\r\n\r\n apiRequest(`/masters/${name}/${data.id}?name=${rename_value}`, \"put\")\r\n .then(x => {\r\n //if (x.status > 0) that.fetchData(name);\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"rename\" ${name}: resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"rename\" ${name}: reject`);\r\n return Promise.reject( x.message );\r\n }\r\n })\r\n .then(x => {\r\n console.log(`\"rename\" ${name}: redirect`);\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"rename\" ${name}: ${err}`);\r\n this.addShowErrorMessage( err );\r\n });\r\n }\r\n\r\n delete = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }\r\n );\r\n const { name } = this.state;\r\n const that = this;\r\n if (name === \"manufacturer\") {\r\n const new_data = this.state.manufacturer;\r\n this.handleDeleteRequest(\"manufactures\", new_data);\r\n this.newManufacture = true;\r\n } else if (name === \"model\") {\r\n const new_data = this.state.model;\r\n this.handleDeleteRequest(\"assetmodels\", new_data);\r\n this.newModel = true;\r\n } else if (name === \"type\") {\r\n const new_data = this.state.type;\r\n this.handleDeleteRequest(\"assettypes\", new_data);\r\n this.newType = true;\r\n }\r\n let a = document.querySelectorAll(\"input\");\r\n a.forEach(element => {\r\n element.value = \"\";\r\n });\r\n };\r\n\r\n handleDeleteRequest(name, data) {\r\n const that = this;\r\n\r\n apiRequest(`/masters/${name}/${data.id}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0) that.fetchData(name);\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"delete\" ${name}: resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"delete\" ${name}: reject`);\r\n return Promise.reject( x.message );\r\n }\r\n })\r\n .then(x => {\r\n console.log(`\"delete\" ${name}: redirect`);\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"delete\" ${name}: ${err}`);\r\n this.addShowErrorMessage( err );\r\n });\r\n }\r\n\r\n handleDelete(name, id) {\r\n console.log(\"handle delete...\", name, id);\r\n const that = this;\r\n\r\n var manuDeletePromise;\r\n var manuAddPromise;\r\n\r\n //if deleting the model from last entry\r\n //then keep the manufacturer in the database\r\n //to do this manufacturer model is removed, then manufacturer removed then added back\r\n\r\n ///TODO: ERROR 6, 7, 8 not modified to be synchonous with the SUCCESS!\r\n\r\n if (name === 'assetmodels') {\r\n let isModelLast = false;\r\n let lastModelManufacturerId;\r\n let lastModelManufacturerName;\r\n //check if the assetmodel is the last with manufacturer\r\n apiRequest(\"/masters/manufacturermodels\", \"get\").then( r => {\r\n let models = r.data.filter( item => item.ModelId === id);\r\n //console.log(\"checking models\", models);\r\n lastModelManufacturerId = models[0].ManufacturerId;\r\n\r\n let manallmodels = r.data.filter( item => item.ManufacturerId === lastModelManufacturerId);\r\n //console.log(\"checking manufacturer models\", manallmodels);\r\n\r\n if (manallmodels.length === 1) {\r\n isModelLast = true;\r\n lastModelManufacturerName = models[0].ManufacturerName;\r\n }\r\n }).then(\r\n apiRequest(`/masters/${name}/${id}`, \"delete\")\r\n .then(x => {\r\n\r\n if (x.status > 0 && x.message == null) {\r\n\r\n if (isModelLast) {\r\n //if there is only one model with this manufacturer, delete the manucaturer and add it back\r\n manuDeletePromise = apiRequest(`/masters/manufactures/${lastModelManufacturerId}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0 && x.message == null) {\r\n //deletion success\r\n //add back without any model\r\n manuAddPromise = apiRequest(`/masters/addmanufactures?name=${lastModelManufacturerName}`, \"post\")\r\n .then( x => {\r\n if (x.status > 0 && x.message == null) {\r\n that.fetchData(\"manufacturermodels\");\r\n console.log(\"Manufacturer Re-adding DONE!\");\r\n }\r\n else\r\n this.addShowErrorMessage( x.message );\r\n })\r\n .catch(err => {\r\n console.log(\"ERROR... 6\");\r\n that.props.showMessageBox(\"ERROR when Re-adding Manufacturer\");\r\n });\r\n //end of readding manufacturer plainly\r\n }\r\n else\r\n this.addShowErrorMessage( x.message );\r\n\r\n //console.log(\"Waiting for manufacturer add...\", manuAddPromise);\r\n //Promise.all([manuAddPromise]);\r\n //console.log(\"Manufacturer add done...\", manuAddPromise);\r\n\r\n })\r\n .catch(err => {\r\n console.log(\"ERROR... 7\");\r\n that.props.showMessageBox(\"ERROR When deleting Manufacturer\");\r\n });\r\n //deletion done here\r\n\r\n //wait all promises working in here\r\n //console.log(\"Waiting manufacturer deletion and re-adding...\");\r\n Promise.all([manuDeletePromise, manuAddPromise]).then(x => {\r\n //console.log(\"Manufacturer deletion and re-adding done\", manuDeletePromise, manuAddPromise);\r\n console.log(\"Async Redirect...\");\r\n //this.props.history.push(\"/master/data/manage\");\r\n this.redirectNoError();\r\n });\r\n }\r\n //if not last model in the manufacturer do nothing with manufacturer\r\n\r\n //SUCCESS to the deletion of the model\r\n this.redirectNoError();\r\n }\r\n else {\r\n this.addShowErrorMessage( x.message );\r\n }\r\n\r\n //redirect immediately after deletion if model was not last\r\n if (!isModelLast) {\r\n console.log(\"Immediate Redirect...\");\r\n //this.props.history.push(\"/master/data/manage\");\r\n this.redirectNoError();\r\n }\r\n })\r\n //Error handling at deletion\r\n .catch(err => {\r\n console.log(\"ERROR... 8\");\r\n that.props.showMessageBox(\"ERROR when deleting Manufacturer\");\r\n })\r\n );\r\n\r\n }\r\n else {\r\n\r\n //If not the asset model is deleted no need further checks\r\n\r\n apiRequest(`/masters/${name}/${id}`, \"delete\")\r\n .then(x => {\r\n //if (x.status > 0) that.fetchData(name);\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"delete manu\" ${name}: resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"delete manu\" ${name}: redirect`);\r\n return Promise.reject( x.message );\r\n }\r\n //this.props.history.push(\"/master/data/manage\");\r\n })\r\n .then(x => {\r\n console.log(`\"delete manu\" ${name}: redirect`);\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"delete manu\" ${name}: ${err}`);\r\n this.addShowErrorMessage( err );\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n deleteItem = () => {\r\n console.log(\"deleting item...\");\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }\r\n );\r\n const { name, manufacturerModel } = this.state;\r\n if (name === \"manufacturer\") {\r\n this.handleDelete(\"manufactures\", manufacturerModel.ManufacturerId);\r\n } else if (name === \"model\") {\r\n //delete model\r\n this.handleDelete(\"assetmodels\", manufacturerModel.ModelId);\r\n }\r\n let a = document.querySelectorAll(\"input\");\r\n a.forEach(element => {\r\n element.value = \"\";\r\n });\r\n };\r\n\r\n inputChange = name => e => {\r\n const { manufacturerModel } = this.state;\r\n let object = {\r\n ManufacturerId: manufacturerModel.ManufacturerId,\r\n ManufacturerName: manufacturerModel.ManufacturerName,\r\n ModelId: manufacturerModel.ModelId,\r\n ModelName: manufacturerModel.ModelName\r\n }\r\n if (name == \"model\") {\r\n object.ModelName = e.target.value;\r\n //check if the changed value is the same\r\n\r\n } else {\r\n //Manu\r\n object.ManufacturerName = e.target.value;\r\n\r\n //Create new model with exisitng manufacturer\r\n if (this.props.match.params.id == 0 && this.props.match.params.modelId == 0) {\r\n let manufacturer = this.state.manufacturerData.find(m => m.name == e.target.value)\r\n if (manufacturer) {\r\n object.ManufacturerId = manufacturer.id;\r\n } else {\r\n object.ManufacturerId = \"0\";\r\n }\r\n }\r\n }\r\n\r\n this.updateTooltipModel(object.ManufacturerId);\r\n\r\n //console.log(\"select\", object);\r\n //console.log(\"manData\", this.state.manufacturerData);\r\n //console.log(\"toolTipManufacturer\", this.state.toolTipManufacturerData);\r\n //console.log(\"tooltipModelData\", this.state.toolTipModelData);\r\n //console.log(\"responseData\", this.state.responseData);\r\n //console.log(\"paramid\", this.props.match.params.id);\r\n\r\n this.setState({ manufacturerModel: object });\r\n };\r\n\r\n handleUpdateName(name, id, newName) {\r\n const that = this;\r\n\r\n console.log(`updateName: '${name}' --> '${newName}' at id: '${id}'`);\r\n\r\n return apiRequest(`/masters/${name}/${id}?name=${newName}`, \"put\")\r\n .then(x => {\r\n //if (x.status > 0) that.fetchData(name);\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"update\" ${name}: resolve`);\r\n\r\n if (name === \"manufactures\") {\r\n that.props.showMessageBox(`Manufacturer SUCCESS`);\r\n }\r\n\r\n }\r\n else {\r\n console.log(`\"update\" ${name}: reject`);\r\n return Promise.reject( x.message );\r\n }\r\n return x;\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"update\" ${name}: ${err}`);\r\n this.addShowErrorMessage( this.errorText( \"rename\", this.state.errorCategories[name] ));\r\n });\r\n }\r\n\r\n handleSave() {\r\n const { manufacturerModel } = this.state;\r\n\r\n console.log(\"handling save...\");\r\n\r\n //Edit - Rename\r\n if (this.props.match.params.id != 0) {\r\n console.log(`\"save\" edit`);\r\n\r\n this.handleUpdateName(\"manufactures\", manufacturerModel.ManufacturerId, manufacturerModel.ManufacturerName)\r\n .then(x => {\r\n\r\n if (this.props.match.params.modelId != 0 && manufacturerModel.ModelName !== this.state.originalModel)\r\n this.handleUpdateName(\"assetmodels\", manufacturerModel.ModelId, manufacturerModel.ModelName)\r\n .then(r => {\r\n console.log(`original model:\"${this.state.originalModel}\" non-equal to:\"${manufacturerModel.ModelName}\"`);\r\n //this.props.history.push(\"/master/data/manage\")\r\n this.redirectNoError();\r\n }\r\n );\r\n else\r\n //console.log(\"Other redirect here...\");\r\n //this.props.history.push(\"/master/data/manage\");\r\n this.redirectNoError();\r\n });\r\n\r\n } else {\r\n //Create new Manufacturer-Model pair\r\n if (manufacturerModel.ManufacturerId == 0 &&\r\n manufacturerModel.ManufacturerName != \"\" &&\r\n manufacturerModel.ModelId == 0 &&\r\n manufacturerModel.ModelName != \"\"\r\n ) {\r\n console.log(`\"save\" create new man-mod pair`);\r\n\r\n const that = this;\r\n apiRequest(`/masters/addmanufactures?name=${manufacturerModel.ManufacturerName}`, \"post\")\r\n .then(response => {\r\n //console.log(\"resp\", response);\r\n if (response.data && response.status > 0) {\r\n apiRequest(\r\n `/masters/addassetmodels?manfactureId=${\r\n response.data.toString()\r\n }&model=${manufacturerModel.ModelName}`,\r\n \"post\"\r\n )\r\n .then(r => {\r\n if (r.status > 0 && r.message == null) {\r\n console.log(`\"save\" create new mod: resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"save\" create new mod: reject`);\r\n return Promise.reject( r.message );\r\n }\r\n //this.props.history.push(\"/master/data/manage\");\r\n })\r\n .then(x => {\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"save\" mod creation failed at new pair: ${err}`);\r\n this.addShowErrorMessage( /*this.errorText(\"add\", \"model\")*/ err );\r\n });\r\n } else {\r\n console.log( `ERROR \"save\" man creation failed at new pair: ${response.message}` );\r\n this.addShowErrorMessage( /*this.errorText(\"add\", \"manufacturer\")*/ response.message);\r\n }\r\n })\r\n .catch(err => {\r\n console.log(\"API ERROR! #12\");\r\n this.addErrorMessage(`ERROR when Saving Manufacturer`);\r\n this.addShowErrorMessage(`${err}`);\r\n });\r\n\r\n }\r\n //Create new Manufacturer Only\r\n else if (manufacturerModel.ManufacturerId == 0 && manufacturerModel.ManufacturerName != \"\") {\r\n console.log(`\"save\" create man only`);\r\n\r\n const that = this;\r\n apiRequest(`/masters/addmanufactures?name=${manufacturerModel.ManufacturerName}`, \"post\")\r\n .then(x => {\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"save\" create man only: resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"save\" create man only: reject`);\r\n return Promise.reject( x.message );\r\n }\r\n //this.props.history.push(\"/master/data/manage\");\r\n })\r\n .then( x => {\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"save\" create man only: ${err}`);\r\n this.addShowErrorMessage( /*this.errorText(\"add\", \"manufacturer\")*/err );\r\n });\r\n }\r\n //Create new Model with existing Manufacturer\r\n else if (manufacturerModel.ManufacturerId != 0 && manufacturerModel.ModelName != \"\") {\r\n console.log(`\"save\" new mod with existing man`);\r\n\r\n const that = this;\r\n apiRequest(\r\n `/masters/addassetmodels?manfactureId=${\r\n manufacturerModel.ManufacturerId\r\n }&model=${manufacturerModel.ModelName}`,\r\n \"post\"\r\n )\r\n .then(x => {\r\n if (x.status > 0 && x.message == null) {\r\n console.log(`\"save\" create new mod to existing man: resolve`);\r\n return Promise.resolve();\r\n }\r\n else {\r\n console.log(`\"save\" create new mod to existing man: reject`);\r\n return Promise.reject( x.message );\r\n }\r\n })\r\n .then(x => {\r\n this.redirectNoError();\r\n })\r\n .catch(err => {\r\n console.log(`ERROR \"save\" create new mod to existing man: ${err}`);\r\n this.addShowErrorMessage( /*this.errorText(\"add\", \"model\")*/err );\r\n });\r\n }\r\n //No input in the manufacturer field\r\n else if (manufacturerModel.ManufacturerName == \"\") {\r\n console.log(\"ERROR empty manu\");\r\n this.addShowErrorMessage(\"Unable to add empty manufacturer\");\r\n }\r\n //The manufacturer already exist\r\n else if (manufacturerModel.ManufacturerId != 0 && manufacturerModel.ManufacturerName != \"\") {\r\n console.log(\"ERROR manu already exists\");\r\n this.addShowErrorMessage( `ERROR: ${this.errorText(\"add\", \"manufacturer\")}` );\r\n }\r\n }\r\n }\r\n\r\n handleClickOpen() {\r\n this.setState({ open: true });\r\n }\r\n\r\n handleClose() {\r\n this.setState({ open: false });\r\n }\r\n\r\n handleReset = (index, name) => {\r\n if (name === \"manufacturer\") this.newManufacture = true;\r\n else if (name === \"model\") this.newModel = true;\r\n else if (name === \"type\") this.newType = true;\r\n\r\n this.setState(\r\n {\r\n [name]: { ...this.state.default }\r\n },\r\n () => {\r\n if (name === \"manufacturer\") {\r\n this.setState({\r\n modelData: []\r\n });\r\n //this.handleReset(1,\"model\");\r\n let a = document.querySelectorAll(\"input\");\r\n a[index + 1].value = \"\";\r\n }\r\n }\r\n );\r\n\r\n let a = document.querySelectorAll(\"input\");\r\n a[index].value = \"\";\r\n };\r\n\r\n render() {\r\n const { classes } = this.props;\r\n const { manufacturerData, modelData, typeData, manufacturermodels, manufacturerModel, toolTipManufacturerData, toolTipModelData } = this.state;\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n\r\n {/* ERROR dialog for displaying error messages */}\r\n {\r\n this.setState({ openError: false });\r\n this.setState({ errorMessages:[] });\r\n }}\r\n >\r\n {this.state.errorMessages.length > 0 &&\r\n this.state.errorMessages.map((msg) => {\r\n return
    {msg}
    \r\n })\r\n }\r\n \r\n\r\n {\r\n this.handleClose();\r\n }}\r\n >\r\n Rename\r\n \r\n {\r\n this.setState({ rename_value: e.target.value });\r\n }}\r\n value={this.state.rename_value}\r\n />\r\n \r\n \r\n {\r\n this.handleClose();\r\n }}\r\n color=\"primary\"\r\n style={{\r\n color: \"#4b2e83\",\r\n margin: 10,\r\n height: 45,\r\n }}\r\n className=\"button1\"\r\n >\r\n Cancel\r\n \r\n {\r\n this.setState({\r\n actionType: \"RENAME\",\r\n openAlert: true,\r\n });\r\n }}\r\n color=\"primary\"\r\n style={{\r\n color: \"#4b2e83\",\r\n margin: 10,\r\n height: 45,\r\n }}\r\n className=\"button1\"\r\n >\r\n Ok\r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n {\" \"}\r\n \r\n this.props.history.push(\"/master/data/manage\")}\r\n >\r\n \r\n \r\n \r\n Go back to previous screen\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.handleSave()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    Manufacturer
    \r\n
    \r\n \r\n \r\n {/*this.props.match.params.id == 0 && this.props.match.params.modelId == 0 && */\r\n this.state.toolTipManufacturerData != [] &&\r\n \r\n \r\n \r\n }\r\n {/* \r\n {\r\n this.handleReset(0, \"manufacturer\");\r\n }}\r\n >\r\n \r\n \r\n */}\r\n \r\n \r\n {/* {\r\n if (this.state.manufacturer.name == \"\") {\r\n this.props.showMessageBox(\"Field is empty\");\r\n return;\r\n }\r\n this.setState({\r\n actionType: \"ADD\",\r\n name: \"manufacturer\",\r\n openAlert: true,\r\n });\r\n }}\r\n >\r\n Add\r\n \r\n {\r\n this.setState({\r\n rename_type: \"manufacturer\",\r\n });\r\n this.handleClickOpen();\r\n }}\r\n >\r\n Rename\r\n */}\r\n {!(this.props.match.params.modelId == 0 && this.props.match.params.id == 0) &&\r\n \r\n {\r\n this.setState({\r\n actionType: \"DELETE\",\r\n name: \"manufacturer\",\r\n openAlert: true,\r\n });\r\n }}\r\n >\r\n \r\n \r\n }\r\n \r\n \r\n\r\n { !(this.props.match.params.modelId == 0 && this.props.match.params.id != 0) && (\r\n \r\n \r\n
    Model
    \r\n
    \r\n \r\n \r\n {/*this.props.match.params.id != 0 && this.props.match.params.modelId == 0 && */\r\n this.state.toolTipModelData != [] &&\r\n \r\n \r\n \r\n }\r\n {/* \r\n {\r\n this.handleReset(1, \"model\");\r\n }}\r\n >\r\n \r\n \r\n */}\r\n \r\n \r\n {/* {\r\n if (this.state.manufacturer.name == \"\") {\r\n this.props.showMessageBox(\r\n \"Please first select a Manufacturer to add Model\"\r\n );\r\n return;\r\n }\r\n if (this.state.model.name == \"\") {\r\n this.props.showMessageBox(\"Field is empty\");\r\n return;\r\n }\r\n this.setState({\r\n actionType: \"ADD\",\r\n name: \"model\",\r\n openAlert: true,\r\n });\r\n }}\r\n className=\"button1\"\r\n disabled={!this.newModel}\r\n >\r\n Add\r\n \r\n {\r\n this.setState({\r\n rename_type: \"model\",\r\n });\r\n this.handleClickOpen();\r\n }}\r\n className=\"button1\"\r\n disabled={this.newModel || this.state.model.name === \"\"}\r\n >\r\n Rename\r\n */}\r\n {!(this.props.match.params.modelId == 0 && this.props.match.params.id == 0) &&\r\n \r\n {\r\n this.setState({\r\n actionType: \"DELETE\",\r\n name: \"model\",\r\n openAlert: true,\r\n });\r\n }}\r\n >\r\n \r\n \r\n }\r\n \r\n \r\n )}\r\n
    \r\n {/* \r\n this.handleSave()}\r\n >\r\n \r\n \r\n */}\r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(MasterDataManagementManufacturerModel);\r\n","import React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport PaginationActions from \"./PaginationActions\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport { getEntity, showMessage } from \"../actions/index\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport device_image from \"../images/noimage.png\";\r\nimport { apiRequest, byName, atLastPageScrollToTop, defaultImage, isPortalAdmin } from \"../utils/Utils\";\r\nimport { PFContext } from \"./PrimaryFilterContext\";\r\nimport PopUp from \"./PopUp\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport Popper from \"@material-ui/core/Popper\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst PopperMy = function (props) {\r\n return ()\r\n}\r\n\r\nfunction desc(a, b, orderBy) {\r\n if (b[orderBy] < a[orderBy]) {\r\n return -1;\r\n }\r\n if (b[orderBy] > a[orderBy]) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nconst rows = [\r\n { id: \"DeviceImage\", disablePadding: true, label: \"IMAGE\" },\r\n {\r\n id: \"MacId\",\r\n disablePadding: false,\r\n label: \"MAC ID\"\r\n },\r\n\r\n { id: \"Name\", numeric: false, disablePadding: false, label: \"NAME\" },\r\n // {\r\n // id: \"DisplayName\",\r\n // numeric: false,\r\n // disablePadding: false,\r\n // label: \"DISPLAY NAME\"\r\n // }\r\n];\r\n\r\nclass EnhancedTableHead extends React.Component {\r\n createSortHandler = property => event => {\r\n this.props.onRequestSort(event, property);\r\n };\r\n\r\n render() {\r\n const {\r\n classes,\r\n onSelectAllClick,\r\n order,\r\n orderBy,\r\n numSelected,\r\n rowCount\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n 0 && numSelected < rowCount}\r\n checked={numSelected === rowCount}\r\n color=\"primary\"\r\n onChange={onSelectAllClick}\r\n />{\" \"}\r\n Select all\r\n \r\n {rows.map(\r\n row => (\r\n \r\n \r\n \r\n {row.label}\r\n \r\n \r\n
    \r\n ),\r\n this\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst toolbarStyles = theme => ({\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n root: {\r\n paddingRight: theme.spacing(1)\r\n },\r\n highlight:\r\n theme.palette.type === \"light\"\r\n ? {\r\n color: theme.palette.secondary.main,\r\n backgroundColor: \"#dfdfff\"\r\n }\r\n : {\r\n color: theme.palette.text.primary,\r\n backgroundColor: theme.palette.secondary.dark\r\n },\r\n spacer: {\r\n flex: \"1 1 60%\"\r\n },\r\n actions: {\r\n color: \"#4b2e83\",\r\n width: \"100%\"\r\n },\r\n title: {\r\n flex: \"0 0 auto\"\r\n }\r\n});\r\n\r\nlet EnhancedTableToolbar = props => {\r\n const { numSelected, classes } = props;\r\n\r\n return (\r\n 0\r\n })}\r\n >\r\n
    \r\n

    Map Devices

    \r\n
    \r\n
    \r\n
    \r\n \r\n {numSelected} selected\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nEnhancedTableToolbar = withStyles(toolbarStyles)(EnhancedTableToolbar);\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n marginBottom: theme.spacing(2),\r\n },\r\n rootcheckbox: {\r\n color: \"#4b2e83\",\r\n \"&$checked\": {\r\n color: \"#4b2e83\"\r\n }\r\n },\r\n table: {\r\n minWidth: 50\r\n },\r\n tableWrapper: {\r\n overflowX: \"auto\"\r\n },\r\n button: {\r\n color: \"#4b2e83\",\r\n height: \"40px\",\r\n width: \"100%\",\r\n padding: \"0px !important\"\r\n },\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n textField: { width: \"100%\", margin: \"0px !important\" }\r\n});\r\n\r\nclass EnhancedTable extends React.Component {\r\n static contextType = PFContext;\r\n constructor(props) {\r\n super(props);\r\n this.loaded = false;\r\n this.state = {\r\n order: \"desc\",\r\n\r\n orderBy: \"sno\",\r\n selected: [],\r\n data: props.unmappedDevices || [],\r\n page: 0,\r\n // EntityId: sessionStorage.getItem(\"entityID\") ? JSON.parse(sessionStorage.getItem(\"entityID\")) : \"\",\r\n EntityId: \"\",\r\n entityData: [],\r\n rowsPerPage: 25,\r\n search: \"\",\r\n open: false,\r\n manufacturerData: [],\r\n modelData: [],\r\n typeData: []\r\n };\r\n }\r\n\r\n //componentWillMount() {\r\n loadData() {\r\n this.loaded = true;\r\n this.props.storeEntity();\r\n this.fetchData(\"manufactures\");\r\n this.fetchData(\"assettypes\");\r\n }\r\n\r\n handleRequestSort = (event, property) => {\r\n const orderBy = property;\r\n let order = \"desc\";\r\n\r\n if (this.state.orderBy === property && this.state.order === \"desc\") {\r\n order = \"asc\";\r\n }\r\n\r\n this.setState({ order, orderBy });\r\n };\r\n\r\n handleSelectAllClick = event => {\r\n/*\r\n if (event.target.checked) {\r\n this.setState(state => ({\r\n selected: this.search().map(n => n.MacId)\r\n }));\r\n return;\r\n }\r\n*/\r\n this.setState({ selected: event.target.checked ? this.state.data.map(n => n.MacId) : [] });\r\n };\r\n\r\n componentWillReceiveProps({ entities }) {\r\n this.setState({\r\n entityData: entities\r\n });\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n if (!this.loaded && this.state.selected !== nextState.selected)\r\n this.loadData();\r\n return true;\r\n }\r\n\r\n handleClick = (event, id) => {\r\n const { selected } = this.state;\r\n const selectedIndex = selected.indexOf(id);\r\n let newSelected = [];\r\n\r\n if (selectedIndex === -1) {\r\n newSelected = newSelected.concat(selected, id);\r\n } else if (selectedIndex === 0) {\r\n newSelected = newSelected.concat(selected.slice(1));\r\n } else if (selectedIndex === selected.length - 1) {\r\n newSelected = newSelected.concat(selected.slice(0, -1));\r\n } else if (selectedIndex > 0) {\r\n newSelected = newSelected.concat(\r\n selected.slice(0, selectedIndex),\r\n selected.slice(selectedIndex + 1)\r\n );\r\n }\r\n\r\n this.setState({ selected: newSelected });\r\n };\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page }, () => {\r\n atLastPageScrollToTop(this.state.data.length, this.state.rowsPerPage, page);\r\n });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n if (event.target.value * this.state.page > this.state.data.length && this.state.page != 0)\r\n this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n else\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n\r\n searchTable(e) {\r\n // var input, found, table, tr, td, i, j;\r\n\r\n // input = e.target.value.toUpperCase();\r\n // table = document.getElementsByTagName(\"table\");\r\n // tr = table[0].getElementsByTagName(\"tr\");\r\n // for (i = 1; i < tr.length; i++) {\r\n // td = tr[i].getElementsByTagName(\"td\");\r\n // for (j = 0; j < td.length; j++) {\r\n // if (td[j].innerHTML.toUpperCase().indexOf(input) > -1) {\r\n // found = true;\r\n // }\r\n // }\r\n // if (found) {\r\n // tr[i].style.display = \"\";\r\n // found = false;\r\n // } else {\r\n // tr[i].style.display = \"none\";\r\n // }\r\n // }\r\n this.setState({ search: e.target.value });\r\n }\r\n\r\n search = (e) => {\r\n var search = e.target.value.toLowerCase();\r\n var data = this.props.unmappedDevices;\r\n/*\r\n if (!search) {\r\n return data;\r\n }\r\n else {\r\n var filterdata = data.filter(item => (\r\n*/\r\n if (search) {\r\n data = data.filter(item => (\r\n item.MacId.toLowerCase().includes(search) ||\r\n item.Name.toLowerCase().includes(search) //||\r\n //item.DisplayName.toLowerCase().includes(search)\r\n ));\r\n// return filterdata;\r\n }\r\n this.setState({ search: e.target.value, data: data, page: 0 });\r\n };\r\n\r\n isSelected = id => this.state.selected.indexOf(id) !== -1;\r\n\r\n fetchData(dataType, id = \"\") {\r\n let url =\r\n dataType === \"assetmodels\"\r\n ? `/masters/${dataType}/${id}`\r\n : `/masters/${dataType}`;\r\n\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n const data = response.data.map(c => {\r\n return {\r\n id: c.ID,\r\n name: c.Value\r\n };\r\n });\r\n switch (dataType) {\r\n case \"manufactures\":\r\n this.setState({\r\n manufacturerData: data.sort(byName)\r\n });\r\n break;\r\n case \"assetmodels\":\r\n this.setState({\r\n modelData: data.sort(byName)\r\n });\r\n break;\r\n case \"assettypes\":\r\n this.setState({\r\n typeData: data.sort(byName)\r\n });\r\n break;\r\n }\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n handleAssign = () => {\r\n console.log(\"meta\",\r\n this.state.entityObject ? this.state.entityObject.name : \"\",\r\n this.state.manufacturerObject ? this.state.manufacturerObject.name : \"\",\r\n this.state.modelObject ? this.state.modelObject.name : \"\",\r\n this.state.typeObject ? this.state.typeObject.name : \"\"\r\n );\r\n if (this.props.assignTo === \"Organization\")\r\n this.props.getMacId(\r\n this.state.selected,\r\n this.state.entityObject ? this.state.entityObject.id : \"\",\r\n this.state.manufacturerObject ? this.state.manufacturerObject.name : \"\",\r\n this.state.modelObject ? this.state.modelObject.name : \"\",\r\n this.state.typeObject ? this.state.typeObject.name : \"\"\r\n );\r\n else\r\n this.props.getMacId(this.state.selected);\r\n this.setState({ selected: [], open: false });\r\n }\r\n\r\n render() {\r\n //console.log(\"reRender?\", this.context);\r\n const { classes, numSelected } = this.props;\r\n //const { classes } = this.props;\r\n //const data = this.props.unmappedDevices;\r\n //const data = this.search();\r\n const { data, order, orderBy, selected, rowsPerPage, page } = this.state;\r\n const emptyRows =\r\n rowsPerPage - Math.min(rowsPerPage, data.length - page * rowsPerPage);\r\n\r\n return (\r\n
    \r\n \r\n\r\n this.setState({ open: false })} title={\"Assign Devices\"} handleAssign={this.handleAssign} assignDisabled={!this.state.entityObject}>\r\n
    \r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={(evt, obj) => this.setState({ entityObject: obj })}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={(evt, obj) => {\r\n if (obj == null) {\r\n this.setState({ manufacturerObject: obj, modelObject: obj, modelData: [] });\r\n }\r\n else {\r\n this.setState({ manufacturerObject: obj, modelObject: null }, () => {\r\n if (obj)\r\n this.fetchData(\"assetmodels\", obj.id);\r\n });\r\n }\r\n }}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={(evt, obj) => this.setState({ modelObject: obj })}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n option.id == value.id}\r\n getOptionLabel={(option) => option.name}\r\n onChange={(evt, obj) => this.setState({ typeObject: obj })}\r\n renderOption={(option) => (\r\n
    {option.name}
    \r\n )}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n\r\n\r\n\r\n\r\n {/* {\r\n //handeChange(v.target.value);\r\n this.setState({ EntityId: v.target.value });\r\n }}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n }\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.state.entityData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n {/* {\r\n //handeChange(v.target.value);\r\n this.setState({ manufacturer: v.target.value }, () => this.fetchData(\"assetmodels\", v.target.value.id));\r\n }}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n }\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.state.manufacturerData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n {\r\n //handeChange(v.target.value);\r\n this.setState({ model: v.target.value });\r\n }}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n }\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.state.modelData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n {\r\n //handeChange(v.target.value);\r\n this.setState({ type: v.target.value });\r\n }}\r\n SelectProps={{\r\n MenuProps: {\r\n className: classes.menu\r\n }\r\n }}\r\n InputProps={{ className: classes.input }}\r\n InputLabelProps={{\r\n shrink: true,\r\n className: classes.label\r\n }}\r\n variant=\"outlined\"\r\n >\r\n {this.state.typeData.map(option => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n */}\r\n
    \r\n
    \r\n\r\n {this.props.assignTo === \"Organization\" ? (\r\n \r\n \r\n \r\n {`${\r\n this.props.assignTo === \"Organization\"\r\n ? \"Assign Devices to a Organization\"\r\n : \"Assign Devices to a Department\"\r\n }`}\r\n \r\n \r\n \r\n this.setState({ search: e.target.value, data: this.search(e.target.value), page: 0 })}\r\n onChange={this.search}\r\n value={this.state.search}\r\n InputProps={{\r\n startAdornment: (\r\n \r\n \r\n \r\n ),\r\n className: classes.input\r\n }}\r\n InputLabelProps={{\r\n className: classes.label\r\n }}\r\n />\r\n \r\n {isPortalAdmin &&\r\n \r\n \r\n \r\n \r\n }\r\n \r\n ) : (\r\n
    \r\n \r\n {`${\r\n this.props.assignTo === \"Organization\"\r\n ? \"Assign Devices to a Organization\"\r\n : \"Assign Devices to a Department\"\r\n }`}\r\n \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n \r\n \r\n {stableSort(data, getSorting(order, orderBy))\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map(n => {\r\n const isSelected = this.isSelected(n.MacId);\r\n return (\r\n this.handleClick(event, n.MacId)}\r\n role=\"checkbox\"\r\n aria-checked={isSelected}\r\n tabIndex={-1}\r\n key={n.MacId}\r\n selected={isSelected}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {n.MacId}\r\n \r\n {n.Name}\r\n {/* {n.DisplayName} */}\r\n \r\n );\r\n })}\r\n {/* emptyRows > 0 && (\r\n \r\n \r\n \r\n ) */}\r\n \r\n \r\n
    \r\n data.length ? 0 :*/ page}\r\n backIconButtonProps={{\r\n \"aria-label\": \"Previous Page\",\r\n style: { outline: \"none\" }\r\n }}\r\n nextIconButtonProps={{\r\n \"aria-label\": \"Next Page\",\r\n style: { outline: \"none\" }\r\n }}\r\n onChangePage={this.handleChangePage}\r\n onChangeRowsPerPage={this.handleChangeRowsPerPage}\r\n />\r\n\r\n {this.state.selected.length > 0 &&\r\n \r\n \r\n \r\n {this.state.selected.length + \" row(s) selected.\"}\r\n \r\n \r\n \r\n {\r\n // if (this.props.assignTo === \"Organization\")\r\n // this.props.getMacId(\r\n // this.state.selected,\r\n // this.state.EntityId\r\n // //this.context.entity\r\n // );\r\n // else\r\n // this.props.getMacId(this.state.selected);\r\n // this.setState({ selected: [] });\r\n // }}\r\n onClick={() => this.setState({ open: true })}\r\n variant=\"outlined\"\r\n style={{}}\r\n //className={classNames(classes.button, \"float-right\", \"button1\")}\r\n className={classNames(\"float-right\", \"button1\")}\r\n >\r\n {this.props.assignTo === \"Organization\" ? \"Take Ownership\" : \"Assign\"}\r\n \r\n \r\n \r\n }\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n const { entities } = state;\r\n return {\r\n entities\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n storeEntity: () => getEntity(dispatch),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(EnhancedTable);\r\n","import React, { Component } from \"react\";\r\nimport \"./Page2.css\";\r\nimport TableUnMapped from \"../components/TableUnmappedOrphanedDevices\";\r\nimport { /*getEntity,*/ showMessage } from \"../actions/index\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { apiRequest } from \"../utils/Utils\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\n\r\nconst styles = theme => ({\r\n input: {\r\n height: 38\r\n },\r\n label: {\r\n marginTop: \"-5px\"\r\n },\r\n textField: { width: \"60%\", marginTop: 20 }\r\n});\r\n\r\nclass MapDevices extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n collapse: \"true\",\r\n isHidden: true,\r\n value: 1,\r\n unmappedAssets: [],\r\n EntityId: \"\",\r\n //entityData: [],\r\n isAssetsLoaded: false\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n //this.props.storeEntity();\r\n this.loadunMapped();\r\n }\r\n\r\n loadunMapped() {\r\n let That = this;\r\n //let url = `/assets/search?searchType=ownership&DeviceFlag=ORPHAN`;\r\n let url = `/assets/orphans`;\r\n\r\n apiRequest(url, \"get\")\r\n .then(response => {\r\n this.setState({\r\n unmappedAssets: response.data,\r\n isAssetsLoaded: true\r\n });\r\n })\r\n .catch(error => console.log(error));\r\n }\r\n\r\n handleChange = name => event => {\r\n this.setState({\r\n [name]: event.target.value\r\n });\r\n };\r\n\r\n getMacID(that, id, entityId, manufacturer, model, type) {\r\n const data = {\r\n entityId,\r\n mac: id,\r\n manufacturer: manufacturer,\r\n model: model,\r\n type: type\r\n };\r\n if (entityId == \"\") {\r\n that.props.showMessageBox(\"Please select the Organization\");\r\n } else if (id == \"\") {\r\n that.props.showMessageBox(\"Please select the Device(s) to be assigned\");\r\n } else {\r\n apiRequest(`/assets/ownership`, \"post\", data)\r\n .then(x => {\r\n if (x.status > 0)\r\n this.setState({ isAssetsLoaded: false, unmappedAssets: [] }, () => that.loadunMapped());\r\n if (x.status > 0 && x.message == null)\r\n that.props.showMessageBox(\"SUCCESS\");\r\n else\r\n that.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n that.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {this.state.isAssetsLoaded || this.state.unmappedAssets.length > 0 ? (\r\n
    \r\n \r\n this.getMacID(this, id, entityId, manufacturer, model, type)\r\n }\r\n assignTo={\"Organization\"}\r\n />\r\n
    \r\n ) : (\r\n \r\n \r\n

    \r\n Loading Devices\r\n

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// const { entities } = state;\r\n// return {\r\n// entities\r\n// };\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n //storeEntity: () => getEntity(dispatch),\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(MapDevices);\r\n","import React, { Component } from \"react\";\r\n\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport {\r\n CircularProgressbar,\r\n CircularProgressbarWithChildren,\r\n buildStyles\r\n} from \"react-circular-progressbar\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport MissingIcon from \"@material-ui/icons/Help\";\r\nimport OrphanedIcon from \"@material-ui/icons/Error\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { getUser, allowedDomains, apiRequest} from \"../utils/Utils\";\r\nimport { MsalContext, AuthenticatedTemplate, UnauthenticatedTemplate } from \"@azure/msal-react\";\r\n\r\nconst percentage = 66;\r\nclass About extends Component {\r\n static contextType = MsalContext;\r\n render() {\r\n let user = getUser();\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n {this.context.accounts.length > 0 && user && !allowedDomains.some(d => user.endsWith(d)) ? (\r\n

    User not authorized to access the application.

    \r\n ) : (\r\n

    You don't have access to any resources. Please contact System Administrator to request access.

    \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default About;\r\n","import React, { Component } from \"react\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport ResetPwd from \"@material-ui/icons/VpnKey\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { apiRequest, isPortalAdmin, PASSWORD_REGEX, PASSWORD_ERROR } from \"../utils/Utils\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { showMessage } from \"../actions/index\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport AlertDialog from \"../components/AlertDialog\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Radio from \"@material-ui/core/Radio\";\r\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst tableHeader = [\r\n { id: \"0\", label: \"Resource Name\" },\r\n { id: \"1\", label: \"Resource Type\" },\r\n { id: \"2\", label: \"Access Level\" },\r\n { id: \"3\", label: \"Action\" }\r\n];\r\n\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n input: {\r\n borderRadius: \"2px\",\r\n width: \"100%\",\r\n padding: \"5px\",\r\n borderRadius: \"5px\",\r\n outline: \"none\",\r\n border: \"1px solid lightgrey\"\r\n },\r\n textField: { width: \"100%\" },\r\n menu: {\r\n width: \"100%\"\r\n }\r\n});\r\n\r\nclass UserPermissions extends Component {\r\n state = {\r\n users: [],\r\n selectedUser: \"\",\r\n name: \"\",\r\n imageUrl: \"\",\r\n email: \"\",\r\n permissions: [],\r\n open: false,\r\n openAlert: false,\r\n actionType: \"\",\r\n rowToDelete: {},\r\n openNewPwd: false,\r\n newPwd: \"\",\r\n cnfPwd: \"\",\r\n passwordType: \"random_password\"\r\n };\r\n\r\n componentWillMount() {\r\n this.fetchUsers();\r\n }\r\n\r\n fetchUsers() {\r\n apiRequest(\"/users?is_active=true\", \"get\")\r\n .then(x => {\r\n this.setState({\r\n users: x.data\r\n });\r\n })\r\n .catch(err => console.log(err));\r\n }\r\n\r\n selectUser = event => {\r\n this.setState({\r\n selectedUser: event.target.value\r\n });\r\n };\r\n\r\n fetchUserData() {\r\n if (this.state.selectedUser == \"\") {\r\n this.props.showMessageBox(\"Please select a user\");\r\n return;\r\n }\r\n\r\n const isValidUser = this.state.users.filter(\r\n user => user.UserId == this.state.selectedUser\r\n );\r\n if (isValidUser.length == 0) {\r\n this.props.showMessageBox(\"User not found\");\r\n return;\r\n }\r\n\r\n apiRequest(`/users/${this.state.selectedUser}`, \"get\")\r\n .then(response => {\r\n this.setState({\r\n name: response.data[0].FullName,\r\n imageUrl: response.data[0].ImageURLSmall,\r\n email: response.data[0].Email,\r\n permissions: response.data[0].Permissiones,\r\n userName: response.data[0].UserId,\r\n isO365User: response.data[0].IsOfficeUser\r\n });\r\n this.setState({\r\n open: true\r\n });\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n handleReset = () => {\r\n this.setState({\r\n selectedUser: \"\",\r\n open: false\r\n });\r\n };\r\n\r\n handleDelete = () => {\r\n const { MembershipId } = this.state.rowToDelete;\r\n const { ControlLevel } = this.state.rowToDelete.ResourceInfo;\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n if (ControlLevel >= 500) {\r\n apiRequest(`/accesscontrol/${MembershipId}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0) {\r\n this.fetchUserData();\r\n }\r\n if (x.status > 0 && x.message == null)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else\r\n this.props.showMessageBox(x.message);\r\n })\r\n .catch(err => console.log(err));\r\n } else {\r\n this.props.showMessageBox(\"Access Denied\");\r\n }\r\n };\r\n\r\n handleResetPassword = () => {\r\n const { newPwd, cnfPwd } = this.state;\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n\r\n let data;\r\n\r\n if (this.state.passwordType == \"random_password\") {\r\n data = {\r\n UserId: this.state.selectedUser,\r\n NewPasswordBase64: \"\",\r\n NewPasswordConfirmBase64: \"\"\r\n };\r\n } else {\r\n data = {\r\n UserId: this.state.selectedUser,\r\n NewPasswordBase64: btoa(newPwd),\r\n NewPasswordConfirmBase64: btoa(cnfPwd)\r\n };\r\n }\r\n apiRequest(`/users/${this.state.selectedUser}/password/1`, \"post\", data)\r\n .then(res => {\r\n if (res.status > 0) {\r\n this.props.showMessageBox(\"SUCCESS\");\r\n } else {\r\n this.props.showMessageBox(res.message);\r\n }\r\n this.setState({\r\n openNewPwd: false,\r\n newPwd: \"\",\r\n cnfPwd: \"\",\r\n });\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ openNewPwd: false, cnfPwd: \"\", newPwd: \"\" });\r\n }\r\n\r\n handleChange = event => {\r\n this.setState({\r\n passwordType: event.target.value\r\n });\r\n };\r\n\r\n removeUser = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n\r\n apiRequest(`/users/${this.state.selectedUser}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0 && x.message == null) {\r\n this.fetchUsers();\r\n this.setState({\r\n user: \"\"\r\n });\r\n this.props.showMessageBox(\"User Removed\");\r\n this.handleReset();\r\n //this.fetchUserData();\r\n }\r\n else\r\n this.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n render() {\r\n const { users, name, imageUrl, email, permissions, userName, isO365User } = this.state;\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n\r\n {\r\n this.handleClose();\r\n }}\r\n >\r\n Set Password\r\n \r\n \r\n }\r\n label=\"Random Password\"\r\n />\r\n }\r\n label=\"Custom Password\"\r\n />\r\n \r\n {\r\n this.setState({ newPwd: e.target.value });\r\n }}\r\n disabled={this.state.passwordType == \"random_password\"}\r\n value={this.state.newPwd}\r\n />\r\n {\r\n this.setState({ cnfPwd: e.target.value });\r\n }}\r\n value={this.state.cnfPwd}\r\n />\r\n

    \r\n *Password must be between 8-15 characters. Must contains at least\r\n ONE special characters (!#$_&@%), 1 numeric, 1 UpperCase, 1\r\n smallcase letters\r\n

    \r\n

    \r\n *Email with new password will be sent to the User\r\n

    \r\n
    \r\n \r\n {\r\n this.handleClose();\r\n }}\r\n color=\"primary\"\r\n >\r\n Cancel\r\n \r\n {\r\n const { newPwd, cnfPwd } = this.state;\r\n\r\n if (this.state.passwordType == \"custom_password\") {\r\n if (newPwd == \"\" || cnfPwd == \"\") {\r\n this.props.showMessageBox(\"Fields should not be empty\");\r\n return;\r\n }\r\n else {\r\n if (newPwd !== cnfPwd) {\r\n this.props.showMessageBox(\r\n \"Confirm Password should match with New Password\"\r\n );\r\n return;\r\n }\r\n if (!PASSWORD_REGEX.test(newPwd) || !PASSWORD_REGEX.test(cnfPwd)) {\r\n this.props.showMessageBox(PASSWORD_ERROR);\r\n return;\r\n }\r\n }\r\n }\r\n this.setState({\r\n actionType: \"RESET\",\r\n openAlert: true\r\n });\r\n }}\r\n color=\"primary\"\r\n >\r\n Done\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n

    Select User

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleReset();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n this.fetchUserData();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Name:\r\n {` ${name}`}\r\n \r\n \r\n User Name:\r\n {` ${userName}`}\r\n \r\n \r\n Email:\r\n {` ${email}`}\r\n \r\n \r\n Auth: \r\n {isO365User? \"O365\" : \"Local\"}\r\n \r\n \r\n\r\n
    \r\n\r\n {permissions.length > 0 ? (\r\n \r\n \r\n {`${name}'s Resource Permissions`}\r\n \r\n
    \r\n \r\n \r\n \r\n {tableHeader.map(row => (\r\n \r\n {row.label}\r\n \r\n ))}\r\n \r\n \r\n \r\n {permissions\r\n .filter(item => item.IsActive == true)\r\n .map(row => {\r\n let policyGroup = \"\";\r\n if (row.PermissionGroupLevel == 700)\r\n policyGroup = \"Administrator\";\r\n else if (row.PermissionGroupLevel == 500)\r\n policyGroup = \"Admin\";\r\n else if (row.PermissionGroupLevel == 300)\r\n policyGroup = \"Editor\";\r\n else if (row.PermissionGroupLevel == 100)\r\n policyGroup = \"Read Only\";\r\n return (\r\n \r\n {row.ResourceInfo.Name}\r\n {row.ResourceInfo.Type}\r\n {policyGroup}\r\n \r\n \r\n {\r\n this.setState({\r\n actionType: \"DELETE\",\r\n openAlert: true,\r\n rowToDelete: row\r\n });\r\n }}\r\n style={\r\n isPortalAdmin\r\n ? {\r\n color: \"#4b2e83\",\r\n opacity: \"1\",\r\n outline: \"none\"\r\n }\r\n : {\r\n color: \"#343a40\",\r\n opacity: \"0.4\"\r\n }\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n \r\n {`${name} has no Permissions`}\r\n \r\n \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(UserPermissions);\r\n","import React, { Component } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Menu from \"@material-ui/core/Menu\";\r\nimport Fade from \"@material-ui/core/Fade\";\r\nimport Button from \"@material-ui/core/Button\";\r\n\r\nexport default function FadeMenu() {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n Add\r\n \r\n \r\n
    \r\n \r\n \r\n {/* */}\r\n
    \r\n \r\n
    \r\n );\r\n}","import React, { Component } from \"react\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport ResetPwd from \"@material-ui/icons/VpnKey\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { apiRequest, isPortalAdmin, atLastPageScrollToTop, PASSWORD_REGEX, PASSWORD_ERROR } from \"../utils/Utils\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { showMessage } from \"../actions/index\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TablePagination from \"@material-ui/core/TablePagination\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport TableSortLabel from \"@material-ui/core/TableSortLabel\";\r\nimport PaginationActions from \"../components/PaginationActions\";\r\nimport PropTypes from \"prop-types\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport SearchIcon from \"@material-ui/icons/Search\";\r\nimport BackIcon from \"@material-ui/icons/ArrowBackIos\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport AlertDialog from \"../components/AlertDialog\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Radio from \"@material-ui/core/Radio\";\r\nimport RadioGroup from \"@material-ui/core/RadioGroup\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport { Link } from \"react-router-dom\";\r\nimport DropButton from \"../components/DropButton\";\r\n\r\nconst tableHeader = [\r\n { id: \"0\", label: \"Resource Name\" },\r\n { id: \"1\", label: \"Resource Type\" },\r\n { id: \"2\", label: \"Access Level\" },\r\n { id: \"3\", label: \"Action\" }\r\n];\r\n\r\nconst styles = theme => ({\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n // input: {\r\n // borderRadius: \"2px\",\r\n // width: \"100%\",\r\n // padding: \"5px\",\r\n // borderRadius: \"5px\",\r\n // outline: \"none\",\r\n // border: \"1px solid lightgrey\",\r\n // },\r\n textField: { width: \"100%\" },\r\n menu: {\r\n width: \"100%\"\r\n },\r\n root: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2)\r\n },\r\n root1: {\r\n width: \"100%\",\r\n marginTop: 5,\r\n marginBottom: 35\r\n },\r\n table: {},\r\n tableWrapper: {\r\n overflowX: \"auto\"\r\n },\r\n noPadding: {\r\n padding: 0\r\n }\r\n});\r\n\r\nconst rows = [\r\n { id: \"UserImage\", disablePadding: false, label: \"IMAGE\" },\r\n { id: \"FullName\", disablePadding: false, label: \"FULL NAME\" },\r\n { id: \"UserId\", disablePadding: false, label: \"USER ID\" },\r\n { id: \"Email\", disablePadding: false, label: \"EMAIL\" },\r\n { id: \"Admin\", disablePadding: false, label: \"ADMIN\" },\r\n { id: \"ReadOnly\", disablePadding: false, label: \"READONLY\" },\r\n { id: \"Auth\", disablePadding: false, label: \"AUTH\" }\r\n];\r\n\r\nfunction stableSort(array, cmp) {\r\n const stabilizedThis = array.map((el, index) => [el, index]);\r\n stabilizedThis.sort((a, b) => {\r\n const order = cmp(a[0], b[0]);\r\n if (order !== 0) return order;\r\n return a[1] - b[1];\r\n });\r\n return stabilizedThis.map(el => el[0]);\r\n}\r\n\r\nfunction getSorting(order, orderBy) {\r\n return order === \"desc\"\r\n ? (a, b) => desc(a, b, orderBy)\r\n : (a, b) => -desc(a, b, orderBy);\r\n}\r\n\r\nfunction desc(a, b, orderBy) {\r\n let cmpa = a[orderBy] ? a[orderBy].toLowerCase() : \"\";\r\n let cmpb = b[orderBy] ? b[orderBy].toLowerCase() : \"\";\r\n if (cmpb < cmpa) {\r\n return -1;\r\n }\r\n if (cmpb > cmpa) {\r\n return 1;\r\n }\r\n return 0;\r\n}\r\n\r\nclass EnhancedTableHead extends React.Component {\r\n createSortHandler = property => event => {\r\n this.props.onRequestSort(event, property);\r\n };\r\n\r\n render() {\r\n const {\r\n onSelectAllClick,\r\n order,\r\n orderBy,\r\n numSelected,\r\n rowCount\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n {rows.map(\r\n row => (\r\n \r\n {row.id != \"map\" && row.id != \"UserImage\" ? (\r\n \r\n \r\n {row.label}\r\n \r\n \r\n ) : (\r\n row.label\r\n )}\r\n \r\n ),\r\n this\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nEnhancedTableHead.propTypes = {\r\n onRequestSort: PropTypes.func.isRequired,\r\n numSelected: PropTypes.number.isRequired,\r\n order: PropTypes.string.isRequired,\r\n orderBy: PropTypes.string.isRequired,\r\n rowCount: PropTypes.number.isRequired\r\n};\r\n\r\nclass UserPermissionsAdminView extends Component {\r\n state = {\r\n order: \"asc\",\r\n orderBy: \"sno\",\r\n page: 0,\r\n rowsPerPage: 5,\r\n isHiddenDetails: true,\r\n isLoaded: false,\r\n users: [],\r\n filteredUsers: [],\r\n searchText: \"\",\r\n selectedUser: \"\",\r\n name: \"\",\r\n imageUrl: \"\",\r\n email: \"\",\r\n permissions: [],\r\n open: false,\r\n openAlert: false,\r\n actionType: \"\",\r\n rowToDelete: {},\r\n openNewPwd: false,\r\n newPwd: \"\",\r\n cnfPwd: \"\",\r\n passwordType: \"random_password\"\r\n };\r\n\r\n componentWillMount() {\r\n // this.fetchUsers();\r\n }\r\n\r\n componentDidMount() {\r\n // this.setState({\r\n // isLoaded: true\r\n // });\r\n this.fetchUsers();\r\n }\r\n\r\n handleRequestSort = (event, property) => {\r\n const orderBy = property;\r\n let order = \"desc\";\r\n\r\n if (this.state.orderBy === property && this.state.order === \"desc\") {\r\n order = \"asc\";\r\n }\r\n\r\n this.setState({ order, orderBy });\r\n };\r\n\r\n fetchUsers() {\r\n // this.setState({\r\n // isLoaded: false\r\n // })\r\n apiRequest(\"/users?is_active=true\", \"get\")\r\n .then(x => {\r\n //Build Admin, Readonly Perm lists\r\n for (var i = 0; i < x.data.length; i++) {\r\n var Admin = [];\r\n var ReadOnly = [];\r\n for (var j = 0; j < x.data[i].Permissiones.length; j++) {\r\n if (x.data[i].Permissiones[j].PermissionGroupLevel === 500) {\r\n Admin.push(x.data[i].Permissiones[j].ResourceInfo.Name);\r\n } else if (x.data[i].Permissiones[j].PermissionGroupLevel === 100) {\r\n ReadOnly.push(x.data[i].Permissiones[j].ResourceInfo.Name);\r\n }\r\n }\r\n x.data[i].Admin = Admin.toString();\r\n x.data[i].ReadOnly = ReadOnly.toString();\r\n x.data[i].Auth = x.data[i].IsOfficeUser ? \"O365\" : \"Local\";\r\n }\r\n\r\n this.setState({\r\n users: x.data,\r\n filteredUsers: x.data,\r\n isLoaded: true\r\n });\r\n })\r\n .catch(err => console.log(err));\r\n }\r\n\r\n selectUser = event => {\r\n this.setState({\r\n selectedUser: event.target.value\r\n });\r\n };\r\n\r\n setSearchText = e => {\r\n let value = e.target.value ? e.target.value.toLowerCase() : \"\";\r\n this.setState({\r\n searchText: e.target.value,\r\n page: 0,\r\n filteredUsers:\r\n value\r\n ? this.state.users.filter(\r\n user =>\r\n user.UserId.includes(value) ||\r\n user.FullName.toLowerCase().includes(value) ||\r\n user.Email.toLowerCase().includes(value) ||\r\n user.Admin.toLowerCase().includes(value) ||\r\n user.ReadOnly.toLowerCase().includes(value) ||\r\n //AUTH\r\n (user.IsOfficeUser && value == \"o365\") ||\r\n (!user.IsOfficeUser && value == \"local\")\r\n // user.Auth\r\n // .toLowerCase()\r\n // .includes(value)\r\n )\r\n : this.state.users\r\n });\r\n\r\n //if (this.wait != \"\") clearTimeout(this.wait);\r\n\r\n //this.wait = setTimeout(() => {\r\n // this.setState({ searchText2: this.state.searchText });\r\n //}, 700);\r\n };\r\n\r\n fetchUserData(id) {\r\n /* if (id == \"\") {\r\n this.props.showMessageBox(\"Please select a user\");\r\n return;\r\n } */\r\n\r\n const isValidUser = this.state.users.filter(user => user.UserId == id);\r\n if (isValidUser.length == 0) {\r\n this.props.showMessageBox(\"User not found\");\r\n return;\r\n }\r\n this.setState({\r\n isLoaded: false\r\n });\r\n apiRequest(`/users/${id}`, \"get\")\r\n .then(response => {\r\n this.setState({\r\n name: response.data[0].FullName,\r\n imageUrl: response.data[0].ImageURLSmall,\r\n email: response.data[0].Email,\r\n permissions: response.data[0].Permissiones,\r\n userName: response.data[0].UserId,\r\n isO365User: response.data[0].IsOfficeUser\r\n });\r\n this.setState({\r\n open: true,\r\n isLoaded: true\r\n });\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n handleReset = () => {\r\n this.setState({\r\n selectedUser: \"\",\r\n open: false,\r\n isHiddenDetails: true\r\n });\r\n };\r\n\r\n handleBackButton = () => {\r\n this.toggleHiddenDetails(\"false\");\r\n this.setState({\r\n open: false\r\n });\r\n };\r\n\r\n toggleHiddenDetails(selectedUserDetail) {\r\n this.setState({\r\n isHiddenDetails: !this.state.isHiddenDetails\r\n });\r\n if (this.state.isHiddenDetails) {\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n this.setState({\r\n selectedUserDetail\r\n });\r\n }\r\n\r\n isSelected = id => this.state.selectedUser.indexOf(id) !== -1;\r\n\r\n handleChangePage = (event, page) => {\r\n this.setState({ page }, () => {\r\n atLastPageScrollToTop(this.state.filteredUsers.length, this.state.rowsPerPage, page);\r\n });\r\n };\r\n\r\n handleChangeRowsPerPage = event => {\r\n if (event.target.value * this.state.page > this.state.filteredUsers.length && this.state.page != 0)\r\n this.setState({ rowsPerPage: event.target.value, page: 0 });\r\n else\r\n this.setState({ rowsPerPage: event.target.value });\r\n };\r\n\r\n handleDelete = () => {\r\n const { MembershipId } = this.state.rowToDelete;\r\n const { ControlLevel } = this.state.rowToDelete.ResourceInfo;\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n if (ControlLevel >= 500) {\r\n apiRequest(`/accesscontrol/${MembershipId}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0) {\r\n this.fetchUserData(this.state.selectedUser);\r\n }\r\n if (x.status > 0 && x.message == null)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else\r\n this.props.showMessageBox(x.message);\r\n })\r\n .catch(err => console.log(err));\r\n } else {\r\n this.props.showMessageBox(\"Access Denied\");\r\n }\r\n };\r\n\r\n handleClick = (event, id) => {\r\n this.setState({ selectedUser: id, isHiddenDetails: false }, () => this.fetchUserData(id));\r\n //this.fetchUserData(id);\r\n };\r\n\r\n handleResetPassword = () => {\r\n const { newPwd, cnfPwd } = this.state;\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n\r\n let data;\r\n\r\n if (this.state.passwordType == \"random_password\") {\r\n data = {\r\n UserId: this.state.selectedUser,\r\n NewPasswordBase64: \"\",\r\n NewPasswordConfirmBase64: \"\"\r\n };\r\n } else {\r\n data = {\r\n UserId: this.state.selectedUser,\r\n NewPasswordBase64: btoa(newPwd),\r\n NewPasswordConfirmBase64: btoa(cnfPwd)\r\n };\r\n }\r\n apiRequest(`/users/${this.state.selectedUser}/password/1`, \"post\", data)\r\n .then(res => {\r\n if (res.status > 0) {\r\n this.props.showMessageBox(\"SUCCESS\");\r\n } else {\r\n this.props.showMessageBox(res.message);\r\n }\r\n this.setState({\r\n openNewPwd: false,\r\n newPwd: \"\",\r\n cnfPwd: \"\",\r\n });\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n handleClose() {\r\n this.setState({ openNewPwd: false, cnfPwd: \"\", newPwd: \"\" });\r\n }\r\n\r\n handleChange = event => {\r\n this.setState({\r\n passwordType: event.target.value\r\n });\r\n };\r\n\r\n removeUser = () => {\r\n this.setState(\r\n {\r\n openAlert: false\r\n },\r\n () => {\r\n setTimeout(() => {\r\n this.setState({\r\n actionType: \"\"\r\n });\r\n }, 500);\r\n }\r\n );\r\n\r\n apiRequest(`/users/${this.state.selectedUser}`, \"delete\")\r\n .then(x => {\r\n if (x.status > 0 && x.message == null) {\r\n this.fetchUsers();\r\n this.setState({\r\n user: \"\"\r\n });\r\n this.props.showMessageBox(\"User Removed\");\r\n this.handleReset();\r\n //this.fetchUserData(this.state.selectedUser);\r\n }\r\n else\r\n this.props.showMessageBox(x.message);\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n render() {\r\n const { users, name, imageUrl, email, permissions, userName, isO365User } = this.state;\r\n const emptyRows =\r\n this.state.rowsPerPage -\r\n Math.min(\r\n this.state.rowsPerPage,\r\n this.state.users.length - this.state.page * this.state.rowsPerPage\r\n );\r\n const { classes } = this.props;\r\n //console.log(\"state\", this.state);\r\n\r\n return (\r\n \r\n {\r\n this.setState({ openAlert: false });\r\n }}\r\n />\r\n\r\n {\r\n this.handleClose();\r\n }}\r\n >\r\n Set Password\r\n \r\n \r\n }\r\n label=\"Random Password\"\r\n />\r\n }\r\n label=\"Custom Password\"\r\n />\r\n \r\n {\r\n this.setState({ newPwd: e.target.value });\r\n }}\r\n disabled={this.state.passwordType == \"random_password\"}\r\n value={this.state.newPwd}\r\n />\r\n {\r\n this.setState({ cnfPwd: e.target.value });\r\n }}\r\n value={this.state.cnfPwd}\r\n />\r\n

    \r\n *Password must be between 8-15 characters. Must contains at least\r\n ONE special characters (!#$_&@%), 1 numeric, 1 UpperCase, 1\r\n smallcase letters\r\n

    \r\n

    \r\n *Email with new password will be sent to the User\r\n

    \r\n
    \r\n \r\n {\r\n this.handleClose();\r\n }}\r\n color=\"primary\"\r\n >\r\n Cancel\r\n \r\n {\r\n const { newPwd, cnfPwd } = this.state;\r\n\r\n if (this.state.passwordType == \"custom_password\") {\r\n if (newPwd == \"\" || cnfPwd == \"\") {\r\n this.props.showMessageBox(\"Fields should not be empty\");\r\n return;\r\n }\r\n else {\r\n if (newPwd !== cnfPwd) {\r\n this.props.showMessageBox(\r\n \"Confirm Password should match with New Password\"\r\n );\r\n return;\r\n }\r\n if (!PASSWORD_REGEX.test(newPwd) || !PASSWORD_REGEX.test(cnfPwd)) {\r\n this.props.showMessageBox(PASSWORD_ERROR);\r\n return;\r\n }\r\n }\r\n }\r\n this.setState({\r\n actionType: \"RESET\",\r\n openAlert: true\r\n });\r\n }}\r\n color=\"primary\"\r\n >\r\n Done\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Users\r\n \r\n
    \r\n \r\n \r\n \r\n ),\r\n className: classes.input\r\n }}\r\n onChange={this.setSearchText}\r\n />\r\n \r\n \r\n {!this.state.isLoaded ? (\r\n \r\n \r\n
    \r\n ) : (\r\n \r\n {this.state.filteredUsers.length > 0 ? (\r\n
    \r\n \r\n \r\n\r\n \r\n {stableSort(\r\n this.state.filteredUsers,\r\n getSorting(this.state.order, this.state.orderBy)\r\n )\r\n .slice(\r\n this.state.page * this.state.rowsPerPage,\r\n this.state.page * this.state.rowsPerPage +\r\n this.state.rowsPerPage\r\n )\r\n .map(n => {\r\n const isSelected = this.isSelected(n.UserId);\r\n return (\r\n \r\n this.handleClick(event, n.UserId)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {n.FullName}\r\n \r\n \r\n {n.UserId}\r\n \r\n \r\n {n.Email}\r\n \r\n \r\n {n.Admin}\r\n \r\n \r\n {n.ReadOnly}\r\n \r\n \r\n {/* {n.IsOfficeUser? \"O365\" : \"Local\"} */}\r\n {n.Auth}\r\n \r\n \r\n );\r\n })}\r\n {/* emptyRows > 0 && (\r\n \r\n \r\n \r\n ) */}\r\n \r\n \r\n\r\n \r\n
    \r\n ) : (\r\n \r\n

    No User Found.

    \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n {/* \r\n \r\n

    Select User

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleReset();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n this.fetchUserData();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n Back\r\n \r\n \r\n \r\n {\r\n this.setState({\r\n actionType: \"REMOVE\",\r\n openAlert: true\r\n });\r\n }}\r\n >\r\n REMOVE USER\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Name:\r\n {` ${name}`}\r\n \r\n \r\n User Name:\r\n {` ${userName}`}\r\n \r\n \r\n Email:\r\n {` ${email}`}\r\n \r\n \r\n Auth: \r\n {isO365User? \"O365\" : \"Local\"}\r\n \r\n \r\n\r\n
    \r\n\r\n {permissions.length > 0 ? (\r\n \r\n \r\n {`${name}'s Resource Permissions`}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {`${name} has no Permissions`}\r\n \r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n showMessageBox: message => dispatch(showMessage(message))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n //mapStateToProps,\r\n null,\r\n mapDispatchToProps\r\n ),\r\n withStyles(styles)\r\n)(UserPermissionsAdminView);\r\n","import { apiRequest, isPortalAdmin, getMaxEntityAccess } from \"../utils/Utils\";\r\nimport React, { Component } from \"react\";\r\n//import { compose } from \"recompose\";\r\n//import { connect } from \"react-redux\";\r\nimport UserPermissions from \"./UserPermissions\";\r\nimport UserPermissionsAdminView from \"./UserPermissionsAdminView.jsx\";\r\n\r\nexport default class UserPermissionsHandler extends Component {\r\n state = {};\r\n render() {\r\n return (\r\n
    \r\n {isPortalAdmin ? (\r\n \r\n \r\n ) : (\r\n \r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\n//const mapStateToProps = state => {\r\n// return {};\r\n//};\r\n\r\n//const mapDispatchToProps = dispatch => {\r\n// return {\r\n// showMessageBox: message => dispatch(showMessage(message))\r\n// };\r\n//};\r\n\r\n//export default compose(\r\n// connect(\r\n// //mapStateToProps,\r\n// null,\r\n// mapDispatchToProps\r\n// ),\r\n// //withStyles(styles)\r\n//)(UserPermissionsHandler);\r\n","import React, { Component } from \"react\";\r\nimport { compose } from \"recompose\";\r\nimport { connect } from \"react-redux\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { apiRequest, PASSWORD_REGEX, PASSWORD_ERROR } from \"../utils/Utils\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { showMessage } from \"../actions/index\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport { Link } from \"react-router-dom\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport SubmitIcon from \"@material-ui/icons/CheckCircleOutline\";\r\nimport EditIcon from \"@material-ui/icons/Edit\";\r\nimport ResetIcon from \"@material-ui/icons/Refresh\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Tooltip from \"@material-ui/core/Tooltip\";\r\nimport Cookies from \"js-cookie\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport axios from \"axios\";\r\nimport { MsalContext, AuthenticatedTemplate, UnauthenticatedTemplate } from \"@azure/msal-react\";\r\nimport { pca } from \"../index.js\";\r\n\r\nconst tableHeader = [\r\n { id: \"0\", label: \"Resource Name\" },\r\n { id: \"1\", label: \"Resource Type\" },\r\n { id: \"2\", label: \"Access Level\" }\r\n];\r\n\r\nconst styles = theme => ({\r\n input: {\r\n height: 38,\r\n color: \"#111\"\r\n },\r\n label: {\r\n marginTop: \"-5px\",\r\n color: \"#111\"\r\n },\r\n button: {\r\n margin: theme.spacing(1),\r\n paddingTop: 10,\r\n paddingBottom: 10\r\n },\r\n\r\n textField: { width: \"100%\" },\r\n menu: {\r\n width: \"100%\"\r\n }\r\n});\r\n\r\nlet Msg = \"
    \"\r\nclass UserProfile extends Component {\r\n static contextType = MsalContext;\r\n state = {\r\n name: \"\",\r\n userid: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n imageUrl: \"\",\r\n permissions: [],\r\n usersData: [],\r\n password: \"\",\r\n confirmPassword: \"\",\r\n oldPassword: \"\",\r\n editName: \"\",\r\n editEmail: \"\",\r\n editPhone: \"\",\r\n open: false,\r\n show: false,\r\n editDetails: false,\r\n selectedFile: null,\r\n uploadImg: false,\r\n microsoftOnly: false\r\n };\r\n\r\n componentDidMount() {\r\n this.getUserDetail();\r\n }\r\n\r\n async getToken() {\r\n var request = {\r\n account: pca.getAllAccounts()[0],\r\n scopes: [\"User.Read\"]\r\n };\r\n let apiToken = await pca.acquireTokenSilent(request)\r\n .then((tokenResponse) => {\r\n return tokenResponse.accessToken;\r\n })\r\n .catch((error) => {\r\n return pca.acquireTokenRedirect(request);\r\n });\r\n\r\n return apiToken;\r\n }\r\n\r\n arrayBufferToBase64(buffer) {\r\n var binary = '';\r\n var bytes = [].slice.call(new Uint8Array(buffer));\r\n\r\n bytes.forEach((b) => binary += String.fromCharCode(b));\r\n\r\n return window.btoa(binary);\r\n }\r\n\r\n async getDataFromGraph(u='https://graph.microsoft.com/v1.0/me') {\r\n let url = u;\r\n let headers = new Headers();\r\n const t = await this.getToken();\r\n headers.append('Authorization', `Bearer ${t}`);\r\n let options= {\r\n 'method': 'get',\r\n 'headers': headers,\r\n }\r\n return fetch(url, options)\r\n .then(r => r.json())\r\n .then(r => r)\r\n .catch(er => console.log(er))\r\n }\r\n\r\n async getPhotoFromGraph(u='https://graph.microsoft.com/v1.0/me') {\r\n let url = u;\r\n let headers = new Headers();\r\n const t = await this.getToken();\r\n headers.append('Authorization', `Bearer ${t}`);\r\n let options = {\r\n 'method': 'get',\r\n 'headers': headers,\r\n 'responseType': 'arraybuffer'\r\n }\r\n return fetch(url, options)\r\n .then(r => {\r\n if (r.ok)\r\n return r;\r\n return \"\";\r\n })\r\n .then((response) => {\r\n let link = \"\"\r\n if (response != \"\") {\r\n response.arrayBuffer().then((buffer) => {\r\n var base64Flag = 'data:image/jpeg;base64,';\r\n var imageStr = this.arrayBufferToBase64(buffer);\r\n link = base64Flag + imageStr;\r\n console.log(\"imgA\", link);\r\n this.setState({ imageUrl: link, show: true });\r\n return link;\r\n });\r\n return link;\r\n }\r\n else {\r\n this.setState({ imageUrl: \"/white.png\", show: true });\r\n }\r\n })\r\n .catch(er => console.log(er));\r\n }\r\n\r\n async getUserDetail() {\r\n let that = this;\r\n apiRequest(`/users/${localStorage.getItem(\"user\")}`, \"get\")\r\n .then(response => {\r\n if (response.status == 0 || (response.message && response.message.toLowerCase().includes(\"error\"))) {\r\n Msg =
    User not authorized to access the application.
    \r\n //IF login in with microsoft && no user\r\n if (this.context.accounts.length > 0) {\r\n console.log(\"response\", this.context.accounts);\r\n //call graph\r\n this.getDataFromGraph()\r\n .then(d => {\r\n that.setState(\r\n {\r\n name: this.context.accounts[0].name,\r\n imageUrl: \"\",\r\n email: this.context.accounts[0].username,\r\n userid: this.context.accounts[0].username,\r\n phone: d && d.mobilePhone? d.mobilePhone : \"\",\r\n permissions: \"\",\r\n editName: \"\",\r\n editEmail: \"\",\r\n editPhone: \"\",\r\n show: true,\r\n microsoftOnly: true\r\n },\r\n () =>\r\n this.getPhotoFromGraph('https://graph.microsoft.com/v1.0/me/photo/$value')\r\n .then(r => r)\r\n .catch(er => console.log(er))\r\n );\r\n });\r\n }\r\n else {\r\n that.setState({\r\n name: \"\",\r\n imageUrl: \"\",\r\n email: \"\",\r\n userid: \"\",\r\n phone: \"\",\r\n permissions: \"\",\r\n editName: \"\",\r\n editEmail: \"\",\r\n editPhone: \"\",\r\n show: false,\r\n //microsoftOnly: true\r\n });\r\n }\r\n return;\r\n }\r\n Msg =
    You don't have access to any resources. Please contact System Administrator to request access.
    \r\n that.setState(\r\n {\r\n name: response.data[0].FullName,\r\n imageUrl: response.data[0].ImageURL,\r\n email: response.data[0].Email,\r\n userid: response.data[0].UserId,\r\n phone: response.data[0].PhoneNumber,\r\n permissions: response.data[0].Permissiones,\r\n editName: response.data[0].FullName,\r\n editEmail: response.data[0].Email,\r\n editPhone: response.data[0].PhoneNumber,\r\n microsoftOnly: response.data[0].IsOfficeUser ? true : false,\r\n // show: true\r\n },\r\n () => {\r\n if (response.data[0].IsOfficeUser) {\r\n this.getPhotoFromGraph('https://graph.microsoft.com/v1.0/me/photo/$value')\r\n .then(r => r)\r\n .catch(er => console.log(er))\r\n } else {\r\n that.setState({ show: true });\r\n }\r\n }\r\n );\r\n })\r\n .catch(error => {\r\n that.setState({\r\n name: \"\",\r\n imageUrl: \"\",\r\n email: \"\",\r\n userid: \"\",\r\n phone: \"\",\r\n permissions: \"\",\r\n editName: \"\",\r\n editEmail: \"\",\r\n editPhone: \"\",\r\n show: false\r\n });\r\n });\r\n }\r\n\r\n setPassword() {\r\n const { password, confirmPassword, oldPassword } = this.state;\r\n\r\n if (password == \"\" || confirmPassword == \"\" || oldPassword == \"\") {\r\n this.props.showMessageBox(\"Fields should not be empty\");\r\n return;\r\n }\r\n else {\r\n if (password !== confirmPassword) {\r\n this.props.showMessageBox(\r\n \"Confirm Password should match with New Password\"\r\n );\r\n return;\r\n }\r\n if (!PASSWORD_REGEX.test(password) || !PASSWORD_REGEX.test(confirmPassword)) {\r\n this.props.showMessageBox(PASSWORD_ERROR);\r\n return;\r\n }\r\n }\r\n const data = {\r\n UserId: this.state.userid,\r\n OldPasswordBase64: btoa(oldPassword),\r\n NewPasswordBase64: btoa(password),\r\n NewPasswordConfirmBase64: btoa(confirmPassword)\r\n };\r\n\r\n apiRequest(`/users/${this.state.userid}/password/0`, \"post\", data)\r\n .then(res => {\r\n if (res.status > 0) {\r\n this.props.showMessageBox(\"SUCCESS\");\r\n // Cookies.remove(`owAuth${window.location.port}`);\r\n // localStorage.clear();\r\n // this.props.history.push(\"/\");\r\n } else {\r\n this.props.showMessageBox(res.message);\r\n }\r\n this.setState({\r\n open: false\r\n });\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n\r\n handleEdit() {\r\n const data = {\r\n UserId: this.state.userid,\r\n FullName: this.state.editName,\r\n Email: this.state.editEmail,\r\n PhoneNumber: this.state.editPhone\r\n };\r\n apiRequest(`/users/${this.state.userid}`, \"put\", data)\r\n .then(res => {\r\n if (res.status > 0) {\r\n this.getUserDetail();\r\n this.props.showMessageBox(\"SUCCESS\");\r\n } else {\r\n this.props.showMessageBox(res.message);\r\n }\r\n this.setState({\r\n editDetails: false\r\n });\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n }\r\n\r\n uploadHandler = () => {\r\n const formData = new FormData();\r\n formData.append(\r\n \"myFile\",\r\n this.state.selectedFile,\r\n this.state.selectedFile.name\r\n );\r\n\r\n const tokenJson = Cookies.getJSON(`owAuth${window.location.port}`) || \"\";\r\n const token = tokenJson.token;\r\n var headers = {\r\n Authorization: `Bearer ${token}`,\r\n username: localStorage.getItem(\"user\")\r\n };\r\n axios\r\n .post(window.BASE_URL + `/users/${this.state.userid}/image`, formData, {\r\n headers: headers\r\n })\r\n .then(res => {\r\n console.log(\"resp\", res);\r\n if (res.data.status > 0)\r\n this.props.showMessageBox(\"SUCCESS\");\r\n else\r\n this.props.showMessageBox(res.data.message);\r\n this.getUserDetail();\r\n this.setState({\r\n selectedFile: null\r\n });\r\n })\r\n .catch(err => {\r\n this.props.showMessageBox(\"ERROR\");\r\n });\r\n };\r\n\r\n fileChangedHandler = event => {\r\n this.setState({ selectedFile: event.target.files[0] });\r\n };\r\n\r\n render() {\r\n const { name, email, phone, imageUrl, permissions, microsoftOnly } = this.state;\r\n const { classes } = this.props;\r\n //console.log(\"image\", imageUrl);\r\n return (\r\n \r\n
    \r\n {this.state.show ? (\r\n \r\n \r\n \r\n \r\n {!microsoftOnly &&\r\n
    \r\n this.image.click()}\r\n >\r\n
    Change profile picture
    \r\n
    \r\n
    \r\n }\r\n {this.state.selectedFile ? (\r\n \r\n \r\n {this.state.selectedFile\r\n ? this.state.selectedFile.name\r\n : \"\"}\r\n

    \r\n \r\n Upload!\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n {name}\r\n \r\n\r\n
    Username: {this.state.userid}
    \r\n
    Email Id: {email}
    \r\n
    Phone Number: {phone}
    \r\n {!microsoftOnly &&\r\n
    \r\n this.setState({ open: !this.state.open })}\r\n >\r\n
    CHANGE PASSWORD
    \r\n
    \r\n \r\n }\r\n
    \r\n \r\n {!microsoftOnly &&\r\n \r\n {\r\n this.setState({\r\n editDetails: !this.state.editDetails\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n }\r\n \r\n
    \r\n