{"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","getMaxEntityAccess","access_level","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","CLEAN_DATA","SHOW_MESSAGE","CLEAR_MESSAGE","STORE_ASSETS","STORE_ASSET_MODELS","CLEAN_ASSETS","STORE_ACCESS_LEVELS","HIDE_LOADER","showMessage","message","type","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","sort","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_id","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","assetTypeData","assetModelData","assetManufacturerData","flagData","zoneData","searchStringFromTextBox","searchString","loc","coll","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","collection_id","location_id","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","showTables","oldEntityId","getEntityDetails","accessLevel","stateChange","multiline","locId","TableForOption","rowToDelete","tableName","header","disableAllButtons","_this$props$locationI","resourceId","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","handleCollapse","handleExpand","handleExpand2","handleExpand3","handleMenu","handleMenu2","handleMenu3","handleMenu4","open4","handleMenu5","open5","which","reload","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","class","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","handleClear","bool","isCollectionEnabled","departmentData","meridianBuildings","getLoc","getColl","getData","getDept","floorId","lObj","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","campus","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.3dfcb93c.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 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 CLEAN_DATA = \"CLEAN_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 CLEAN_ASSETS = \"CLEAN_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 cleanData() {\r\n return {\r\n type: \"CLEAN_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 cleanAssets() {\r\n return {\r\n type: \"CLEAN_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(cleanAssets());\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 CLEAN_DATA,\r\n SHOW_MESSAGE,\r\n CLEAR_MESSAGE,\r\n STORE_ASSET_MODELS,\r\n STORE_ASSET_MANUFACTURERS,\r\n CLEAN_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 case STORE_ASSET_MANUFACTURERS:\r\n return Object.assign({}, state, {\r\n assetManufacturer: action.assetManufacturers\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 CLEAN_DATA:\r\n return Object.assign({}, state, {\r\n locations: [],\r\n collections: []\r\n });\r\n\r\n case CLEAN_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\r\n 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 && oldState.dept ? oldState.dept : \"\",\r\n manufacturer: oldState && oldState.manufacturer ? oldState.manufacturer : \"\",\r\n type: oldState && oldState.type ? oldState.type : \"\",\r\n //entity: \"\",\r\n model: oldState && oldState.model ? oldState.model : \"\",\r\n flag: oldState && oldState.flag ? oldState.flag : \"\",\r\n batteryLevel: oldState && oldState.batteryLevel ? oldState.batteryLevel : \"\",\r\n zone: oldState && oldState.zone ? 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 ? sessionStorage.getItem(\"floorID\")\r\n : \"\",\r\n building: sessionStorage.getItem(\"buildingID\")\r\n ? sessionStorage.getItem(\"buildingID\")\r\n : \"\"\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 }\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 const newState = JSON.stringify({\r\n dept: nextState.dept ? nextState.dept : undefined,\r\n batteryLevel: nextState.batteryLevel ? nextState.batteryLevel : undefined,\r\n zone: nextState.zone ? nextState.zone : undefined,\r\n manufacturer: nextState.manufacturer ? nextState.manufacturer : undefined,\r\n model: nextState.model ? nextState.model : undefined,\r\n type: nextState.type ? nextState.type : undefined,\r\n flag: nextState.flag ? nextState.flag : undefined,\r\n //[name]: param ? 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 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);\r\n dObj = dObj == undefined ? null : dObj;\r\n var bObj = batteryLevelOptions.find(e => e.value == this.state.batteryLevel);\r\n bObj = bObj == undefined ? null : bObj;\r\n var mObj = this.state.assetModelData.find(e => e.name == this.state.model);\r\n mObj = mObj == undefined ? null : mObj;\r\n var tObj = this.state.assetTypeData.find(e => e.name == this.state.type);\r\n tObj = tObj == undefined ? null : tObj;\r\n var manObj = this.state.assetManufacturerData.find(e => e.name == this.state.manufacturer);\r\n manObj = manObj == undefined ? null : manObj;\r\n var fObj = this.state.flagData.find(e => e.name == this.state.flag);\r\n fObj = fObj == undefined ? null : fObj;\r\n var zoneObj = this.state.zoneData.find(e => e.name == this.state.zone);\r\n zoneObj = zoneObj == undefined ? null : zoneObj;\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);\r\n dayObj = dayObj == undefined ? null : dayObj;\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, 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 : getAccess().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 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);\r\n manuObj = manuObj == undefined ? null : manuObj;\r\n var mObj = this.state.assetModelData.find(e => e.name == this.state.model);\r\n mObj = mObj == undefined ? null : mObj;\r\n var tObj = this.state.assetTypeData.find(e => e.name == this.state.type);\r\n tObj = tObj == undefined ? null : tObj;\r\n var fObj = this.state.flagData.find(e => e.name == this.state.flag);\r\n fObj = fObj == undefined ? null : fObj;\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);\r\n manuObj = manuObj == undefined ? null : manuObj;\r\n var mObj = this.state.assetModelData.find(e => e.name == this.state.model);\r\n mObj = mObj == undefined ? null : mObj;\r\n var tObj = this.state.assetTypeData.find(e => e.name == this.state.type);\r\n tObj = tObj == undefined ? null : tObj;\r\n var fObj = this.state.flagData.find(e => e.name == this.state.flag);\r\n fObj = fObj == undefined ? null : fObj;\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.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.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 storeEntityId(x.data[0]);\r\n if (THAT.props.params === \"Create\") {\r\n THAT.props.showTables(true, THAT.state.stateModel.EntityId);\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 }) {\r\n if (this.props.params !== 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 //Entity handling start\r\n //if(id !== this.state.stateModel.EntityId && this.props.history.location.pathname.includes(\"Modify\")) {\r\n if (id !== this.state.stateModel.EntityId && params === \"Modify\") {\r\n if (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: 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 (\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.props.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 {!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.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 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.state.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.state.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.state.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 {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 => (\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.state.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, 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 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.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 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 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)\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, 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\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 storelocationId(x.data[0]);\r\n if (THAT.props.params === \"Create\") {\r\n THAT.props.showTables(\r\n THAT,\r\n THAT.state.stateModel.EntityId,\r\n THAT.state.stateModel.LocationId\r\n );\r\n THAT.props.history.push(\"/options/Modify/loc/0\");\r\n }\r\n THAT.props.getLocation(getEntityId());\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({ type: \"STORE_COLLECTIONS\", collections: [] }),\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 collectionId: \"\"\r\n };\r\n\r\n showTable = (arg, accessLevel = 0, entityId = \"\", locationId = \"\") => {\r\n //this.setState({ showTables: arg, entityId, locationId });\r\n this.setState({ showTables: arg, accessLevel, locationId });\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, 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 : \"\",\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: [],\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.props.entity);\r\n storelocationId(0);\r\n const collectionId = this.props.id ? 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 }\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 || getAccess().some(a => a.entity_id === EntityId && a.location_id == id && a.collection_id == null && a.access_level >= 300))\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 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 ? 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 this.setState({\r\n stateModel : {\r\n ...this.state.stateModel,\r\n CollectionId:x.data[0]\r\n }\r\n })\r\n THAT.props.showUsers(\r\n true,\r\n THAT.state.stateModel.EntityId,\r\n THAT.state.stateModel.LocationId,\r\n THAT.state.stateModel.CollectionId\r\n );\r\n if (this.props.location.search.includes(\"type=col\"))\r\n THAT.props.history.push(\r\n `/options/Modify/collection/${x.data[0]}?type=col`\r\n );\r\n else\r\n THAT.props.history.push(\r\n `/options/Modify/collection/${x.data[0]}?type=dept`\r\n );\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 this.props.location.search.includes(\"type=col\") ? \"\" : THAT.state.stateModel.LocationId\r\n );\r\n }\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 //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 }, ()=> { storeEntityId(entity);\r\n this.handleReset();});\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\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\r\n //console.log(\"sidebar - access\", x);\r\n\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 handleExpand = () => {\r\n this.setState({ collapsesidebar: false });\r\n this.props.data(230);\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 handleMenu = () => {\r\n this.setState({\r\n open1: !this.state.open1,\r\n });\r\n };\r\n handleMenu2 = () => {\r\n this.setState({\r\n open2: !this.state.open2,\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()} Hewlett Packard\r\n Enterprise Development LP\r\n

    \r\n
    \r\n \r\n \r\n v3.9\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\nimport 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) => {\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 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 var eObj = this.props.entities.find(e => e.id == this.state.entity);\r\n eObj = eObj == undefined ? null : eObj;\r\n var 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);\r\n lObj = lObj == undefined ? null : lObj;\r\n }\r\n var bObj = this.state.meridianBuildings.find(e => e.id == this.state.building); //to be checked later\r\n bObj = bObj == undefined ? null : bObj;\r\n var 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);\r\n dObj = dObj == undefined ? null : dObj;\r\n }\r\n var 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);\r\n cObj = cObj == undefined ? null : cObj;\r\n }\r\n var fObj = null;\r\n if (sessionStorage.getItem(\"floorID\")) {\r\n fObj = this.state.floorData.find(e => e.floor_id == sessionStorage.getItem(\"floorID\"));\r\n fObj = fObj == undefined ? null : fObj;\r\n }\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