{"version":3,"sources":["components/global/RequireAuth.jsx","api/sputnikApi.js","store/localStorage.js","ducks/auth.js","components/forms/LoginForm.jsx","components/pages/LoginPage.jsx","ducks/devices.js","helpers.js","components/listings/DeviceListing.jsx","components/global/Navbar.jsx","components/pages/HomePage.jsx","ducks/deviceActions.js","ducks/device.js","Sputnik.svg","theme.js","components/pages/DevicePageHeader.jsx","components/categories/wrapCategory.jsx","hooks/useInput.js","components/forms/UploadSoundForm.jsx","components/categories/Poll.jsx","components/categories/Social.jsx","components/categories/Emergency.jsx","components/forms/FlatsGeneral.jsx","components/forms/Switches.jsx","components/forms/SoundSettings.jsx","components/forms/DoorTimer.jsx","hooks/useIsMount.js","components/forms/ResistanceLevels.jsx","components/forms/TimeoutSettings.jsx","components/categories/GeneralSettings.jsx","components/categories/FlatsListing.jsx","components/categories/KeysListing.jsx","components/categories/AccessCodesListing.jsx","components/categories/Firmware.jsx","components/categories/LogsListing.jsx","components/categories/UserLogsListing.jsx","components/categories/StandardSounds.jsx","components/categories/SIP.jsx","components/forms/NetworkSettings.jsx","components/categories/Network.jsx","components/categories/SOS.jsx","components/global/PanelStatus.jsx","components/global/Sync.jsx","components/global/Stickies.jsx","components/global/mindmaphelper.js","components/global/MindMap.js","hooks/useMeasure.js","components/categories/Cluster.jsx","components/categories/ResetSettings.jsx","components/pages/DevicePage.jsx","gql/virtualFlats/mutation.js","gql/virtualFlats/query.js","components/modals/AddVirtualFlatModal.jsx","gql/flats/query.js","gql/flats/mutation.js","components/modals/FlatResistanceModal.jsx","assets/phone.svg","assets/phone_locked.svg","assets/sip.svg","assets/nosip.svg","components/listings/Flat.jsx","components/listings/VirtualFlats.jsx","components/modals/DeleteVirtualFlatModal.jsx","components/listings/CommonFlats.jsx","components/pages/FlatsPage.jsx","components/listings/Key.jsx","components/modals/AddComment.jsx","ducks/keys.js","components/pages/KeysPage.jsx","components/pages/NotFound.jsx","components/listings/Emergency.jsx","components/pages/EmergencyPage.jsx","components/listings/LogEntry.jsx","components/global/GoToTop.jsx","components/pages/LogsPage.jsx","components/listings/AccessCode.jsx","components/pages/AccessCodesPage.jsx","ducks/ble.js","components/pages/BLEKeysPage.jsx","components/global/EmptyLoad.jsx","components/pages/UserLogsPage.jsx","components/App.jsx","serviceWorker.js","ducks/index.js","store/configureStore.js","index.js"],"names":["requireAuth","WrappedComponent","Authentication","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","window","scrollTo","this","props","isLoggedIn","location","pathname","uuid","_jsx","Redirect","to","concat","_objectSpread","Component","connect","_ref","auth","withRouter","BASE_URL","sputnikApi","jwt","url","axios","get","headers","Authorization","requestHeaders","JSON","parse","localStorage","devicesAppState","getAllDevices","_ref2","page","_ref2$query","query","getDeviceInfo","id","factoryReset","getDeviceInfoShadow","updateSIPConfig","_ref3","server","username","login","pass","incoming_call","call_password","dtmf_open_door","params","sip_server","sip_username","sip_login","sip_pass","patch","updateOptionalButtonConfig","_ref4","sip_call_uri","use_main_sip_credentials","optional_button","updateGeneralFlatsInfo","_ref5","firstFlat","lastFlat","infrared","light","collectingKeys","bootKey","extCom","eraseKeys","offset","default_threshold_call","default_threshold_door","timeout_flat_call","timeout_flat_speak","first_flat","last_flat","collecting_keys","boot_key","ext_com","erase_keys","flat_offset","updateDeviceSounds","_ref6","soundType","startTime","endTime","file","formData","FormData","append","post","updateStandartSounds","_ref7","soundId","getDeviceLogs","_ref8","qty","getDeviceUserLogs","_ref9","openDoor","_ref10","duration","openSecondDoor","_ref11","startEmergency","_ref12","type","cycles","unlockedTime","_ref12$emergency_id","emergency_id","resetIntercom","uploadSound","_ref13","title","uploadFirmware","_ref14","firmwareType","updateSoundConfig","_ref15","sound_config","_objectWithoutProperties","_excluded","updateNetworkInfo","_ref16","network_config","_excluded2","updateTimeZone","_ref17","zone","time_zone","updateDoorOpenTimer","_ref18","door_open_time_general","door_open_time_social","door_open_time_emergency","door_open_time_bt","lock_no_nc","external_interface_door_ctrl","addKey","_ref19","removeKey","_ref20","hex","delete","removeAllKeys","intercomUuid","resetDeviceSounds","_ref21","getDeviceKeysCount","_ref22","deviceUuid","resetDeviceCamera","_ref23","downloadKeys","_ref24","method","responseType","then","response","URL","createObjectURL","Blob","data","link","document","createElement","href","setAttribute","body","appendChild","click","getDeviceAccessCodes","_ref25","addAccessCode","_ref26","expTime","description","key_value","exp_time","deleteAccessCode","_ref27","addBLEKey","_ref28","ble_key","removeBLEKey","_ref29","getNetInfo","_ref30","getURLInfo","_ref31","lineTest","_ref32","flat","toggleMode","deleteAllFlats","deleteAllAccessCodes","updateSecuredKeys","_ref33","fetchKeys","_ref34","updateKeyComment","_ref35","key_data","createKey","_ref36","console","log","updateCodeComment","_ref37","uploadKeysButch","_ref38","uploadCodesButch","_ref39","downloadCodes","_ref40","saveToken","serializedState","stringify","setItem","err","validateTokenWatcher","_marked2","_regeneratorRuntime","mark","authSaga","VALIDATE_TOKEN_REQUEST","VALIDATE_TOKEN_SUCCESS","VALIDATE_TOKEN_FAILURE","LOG_OUT","CLEAR_AUTH_STATUS","initialState","validateTokenWorker","payload","_callee","wrap","_context","prev","next","call","Api","validateToken","put","t0","stop","_context2","takeLatest","_marked","_context3","all","fork","LoginForm","_this","_len","length","args","Array","_key","state","onChange","e","setState","_defineProperty","target","name","onClick","_jsxs","Form","size","onSubmit","children","Field","Input","placeholder","action","Button","color","nextProps","prevState","error","toastr","setTimeout","clearAuthStatus","Container","Grid","style","height","Row","Column","verticalAlign","devicesSaga","GET_ALL_DEVICES_REQUEST","GET_ALL_DEVICES_SUCCESS","GET_ALL_DEVICES_FAILURE","devices","fetched","getAllDevicesWorker","_devices","totalPages","sent","intercoms","total_pages","message","formatDeviceId","motherboardId","undefined","substr","substring","chunk","arr","chunkSize","cache","tmp","_toConsumableArray","push","splice","DeviceListing","isOnline","serialNumber","_ref$motherboardId","isFirst","idx","List","Item","as","Link","padding","background","Icon","Content","Header","toString","Description","device","shadowDevice","logOut","match","Segment","inverted","margin","textTransform","borderRadius","posisition","zIndex","Menu","pointing","secondary","display","NavLink","exact","Fragment","icon","motherboard_id","path","preventDefault","info","backgroundColor","marginLeft","HomePage","activePage","devicesRef","handleKeyDown","which","keyCode","ReactDOM","findDOMNode","handlePaginationChange","handleSearch","debounce","addEventListener","removeEventListener","_this2","_this$state","React","Navbar","marginTop","fluid","autoFocus","fontSize","marginBottom","flexDirection","position","fetching","width","Loader","active","relaxed","selection","map","i","device_id","serial_number","ref","n","is_online","centered","Pagination","onPageChange","deviceActionsSagas","UPDATE_GENERAL_FLAT_INFO_REQUEST","UPDATE_GENERAL_FLAT_INFO_SUCCESS","UPDATE_GENERAL_FLAT_INFO_FAILURE","OPEN_DOOR_REQUEST","OPEN_DOOR_SUCCESS","OPEN_DOOR_FAILURE","OPEN_SECOND_DOOR_REQUEST","UPDATE_SIP_CONFIG_REQUEST","UPDATE_SIP_CONFIG_SUCCESS","UPDATE_SIP_CONFIG_FAILURE","UPDATE_OPTIONAL_BUTTON_REQUEST","UPLOAD_SOUND_REQUEST","UPLOAD_SOUND_SUCCESS","UPLOAD_SOUND_FAILURE","UPDATE_SOUND_CONFIG_REQUEST","UPDATE_SOUND_CONFIG_SUCCESS","UPDATE_SOUND_CONFIG_FAILURE","UPLOAD_FIRMWARE_REQUEST","UPLOAD_FIRMWARE_SUCCESS","UPLOAD_FIRMWARE_FAILURE","ADD_KEY_REQUEST","ADD_KEY_SUCCESS","ADD_KEY_FAILURE","REMOVE_KEY_REQUEST","REMOVE_KEY_SUCCESS","REMOVE_KEY_FAILURE","UPDATE_DEVICE_SOUND_REQUEST","UPDATE_DEVICE_SOUND_SUCCESS","UPDATE_DEVICE_SOUND_FAILURE","START_EMERGENCY_REQUEST","START_EMERGENCY_SUCCESS","START_EMERGENCY_FAILURE","RESET_INTERCOM_REQUEST","RESET_INTERCOM_SUCCESS","RESET_INTERCOM_FAILURE","RESET_DEVICE_SOUNDS_REQUEST","RESET_DEVICE_SOUNDS_SUCCESS","RESET_DEVICE_SOUNDS_FAILURE","UPDATE_STANDART_SOUND_REQUEST","UPDATE_STANDART_SOUND_SUCCESS","UPDATE_STANDART_SOUND_FAILURE","UPDATE_NETWORK_INFO_REQUEST","UPDATE_NETWORK_INFO_SUCCESS","UPDATE_NETWORK_INFO_FAILURE","UPDATE_DOOR_OPEN_TIMER_REQUEST","UPDATE_DOOR_OPEN_TIMER_SUCCESS","UPDATE_DOOR_OPEN_TIMER_FAILURE","GET_DEVICE_KEYS_COUNT_REQUEST","GET_DEVICE_KEYS_COUNT_SUCCESS","GET_DEVICE_KEYS_COUNT_FAILURE","DOWNLOAD_KEYS_REQUEST","RESET_DEVICE_CAMERA_REQUEST","RESET_DEVICE_CAMERA_SUCCESS","RESET_DEVICE_CAMERA_FAILURE","ADD_ACCESS_CODE_REQUEST","ADD_ACCESS_CODE_SUCCESS","ADD_ACCESS_CODE_FAILURE","DELETE_ACCESS_CODE_REQUEST","DELETE_ACCESS_CODE_SUCCESS","DELETE_ACCESS_CODE_FAILURE","FACTORY_RESET_REQUEST","FACTORY_RESET_SUCCESS","FACTORY_RESET_FAILURE","GET_DEVICE_ACCESS_CODES_REQUEST","GET_DEVICE_ACCESS_CODES_SUCCESS","GET_DEVICE_ACCESS_CODES_FAILURE","GET_NET_INFO_REQUEST","GET_NET_INFO_SUCCESS","GET_NET_INFO_FAILURE","GET_URL_INFO_REQUEST","GET_URL_INFO_SUCCESS","GET_URL_INFO_FAILURE","LINE_TEST_REQUEST","LINE_TEST_SUCCESS","LINE_TEST_FAILURE","TOGGLE_MODE_REQUEST","TOGGLE_MODE_SUCCESS","TOGGLE_MODE_FAILURE","DELETE_ALL_FLATS_REQUEST","DELETE_ALL_FLATS_SUCCESS","DELETE_ALL_FLATS_FAILURE","UPDATE_CODE_COMMENT_REQUEST","UPDATE_CODE_COMMENT_SUCCESS","UPDATE_CODE_COMMENT_FAILURE","UPLOAD_CODES_BUTCH_REQUEST","UPLOAD_CODES_BUTCH_SUCCESS","UPLOAD_CODES_BUTCH_FAILURE","DOWNLOAD_CODES_REQUEST","DOWNLOAD_CODES_LOADER_REQUEST","DOWNLOAD_CODES_LOADER_SUCCESS","DOWNLOAD_KEYS_LOADER_REQUEST","DOWNLOAD_KEYS_LOADER_SUCCESS","DELETE_ALL_ACCESS_CODES_REQUEST","DELETE_ALL_ACCESS_CODES_SUCCESS","DELETE_ALL_ACCESS_CODES_FAILURE","UPDATE_TIMEZONE_REQUEST","UPDATE_TIMEZONE_SUCCESS","UPDATE_TIMEZONE_FAILURE","UPLOADING_CODES_REQUEST","UPLOADING_CODES_SUCCESS","CLEAR_DEVICE_STATUS","success","upLoadingCodes","clearDeviceStatus","updateTimeZoneWorker","abrupt","Promise","resolve","reject","factoryResetWorker","_callee2","deleteAllAccessCodesWorker","_callee3","deleteAccessCodeWorker","_callee4","_context4","addAccessCodeWorker","_callee5","_context5","getDeviceAccessCodesWorker","_callee6","_yield$call","_context6","accessCodes","resetDeviceSoundsWorker","_callee7","_context7","updateGeneralFlatsInfoWorker","_callee8","_context8","getNetInfoWorker","_callee9","_context9","logsQty","getURLInfoWorker","_callee10","_context10","getDeviceKeysCountWorker","_callee11","_context11","updateSoundConfigWorker","_callee12","_context12","updateNetworkInfoWorker","_callee13","_context13","updateDoorOpenTimerWorker","_callee14","_context14","openDoorWorker","_callee15","_context15","openSecondDoorWorker","_callee16","_context16","resetIntercomWorker","_callee17","_context17","startEmergencyWorker","_callee18","_context18","updateStandartSoundWorker","_callee19","_context19","updateSIPConfigWorker","_callee20","_context20","updateOptionalButtonConfigWorker","_callee21","_context21","uploadSoundWorker","_callee22","errors","_context22","uploadFirmwareWorker","_callee23","_context23","addKeyWorker","_callee24","_context24","removeKeyWorker","_callee25","_context25","updateDeviceSoundWorker","_callee26","_context26","downloadKeysWorker","_callee27","_context27","resetDeviceCameraWorker","_callee28","_context28","lineTestWorker","_callee30","_context30","com_line_voltage","status","toggleModeWorker","_callee31","_context31","deleteAllFlatsWorker","_callee32","_context32","updateCodeCommentWorker","_callee33","_context33","uploadCodesButchWorker","_callee34","_context34","downloadCodesWorker","_callee35","_context35","_context36","getDeviceInfoShadowWorker","watchGetDeviceInfo","watchClearCurrentDeviceInfo","_marked3","watchGetDeviceLogs","_marked4","watchGetDeviceUserLogs","_marked5","watchGetDeviceInfoShadow","_marked6","deviceSagas","GET_DEVICE_INFO_REQUEST","GET_DEVICE_INFO_SUCCESS","GET_DEVICE_INFO_FAILURE","GET_DEVICE_LOGS_REQUEST","GET_DEVICE_LOGS_SUCCESS","GET_DEVICE_LOGS_FAILURE","GET_DEVICE_USER_LOGS_REQUEST","GET_DEVICE_USER_LOGS_SUCCESS","GET_DEVICE_USER_LOGS_FAILURE","GET_DEVICE_INFO_SHADOW_REQUEST","GET_DEVICE_INFO_SHADOW_SUCCESS","GET_DEVICE_INFO_SHADOW_FAILURE","CLEAR_CURRENT_DEVICE_INFO_REQUEST","CLEAR_CURRENT_DEVICE_INFO","currentDevice","logs","isFetching","userLogs","sounds","history","clearCurrentDeviceInfo","getDeviceInfoWorker","clearCurrentDeviceInfoWorker","getDeviceLogsWorker","_device","getDeviceUserLogsWorker","_device2","spawn","_path","lightRed","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","amber","_extends","Object","assign","bind","source","prototype","hasOwnProperty","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgSputnik","svgRef","titleId","viewBox","fill","xmlns","d","ForwardRef","HeaderStyled","styled","div","_templateObject","_taggedTemplateLiteral","p","ActionsWrapper","_templateObject2","Wrapper","_templateObject3","_templateObject4","timeOptions","text","DevicePageHeader","_currentDevice$video","onOpen","onSecondDoorOpen","isOpen","onResetIntercom","onCopyStreamClick","onResetDeviceCamera","doorDuration","handleDoorDurationChange","onCopyDeviceSerial","secondDoorOpen","overflow","className","video","stream","embed","allow","src","gridArea","alignItems","SputnikIcon","marginRight","cursor","hardware_version","software_version","ble_version","rtsp","circular","basic","labelPosition","Group","disabled","borderTopRightRadius","borderBottomRightRadius","Dropdown","trigger","borderTopLeftRadius","borderBottomLeftRadius","border","options","wrapCategory","StyledWrapper","useInput","initialValue","cb","_useState","useState","_useState2","_slicedToArray","setValue","reset","event","styles","input","form","gridTemplateColumns","gridGap","StyledForm","UploadSoundForm","startDate","start_time","Date","endDate","finish_time","acceptedFile","_useInput","bindStartTime","_useInput2","bindEndTime","Table","HeaderCell","Body","Cell","Dropzone","accept","multiple","onDrop","accepted","rejected","rejectedFile","fileName","getInputProps","getRootProps","whiteSpace","textOverflow","Flatpickr","time_24hr","locale","Russian","minDate","date","Footer","fullWidth","colSpan","_startTime$split","split","_startTime$split2","startHours","startMinutes","start","setHours","_endTime$split","_endTime$split2","endHours","endMinutes","end","Poll","handleSubmit","onUpdateSound","toISOString","Accordion","Title","activeIndex","index","handleClick","Social","formWrapper","justifyContent","formField","flex","Emergency","popup","val","onEmergency","handleChange","selectedSong","handleUpdate","min","Popup","floated","content","maxWidth","on","open","deviceId","comOptions","FlatsGeneral","flats_first","flats_last","modified","modifiedMode","isIP","confirmModalOpen","element","handleModalOpen","_this$setState","onExtComChange","handleModalClose","_this$props","Modal","onClose","Actions","Checkbox","label","checked","_Fragment","defaultValue","lineHeight","_device$shadowDevice","properties","base","mode","Switches","light_status","IR","infrared_status","modifiedCollectingKeys","onLightToggle","onIRToggle","ignoreModifiedCollectingKeysCheck","toggle","SliderWithTooltip","createSliderWithTooltip","Slider","center","Range","SoundSettings","mainVolume","parseInt","general","micLevel","speak_handset_tx","intercomSpeakerVolume","speak_loudspeaker","sipVolume","speak_sip","prop","trackStyle","max","step","DoorTimer","social_message","emergency_message","bluetooth","door1","door2","updateDoorOpenTimers","magnetControl","result","filter","el","lockTypeManager","reverseLockTypeManager","_this$setState2","_device$shadowDevice2","useIsMount","isMountRef","useRef","useEffect","current","SemanticInput","schema","Yup","shape","ResistanceLevels","_ref$style","dispatch","useDispatch","useSelector","baseConfig","showDefault","setShowDefault","handleReset","Formik","initialValues","parseFloat","toFixed","enableReinitialize","validationSchema","values","FormikForm","Label","TimeoutSettings","isMount","setModified","bindSpeak","flatSpeak","bindCall","flatCall","Flex","Flats","Firmware","bluetoothFirmware","onUpdate","selectedFirmware","slider","minWidth","Message","negative","actionsOptions","StandardSounds","selectedAction","handleActionChange","handleResetSounds","_this$state2","labeled","search","button","textAlign","SIP","isVisible","modifiedPass","test","newConfig","widths","onFocus","NetworkSettings","staticIp","network_static_ip","gateway","network_gateway","subnet","network_subnet","dns","network_dns","mac","network_mac","staticIpValid","gatewayValid","subnetValid","dnsValid","entries","reduce","acc","entry","validate","RegExp","handleBlur","_this$setState5","handleUnCheck","isStatic","onBlur","submit","Network","SOS","propNames","flats_config","sip_credentials","social","poll","emergency","standard_sounds","keys_config","digital_keys_config","UnsyncWrapper","SyncStatus","_React$Component","unsync","updateDeviceInfo","_asyncToGenerator","checkSyncStatus","_this$props2","currentProps","checksum","shadowProps","ind","_updateIntervalId","setInterval","clearInterval","Subheader","_ref2$device","Sticky","PanelStatus","Sync","MindMap","top","left","bottom","right","identity","enterNode","node","attr","updateNode","select","exitNode","connector","elbow","chart","each","root","w","h","container","d3","vis","graphRoot","__groups","x0","y0","tree","update","transition","l","nodesLeft","depth","nodes","reverse","nodesRight","pop","forEach","y","parent","selectAll","nodeEnter","enter","nodeUpdate","x","nodeExit","exit","remove","links","insert","o","_","hy","loadFreeMind","callback","xml","js","xmlToJson","obj","nodeType","attributes","j","attribute","item","nodeName","nodeValue","hasChildNodes","childNodes","old","parseData","direction","child","dir","toLowerCase","POSITION","_useMeasure","bounds","set","_useState3","ResizeObserver","contentRect","observer","useCallback","disconnect","observe","useMeasure","_useMeasure2","wrapperRef","mapRef","useHistory","setLinks","_useState4","setNodes","autoBox","_this$getBBox","getBBox","parents","Boolean","mapLinks","mapNodes","simulation","initMindMap","svg","linkArc","dx","dy","dr","Math","sqrt","transform","circle","dotSize","alphaTarget","restart","fx","fy","force","distance","strength","Cluster","ResetSettings","handleOpenModal","handleFactoryReset","DevicePageStyled","copyToClipboard","notification","execCommand","removeChild","DevicePage","titleProps","newIndex","onStartEmergency","updateSounds","copyStreamUrl","copyDeviceSerial","songOptions","GeneralSettings","FlatsListing","KeysListing","AccessCodesListing","LogsListing","UserLogsListing","Stickies","deviceActions","ADD_VIRTUAL_FLAT","gql","DELETE_VIRTUAL_FLAT","GET_VIRTUAL_FLATS","require","FormField","MyForm","sipOptions","redirection","sound_vol","alias","num","blocked","nullable","AddVirtualFlatModal","useParams","_useMutation","useMutation","refetchQueries","variables","_useMutation2","createFlats","_useMutation2$","loading","intercomID","flats","flatNum","parameters","analogSettings","Number","sipAccountContact","sip_contact","soundVol","_x","setFieldValue","gap","Select","option","vol","borderTop","paddingTop","GET_COMMON_FLATS","UPDATE_COMMON_FLATS","UPDATE_FLAT","thresholdCall","thresholdDoor","FlatResistanceModal","_flat$analogSettings","_flat$analogSettings2","_flat$analogSettings3","_flat$analogSettings4","isVirtual","reloadRequest","updateFlats","sipContact","_path2","SvgPhone","SvgPhoneLocked","SvgSip","_g","_defs","SvgNosip","clipPath","Flat","_props$flat","_props$flat$analogSet","_props$flat2","_props$flat2$analogSe","pendingLineTest","redirectionBool","volume","analogLineBlock","warning","handleDeleteFlat","collapsing","stopPropagation","PhoneBlocked","Phone","Sip","NoSip","RIEInput","change","propName","paddingLeft","paddingRight","updateFlatInfo","analog_settings","VirtualFlats","_data$intercom","_data$intercom$config","_data$intercom$config2","_data$intercom$config3","_data$intercom$config4","ID","modal","useQuery","handleUpdateFlatInfo","_flat$analog_settings","selectable","intercom","configShadow","newFlats","edges","_data$intercom2","_data$intercom2$confi","_data$intercom3","_data$intercom3$confi","modalTrigger","required","DeleteVirtualFlatModal","deleteFlat","CommonFlats","FlatsPage","addVirtualFlatModal","flatModalOpen","deleteVirtualFlatModal","toggleAddVirtualFlatModal","toggleDeleteVirtualModal","heigth","_state$device","_state$device$shadowD","ListItemStyle","Key","openCommentModal","_React$useState","_React$useState2","TextArea","AddCommentModal","onReset","keysSagas","UPDATE_SECURED_KEYS_REQUEST","UPDATE_SECURED_KEYS_SUCCESS","UPDATE_SECURED_KEYS_FAILURE","UPDATE_KEY_COMMENT_REQUEST","UPDATE_KEY_COMMENT_SUCCESS","UPDATE_KEY_COMMENT_FAILURE","FETCH_KEYS_REQUEST","FETCH_KEYS_SUCCESS","FETCH_KEYS_FAILURE","CREATE_KEY_REQUEST","CREATE_KEY_SUCCESS","CREATE_KEY_FAILURE","UPLOAD_BUTCH_REQUEST","UPLOAD_BUTCH_SUCCESS","UPLOAD_BUTCH_FAILURE","UPLOADING_KEYS_REQUEST","UPLOADING_KEYS_SUCCESS","DELETE_ALL_KEYS_REQUEST","DELETE_ALL_KEYS_SUCCESS","DELETE_ALL_KEYS_FAILURE","uploadButch","updateSecuredKeysWorker","updateKeyCommentWorker","fetchKeysWorker","deleteAllKeysWorker","createKeyWorker","uploadButchWorker","StyledLoader","KeysPage","_this$props$securedKe","_this$props$securedKe2","_this$props$securedKe3","newKey","addKeyCommentModal","secured_keys_mode","securedKeysMode","aes_key","securedKeysData","sector_number","block_number","pageLimit","confirmDeleteAll","onAdd","deleteAllKeys","prevProps","snapshot","_this$props$securedKe4","_this$props$securedKe5","_this$props$securedKe6","currentKeys","_this$props3","_this$state$addKeyCom","secured_keys_base_data","viewData","minHeight","loadingKeys","inline","Card","updateSecuredKeysRequest","upLoadingKeys","paddingBottom","ceil","ModalActions","_keys$list","_device$shadowDevice$","_device$shadowDevice$2","_device$shadowDevice3","_device$shadowDevice4","list","NotFound","EmergencyPage","sound","hljs","json","modules","api","actions","open_door","online","offline","intercom_log","update_config","update_flats","update_user_sounds","auth_num","LogEntry","date_time","toLocaleString","codeRef","module","scrollY","GoToTop","LogsPage","showButtons","zoneValue","changeZoneValue","handleUpdateTimeZone","nextPage","prevPage","isArray","collection","EmptyLoad","tabIndex","timeZone","Code","AccessCodesPage","keyValue","handleDeleteClick","deleteAllCodes","_this$props$accessCod","_this$props4","_this$props$accessCod2","_this$props$accessCod3","_this$state$addCommen","slice","loadingCodes","MaskedInput","mask","divided","AccessCode","addCommentModal","bleKeysSagas","ADD_BLE_KEY_REQUEST","ADD_BLE_KEY_SUCCESS","REMOVE_BLE_KEY_REQUEST","REMOVE_BLE_KEY_SUCCESS","addBLEKeySuccess","addBLEKeyFailure","removeBLEKeySuccess","removeBLEKeyFailure","removeBLEKeyWorker","addBLEKeyWorker","regEx","keyNoMask","replace","addBLEKeyRequest","removeBLEKeyRequest","ble_keys","UserLogsPage","Switch","Route","component","LoginPage","RequireAuth","BLEKeysPage","isLocalhost","hostname","registerValidSW","swUrl","showUpdateToast","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","waitingServiceWorker","waiting","handleRefresh","postMessage","reload","onstatechange","controller","catch","rootSaga","combineReducers","clear","pages_count","ble","sagaMiddleware","createSagaMiddleware","configureStore","persistedState","getItem","loadState","middleware","store","createStore","rootReducer","composeWithDevTools","applyMiddleware","run","errorLink","onError","graphQLErrors","networkError","locations","httpLink","createHttpLink","uri","authLink","setContext","token","client","ApolloClient","from","InMemoryCache","defaultOptions","fetchPolicy","Root","Provider","ApolloProvider","BrowserRouter","App","ReduxToastr","preventDuplicates","progressBar","render","getElementById","process","origin","fetch","ready","unregister","checkValidServiceWorker","registerServiceWorker","onToastrClick"],"mappings":"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","file":"static/js/main.8ec7e383.chunk.js","sourcesContent":["import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { Redirect, withRouter } from 'react-router-dom'\n\nexport default function requireAuth(WrappedComponent) {\n class Authentication extends Component {\n componentDidMount() {\n window.scrollTo(0, 0)\n }\n\n render() {\n if (!this.props.isLoggedIn) {\n return \n }\n if (this.props.location.pathname === '/' && this.props.uuid) {\n return \n }\n\n return \n }\n }\n\n function mapStateToProps({ auth }) {\n return { isLoggedIn: auth.isLoggedIn, uuid: auth.uuid }\n }\n\n return connect(mapStateToProps)(withRouter(Authentication))\n}\n","import axios from 'axios'\nconst BASE_URL = 'https://api.sputnik.systems/api/v1/'\n\nexport default class sputnikApi {\n static requestHeaders = () => {\n const jwt = JSON.parse(localStorage.devicesAppState).auth.jwt\n return { Authorization: `Bearer ${jwt}` }\n }\n\n static validateToken({ jwt }) {\n const url = `${BASE_URL}check_auth/`\n return axios.get(url, {\n headers: { Authorization: `Bearer ${jwt}` },\n })\n }\n\n static getAllDevices = ({ page, query = '' }) => {\n const url = `${BASE_URL}account/devices/intercoms/?search=${query}&page=${page}`\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static getDeviceInfo = (id) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}` // delte hardcode\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static factoryReset = (uuid) => {\n const url = `${BASE_URL}account/devices/intercoms/${uuid}/factory_reset`\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static getDeviceInfoShadow = (id) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}/shadow` // delte hardcode\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static updateSIPConfig = ({\n id,\n server,\n username,\n login,\n pass,\n incoming_call,\n call_password,\n dtmf_open_door,\n }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}`\n\n let params = {\n sip_server: server,\n sip_username: username,\n sip_login: login,\n incoming_call: incoming_call,\n call_password: call_password || '',\n dtmf_open_door: dtmf_open_door || '',\n }\n\n if (pass) {\n params.sip_pass = pass\n }\n\n return axios.patch(url, params, { headers: sputnikApi.requestHeaders() })\n }\n\n static updateOptionalButtonConfig = ({\n id,\n sip_server,\n sip_call_uri,\n sip_pass,\n sip_login,\n sip_username,\n use_main_sip_credentials,\n }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}`\n\n let params = {\n optional_button: {\n sip_server,\n sip_call_uri,\n sip_login,\n sip_username,\n use_main_sip_credentials,\n },\n }\n if (sip_pass) {\n params.optional_button.sip_pass = sip_pass\n }\n\n return axios.patch(url, params, { headers: sputnikApi.requestHeaders() })\n }\n\n static updateGeneralFlatsInfo = ({\n id,\n firstFlat,\n lastFlat,\n infrared,\n light,\n collectingKeys,\n bootKey,\n extCom,\n eraseKeys,\n offset,\n default_threshold_call,\n default_threshold_door,\n timeout_flat_call,\n timeout_flat_speak,\n }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}`\n return axios.patch(\n url,\n {\n first_flat: firstFlat,\n last_flat: lastFlat,\n collecting_keys: collectingKeys,\n infrared: infrared,\n light: light,\n boot_key: bootKey,\n ext_com: extCom,\n erase_keys: eraseKeys,\n flat_offset: offset,\n default_threshold_call,\n default_threshold_door,\n timeout_flat_call,\n timeout_flat_speak,\n },\n { headers: sputnikApi.requestHeaders() }\n )\n }\n\n static updateDeviceSounds = ({ id, soundType, startTime, endTime, file }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}/${soundType}`\n let formData = new FormData()\n\n formData.append('start_date', startTime)\n formData.append('end_date', endTime)\n formData.append('file', file)\n\n return axios.post(url, formData, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static updateStandartSounds = ({ id, soundId, file }) => {\n let formData = new FormData()\n formData.append('file', file)\n formData.append('id', soundId)\n const url = `${BASE_URL}account/devices/intercoms/${id}/standard_sounds`\n return axios.post(url, formData, { headers: sputnikApi.requestHeaders() })\n }\n\n static getDeviceLogs = ({ id, qty, page }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}/logs?limit=${qty}&page=${page}`\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static getDeviceUserLogs = ({ id, qty, page }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}/user_logs?limit=${qty}&page=${page}`\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static openDoor = ({ id, duration }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}/open_door?duration=${duration}`\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static openSecondDoor = ({ id, duration }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}/open_second_door?duration=${duration}`\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static startEmergency = ({\n id,\n file,\n type,\n cycles,\n unlockedTime,\n emergency_id = 1,\n }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}/emergency`\n let formData = new FormData()\n\n switch (type) {\n case 'download_sound':\n formData.append('file', file)\n formData.append('type', 'download_sound')\n break\n default:\n if (file) {\n formData.append('file', file)\n }\n formData.append('type', 'start_emergency')\n break\n }\n formData.append('unlock', unlockedTime)\n formData.append('duration', cycles)\n formData.append('emergency_id', emergency_id)\n\n return axios.post(url, formData, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static resetIntercom = (id) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}/reset`\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static uploadSound = ({ title, file }) => {\n const url = `${BASE_URL}account/sounds/`\n let formData = new FormData()\n formData.append('file', file)\n formData.append('title', title)\n return axios.post(url, formData, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static uploadFirmware = ({ uuid, file, firmwareType }) => {\n let url = `${BASE_URL}account/devices/intercoms/${uuid}/upgrade`\n\n if (firmwareType === 'bluetooth') {\n url = `${BASE_URL}account/devices/intercoms/${uuid}/upload_bt_firmware`\n }\n\n let formData = new FormData()\n formData.append('file', file)\n return axios.patch(url, formData, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n\n static updateSoundConfig = ({ uuid, ...sound_config }) => {\n const url = `${BASE_URL}account/devices/intercoms/${uuid}/change_sound_config`\n return axios.patch(\n url,\n { sound_config },\n { headers: sputnikApi.requestHeaders() }\n )\n }\n\n static updateNetworkInfo = ({ uuid, ...network_config }) => {\n const url = `${BASE_URL}account/devices/intercoms/${uuid}`\n return axios.patch(url, network_config, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static updateTimeZone = ({ uuid, zone }) => {\n const url = `${BASE_URL}account/devices/intercoms/${uuid}`\n return axios.patch(\n url,\n { time_zone: zone },\n { headers: sputnikApi.requestHeaders() }\n )\n }\n\n static updateDoorOpenTimer = ({\n id,\n door_open_time_general,\n door_open_time_social,\n door_open_time_emergency,\n door_open_time_bt,\n lock_no_nc,\n external_interface_door_ctrl,\n }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}`\n return axios.patch(\n url,\n {\n door_open_time_general,\n door_open_time_social,\n door_open_time_emergency,\n door_open_time_bt,\n lock_no_nc,\n external_interface_door_ctrl,\n },\n { headers: sputnikApi.requestHeaders() }\n )\n }\n\n static addKey = ({ uuid, key, file }) => {\n const url = `${BASE_URL}account/devices/intercoms/${uuid}/keys`\n\n let formData = new FormData()\n\n if (file) {\n formData.append('file', file)\n } else {\n formData.append('key', key)\n }\n\n return axios.post(url, formData, { headers: sputnikApi.requestHeaders() })\n }\n\n static removeKey = ({ uuid, hex }) => {\n const url = `${BASE_URL}account/devices/intercoms/${uuid}/keys/${hex}`\n return axios.delete(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static removeAllKeys = (intercomUuid) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/keys/delete_all`\n return axios.patch(\n url,\n {},\n {\n headers: sputnikApi.requestHeaders(),\n }\n )\n }\n\n static resetDeviceSounds = ({ id }) => {\n const url = `${BASE_URL}account/devices/intercoms/${id}/reset_standard_sounds`\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static getDeviceKeysCount = ({ deviceUuid }) => {\n const url = `${BASE_URL}account/devices/intercoms/${deviceUuid}/keys/count`\n\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static resetDeviceCamera = ({ uuid }) => {\n const url = `${BASE_URL}account/devices/intercoms/${uuid}/reset_camera`\n\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static downloadKeys = ({ uuid }) => {\n const url = `${BASE_URL}account/devices/intercoms/${uuid}/keys/download`\n // 'Content-Disposition: attachment;'\n return axios({\n url,\n method: 'GET',\n responseType: 'blob',\n headers: sputnikApi.requestHeaders(),\n }).then((response) => {\n const url = window.URL.createObjectURL(new Blob([response.data]))\n const link = document.createElement('a')\n link.href = url\n link.setAttribute('download', 'keys.csv') //or any other extension\n document.body.appendChild(link)\n link.click()\n })\n }\n\n static getDeviceAccessCodes = ({ deviceUuid }) => {\n const url = `${BASE_URL}account/devices/intercoms/${deviceUuid}/digital_keys`\n\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static addAccessCode = ({ deviceUuid, key, expTime, description }) => {\n const url = `${BASE_URL}account/devices/intercoms/${deviceUuid}/digital_keys`\n\n return axios.post(\n url,\n { key_value: key, exp_time: expTime, description },\n {\n headers: sputnikApi.requestHeaders(),\n }\n )\n }\n\n static deleteAccessCode = ({ deviceUuid, key }) => {\n const url = `${BASE_URL}account/devices/intercoms/${deviceUuid}/digital_keys/${key}`\n\n return axios.delete(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static addBLEKey = ({ intercomUuid, key }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/ble_keys`\n\n return axios.post(\n url,\n {\n ble_key: key,\n },\n {\n headers: sputnikApi.requestHeaders(),\n }\n )\n }\n\n static removeBLEKey = ({ intercomUuid, key }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/ble_keys/${key}`\n\n return axios.delete(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static getNetInfo = ({ deviceUuid }) => {\n const url = `${BASE_URL}account/devices/intercoms/${deviceUuid}/net_info`\n\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static getURLInfo = ({ deviceUuid }) => {\n const url = `${BASE_URL}account/devices/intercoms/${deviceUuid}/url_info`\n\n return axios.get(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static lineTest = ({ deviceUuid, flat }) => {\n const url = `${BASE_URL}account/devices/intercoms/${deviceUuid}/line_test\n`\n return axios.post(\n url,\n {\n flat,\n },\n {\n headers: sputnikApi.requestHeaders(),\n }\n )\n }\n\n static toggleMode = (deviceUuid) => {\n const url = `${BASE_URL}account/devices/intercoms/${deviceUuid}/toggle_mode`\n\n return axios.patch(\n url,\n {},\n {\n headers: sputnikApi.requestHeaders(),\n }\n )\n }\n\n\n static deleteAllFlats = (deviceUuid) => {\n const url = `${BASE_URL}account/devices/intercoms/${deviceUuid}/delete_all_flats`\n\n return axios.patch(\n url,\n {},\n {\n headers: sputnikApi.requestHeaders(),\n }\n )\n }\n\n static deleteAllAccessCodes = (intercomUuid) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/digital_keys/destroy_all`\n return axios.delete(url, {\n headers: sputnikApi.requestHeaders(),\n })\n }\n\n static updateSecuredKeys = ({ intercomUuid, params }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}`\n\n return axios.patch(url, params, { headers: sputnikApi.requestHeaders() })\n }\n\n static fetchKeys = ({ intercomUuid, params }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/keys?page=${\n params?.page || 1\n }`\n\n return axios.get(url, { headers: sputnikApi.requestHeaders() })\n }\n\n static updateKeyComment = ({ intercomUuid, params }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/keys/${params.key_data}`\n\n return axios.patch(url, params, { headers: sputnikApi.requestHeaders() })\n }\n\n static createKey = ({ intercomUuid, params }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/keys`\n console.log(params)\n return axios.post(\n url,\n {\n key: [params.key_data],\n description: params.description,\n },\n { headers: sputnikApi.requestHeaders() }\n )\n }\n\n static updateCodeComment = ({ intercomUuid, params }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/digital_keys/${params.uuid}`\n\n return axios.patch(\n url,\n {\n description: params.description,\n },\n { headers: sputnikApi.requestHeaders() }\n )\n }\n\n static uploadKeysButch = ({ intercomUuid, file }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/keys`\n\n let formData = new FormData()\n\n formData.append('file', file)\n\n return axios.post(url, formData, { headers: sputnikApi.requestHeaders() })\n }\n\n static uploadCodesButch = ({ intercomUuid, file }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/digital_keys`\n\n let formData = new FormData()\n formData.append('file', file)\n\n return axios.post(url, formData, { headers: sputnikApi.requestHeaders() })\n }\n\n static downloadCodes = ({ intercomUuid }) => {\n const url = `${BASE_URL}account/devices/intercoms/${intercomUuid}/digital_keys/download`\n // 'Content-Disposition: attachment;'\n return axios({\n url,\n method: 'GET',\n responseType: 'blob',\n headers: sputnikApi.requestHeaders(),\n }).then((response) => {\n const url = window.URL.createObjectURL(new Blob([response.data]))\n const link = document.createElement('a')\n link.href = url\n link.setAttribute('download', 'keys.csv') //or any other extension\n document.body.appendChild(link)\n link.click()\n })\n }\n}\n","export const loadState = () => {\n try {\n const serializedState = localStorage.getItem('devicesAppState')\n if (serializedState === null) return undefined\n return JSON.parse(serializedState)\n } catch (err) {\n return undefined\n }\n}\n\nexport const saveToken = ({ jwt, uuid }) => {\n try {\n const serializedState = JSON.stringify({\n auth: { jwt, isLoggedIn: true, uuid }\n })\n localStorage.setItem('devicesAppState', serializedState)\n } catch (err) {\n console.log(err)\n }\n}\n","import { put, takeLatest, all, fork, call } from 'redux-saga/effects'\nimport Api from 'api/sputnikApi'\nimport { saveToken } from 'store/localStorage'\n\n// types\nconst VALIDATE_TOKEN_REQUEST = 'auth/VALIDATE_TOKEN_REQUEST'\nconst VALIDATE_TOKEN_SUCCESS = 'auth/VALIDATE_TOKEN_SUCCESS'\nconst VALIDATE_TOKEN_FAILURE = 'auth/VALIDATE_TOKEN_FAILURE'\n\nconst LOG_OUT = 'LOG_OUT'\n\nconst CLEAR_AUTH_STATUS = 'CLEAR_AUTH_STATUS'\n\nconst initialState = {\n jwt: '',\n isLoggedIn: false,\n}\n\n// reducer\nexport default function auth(state = initialState, { type, payload }) {\n switch (type) {\n case VALIDATE_TOKEN_SUCCESS:\n return {\n ...state,\n jwt: payload.jwt,\n uuid: payload.uuid,\n error: '',\n isLoggedIn: true,\n }\n case VALIDATE_TOKEN_FAILURE:\n return { ...state, error: payload }\n case LOG_OUT:\n localStorage.clear()\n return initialState\n case CLEAR_AUTH_STATUS:\n return { ...state, error: '' }\n default:\n return state\n }\n}\n\n// action creators\nexport const validateToken = (jwt, uuid) => ({\n type: VALIDATE_TOKEN_REQUEST,\n payload: {\n jwt,\n uuid,\n },\n})\n\nexport const logOut = payload => ({\n type: LOG_OUT,\n})\n\nexport const clearAuthStatus = () => ({\n type: CLEAR_AUTH_STATUS,\n})\n\n// sagas\nfunction* validateTokenWorker({ type, payload }) {\n try {\n yield call(Api.validateToken, payload)\n saveToken(payload)\n yield put({ type: VALIDATE_TOKEN_SUCCESS, payload })\n } catch (err) {\n yield put({\n type: VALIDATE_TOKEN_FAILURE,\n payload: 'Ваш код не прошел проверку',\n })\n }\n}\n\nfunction* validateTokenWatcher() {\n yield takeLatest(VALIDATE_TOKEN_REQUEST, validateTokenWorker)\n}\n\nexport function* authSaga() {\n yield all([fork(validateTokenWatcher)])\n}\n","import React, { Component } from 'react'\nimport { Form, Button, Input } from 'semantic-ui-react'\nimport { connect } from 'react-redux'\nimport { validateToken, clearAuthStatus } from 'ducks/auth'\nimport { toastr } from 'react-redux-toastr'\n\nclass LoginForm extends Component {\n state = {\n jwt: '',\n uuid: ''\n }\n\n onChange = e => this.setState({ [e.target.name]: e.target.value })\n\n onClick = e => this.props.validateToken(this.state.jwt, this.state.uuid)\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.error) {\n toastr.error('Что-то пошло не так...', nextProps.error)\n setTimeout(() => nextProps.clearAuthStatus(), 1000)\n }\n return prevState\n }\n\n render() {\n return (\n
\n \n {/**/}\n \n Подтвердить\n \n }\n />\n \n \n \n )\n }\n}\n\nconst mapStateToProps = ({ auth }) => ({\n error: auth.error\n})\n\nexport default connect(mapStateToProps, { validateToken, clearAuthStatus })(\n LoginForm\n)\n","import React from 'react'\nimport { Redirect } from 'react-router-dom'\nimport LoginForm from 'components/forms/LoginForm'\nimport { Container, Grid } from 'semantic-ui-react'\nimport { connect } from 'react-redux'\n\nconst LoginPage = ({ jwt, uuid }) => {\n if (jwt.length > 0) {\n return uuid ? : \n }\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nconst mapStateToProps = ({ auth }) => ({\n jwt: auth.jwt,\n uuid: auth.uuid\n})\n\nexport default connect(mapStateToProps)(LoginPage)\n","import { put, takeLatest, call, select, delay } from 'redux-saga/effects'\r\nimport Api from 'api/sputnikApi'\r\n\r\n// types\r\nconst GET_ALL_DEVICES_REQUEST = 'devices/GET_ALL_DEVICES_REQUEST'\r\nconst GET_ALL_DEVICES_SUCCESS = 'devices/GET_ALL_DEVICES_SUCCESS'\r\nconst GET_ALL_DEVICES_FAILURE = 'devices/GET_ALL_DEVICES_FAILURE'\r\n\r\nconst initialState = {\r\n devices: [],\r\n fetched: false,\r\n}\r\n\r\n// reducer\r\nexport default function devices(state = initialState, { type, payload }) {\r\n switch (type) {\r\n case GET_ALL_DEVICES_REQUEST:\r\n return { ...state, fetching: true }\r\n case GET_ALL_DEVICES_SUCCESS:\r\n return {\r\n ...state,\r\n devices: payload.devices,\r\n totalPages: payload.totalPages,\r\n error: '',\r\n fetched: true,\r\n fetching: false,\r\n }\r\n case GET_ALL_DEVICES_FAILURE:\r\n return { ...state, error: payload, fetched: true, fetching: false }\r\n case 'CLEAR':\r\n return initialState\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n// action creators\r\nexport const getAllDevices = (page = 1, query = null) => ({\r\n type: GET_ALL_DEVICES_REQUEST,\r\n payload: { page, query },\r\n})\r\n\r\n// sagas\r\nconst isFetched = (state) => state.devices.fetched\r\n\r\nfunction* getAllDevicesWorker({ type, payload }) {\r\n try {\r\n // const fetched = yield select(isFetched)\r\n // if (!fetched) {\r\n // yield delay(1000)\r\n // }\r\n\r\n const response = yield call(Api.getAllDevices, payload)\r\n const devices = response.data.intercoms\r\n const totalPages = response.data.total_pages\r\n yield put({\r\n type: GET_ALL_DEVICES_SUCCESS,\r\n payload: { devices, totalPages },\r\n })\r\n } catch (err) {\r\n yield put({ type: GET_ALL_DEVICES_FAILURE, payload: err.message })\r\n }\r\n}\r\n\r\nexport function* devicesSaga() {\r\n yield takeLatest(GET_ALL_DEVICES_REQUEST, getAllDevicesWorker)\r\n}\r\n","// 1921 100 638\nexport const formatDeviceId = (motherboardId = '') =>\n `${motherboardId.substr(0, 4)} ${motherboardId.substr(\n 4,\n 3\n )} ${motherboardId.substring(7)}`\n\nexport const chunk = (arr, chunkSize = 1, cache = []) => {\n if(!arr) return [] \n const tmp = [...arr]\n if (chunkSize <= 0) return cache\n while (tmp.length) cache.push(tmp.splice(0, chunkSize))\n return cache\n}\n","import React, { Component } from 'react'\nimport { Link } from 'react-router-dom'\nimport { List, Icon, Button } from 'semantic-ui-react'\nimport { formatDeviceId } from 'helpers'\n\nfunction DeviceListing({\n id,\n isOnline,\n serialNumber,\n motherboardId = '',\n idx,\n}) {\n const isFirst = idx === 0\n return (\n \n \n \n \n {formatDeviceId(motherboardId.toString())}{' '}\n {/* / {serialNumber} */}\n \n \n {serialNumber}\n \n \n {/* \n {isFirst && (\n \n )}{' '}\n */}\n \n )\n}\n//\n\nexport default DeviceListing\n","import React, { Fragment } from 'react'\nimport { Menu, Segment } from 'semantic-ui-react'\nimport { NavLink, withRouter } from 'react-router-dom'\nimport { connect } from 'react-redux'\nimport { logOut } from 'ducks/auth'\nimport { toastr } from 'react-redux-toastr'\nimport { formatDeviceId } from 'helpers'\n\nconst Navbar = ({ shadowDevice, match, logOut, uuid }) => (\n \n \n {!uuid && (\n \n )}\n {match.params.id && (\n \n {!uuid && }\n {\n if (match.path === '/:id') {\n e.preventDefault()\n toastr.info('😇', 'Have a nice day')\n }\n }}\n style={{ textTransform: 'capitalize' }}\n />\n \n )}\n {match.path === '/:id/keys' && (\n \n \n \n \n )}\n {match.path === '/:id/flats' && (\n \n \n \n \n )}\n {match.path === '/:id/emergency' && (\n \n \n \n \n )}\n {match.path === '/:id/logs' && (\n \n \n \n \n )}\n {match.path === '/:id/user_logs' && (\n \n \n \n \n )}\n {match.path === '/:id/firmware' && (\n \n \n \n \n )}\n {match.path === '/:id/sounds' && (\n \n \n \n \n )}\n {match.path === '/:id/codes' && (\n \n \n \n \n )}\n {match.path === '/:id/ble' && (\n \n \n \n \n )}\n \n \n \n)\n\nconst mapStateToProps = ({ device, auth }) => ({\n shadowDevice: device.shadowDevice,\n uuid: auth.uuid,\n})\n\nexport default connect(mapStateToProps, { logOut })(withRouter(Navbar))\n","import React, { Component } from 'react'\nimport ReactDOM from 'react-dom'\nimport debounce from 'lodash/debounce'\nimport {\n Container,\n Grid,\n Header,\n List,\n Loader,\n Pagination,\n Input,\n} from 'semantic-ui-react'\nimport { connect } from 'react-redux'\nimport { getAllDevices } from '../../ducks/devices'\nimport DeviceListing from 'components/listings/DeviceListing'\nimport Navbar from 'components/global/Navbar'\n\nclass HomePage extends Component {\n constructor(props) {\n super(props)\n this.handleSearch = debounce(this.handleSearch, 200)\n }\n\n state = {\n activePage: 1,\n totalPages: 1,\n }\n\n devicesRef = []\n\n componentDidMount() {\n this.props.getAllDevices(1, '')\n window.addEventListener('keydown', this.handleKeyDown)\n }\n\n componentWillUnmount() {\n window.removeEventListener('keydown', this.handleKeyDown)\n }\n\n handleKeyDown = e => {\n const key = e.which || e.keyCode\n if (key === 13) {\n if (this.devicesRef && this.devicesRef.length > 0 && this.devicesRef[0]) {\n ReactDOM.findDOMNode(this.devicesRef[0]).click()\n }\n\n // this.devicesRef &&\n // this.devicesRef.length > 0 &&\n // this.devicesRef[0].click()\n }\n }\n\n // componentDidUpdate(prevProps, prevState) {\n // if (\n // prevProps.devices &&\n // this.props.devices &&\n // prevProps.devices.length !== this.props.devices.length\n // ) {\n // this.devicesRef &&\n // this.devicesRef.length > 0 &&\n // ReactDOM.findDOMNode(this.devicesRef[0]).focus()\n // }\n // }\n\n handlePaginationChange = (e, { activePage }) => {\n this.props.getAllDevices(activePage, '')\n this.setState({ activePage })\n }\n\n handleSearch = (e, { value }) => {\n this.props.getAllDevices(1, value)\n this.setState({ activePage: 1 })\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.totalPages) {\n return { totalPages: nextProps.totalPages }\n }\n return prevState\n }\n\n render() {\n const { activePage, totalPages } = this.state\n\n // if (!this.props.fetched) {\n // return \n // }\n\n return (\n \n \n\n \n \n \n Список устройств\n \n\n \n {this.props.fetching && (\n \n \n \n )}\n \n {this.props.devices && this.props.devices.length > 0 ? (\n \n {this.props.devices.map((device, i) => (\n (this.devicesRef[i] = n)}\n isOnline={device.is_online}\n idx={i}\n motherboardId={device.motherboard_id}\n />\n ))}\n \n ) : (\n
Устройства не найдены
\n )}\n
\n {this.props.totalPages > 1 && (\n \n \n \n )}\n \n
\n
\n )\n }\n}\n\nconst mapStateToProps = state => ({\n jwt: state.auth.jwt,\n devices: state.devices.devices,\n totalPages: state.devices.totalPages,\n fetched: state.devices.fetched,\n fetching: state.devices.fetching,\n})\n\nexport default connect(mapStateToProps, { getAllDevices })(HomePage)\n","import { put, takeLatest, call } from 'redux-saga/effects'\nimport Api from 'api/sputnikApi'\nimport { toastr } from 'react-redux-toastr'\nimport { getDeviceInfoShadowWorker, getDeviceLogs } from './device'\n\nconst UPDATE_GENERAL_FLAT_INFO_REQUEST =\n 'ducks/deviceActions/UPDATE_GENERAL_FLAT_INFO_REQUEST'\nconst UPDATE_GENERAL_FLAT_INFO_SUCCESS =\n 'ducks/deviceActions/UPDATE_GENERAL_FLAT_INFO_SUCCESS'\nconst UPDATE_GENERAL_FLAT_INFO_FAILURE =\n 'ducks/deviceActions/UPDATE_GENERAL_FLAT_INFO_FAILURE'\n\nconst OPEN_DOOR_REQUEST = 'ducks/deviceActions/OPEN_DOOR_REQUEST'\nconst OPEN_DOOR_SUCCESS = 'ducks/deviceActions/OPEN_DOOR_SUCCESS'\nconst OPEN_DOOR_FAILURE = 'ducks/deviceActions/OPEN_DOOR_FAILURE'\n\nconst OPEN_SECOND_DOOR_REQUEST = 'ducks/deviceActions/OPEN_SECOND_DOOR_REQUEST'\n\nconst UPDATE_SIP_CONFIG_REQUEST =\n 'ducks/deviceActions/UPDATE_SIP_CONFIG_REQUEST'\nconst UPDATE_SIP_CONFIG_SUCCESS =\n 'ducks/deviceActions/UPDATE_SIP_CONFIG_SUCCESS'\nconst UPDATE_SIP_CONFIG_FAILURE =\n 'ducks/deviceActions/UPDATE_SIP_CONFIG_FAILURE'\n\nconst UPDATE_OPTIONAL_BUTTON_REQUEST =\n 'ducks/deviceActions/UPDATE_OPTIONAL_BUTTON_REQUEST'\nconst UPDATE_OPTIONAL_BUTTON_SUCCESS =\n 'ducks/deviceActions/UPDATE_OPTIONAL_BUTTON_SUCCESS'\nconst UPDATE_OPTIONAL_BUTTON_FAILURE =\n 'ducks/deviceActions/UPDATE_OPTIONAL_BUTTON_FAILURE'\n\nconst UPLOAD_SOUND_REQUEST = 'ducks/deviceActions/UPLOAD_SOUND_REQUEST'\nconst UPLOAD_SOUND_SUCCESS = 'ducks/deviceActions/UPLOAD_SOUND_SUCCESS'\nconst UPLOAD_SOUND_FAILURE = 'ducks/deviceActions/UPLOAD_SOUND_FAILURE'\n\nconst UPDATE_SOUND_CONFIG_REQUEST =\n 'ducks/deviceActions/UPDATE_SOUND_CONFIG_REQUEST'\nconst UPDATE_SOUND_CONFIG_SUCCESS =\n 'ducks/deviceActions/UPDATE_SOUND_CONFIG_SUCCESS'\nconst UPDATE_SOUND_CONFIG_FAILURE =\n 'ducks/deviceActions/UPDATE_SOUND_CONFIG_FAILURE'\n\nconst UPLOAD_FIRMWARE_REQUEST = 'ducks/deviceActions/UPLOAD_FIRMWARE_REQUEST'\nconst UPLOAD_FIRMWARE_SUCCESS = 'ducks/deviceActions/UPLOAD_FIRMWARE_SUCCESS'\nconst UPLOAD_FIRMWARE_FAILURE = 'ducks/deviceActions/UPLOAD_FIRMWARE_FAILURE'\n\n\nconst ADD_KEY_REQUEST = 'deviceActions/ADD_KEY_REQUEST'\nconst ADD_KEY_SUCCESS = 'deviceActions/ADD_KEY_SUCCESS'\nconst ADD_KEY_FAILURE = 'deviceActions/ADD_KEY_FAILURE'\n\nconst REMOVE_KEY_REQUEST = 'deviceActions/REMOVE_KEY_REQUEST'\nexport const REMOVE_KEY_SUCCESS = 'deviceActions/REMOVE_KEY_SUCCESS'\nconst REMOVE_KEY_FAILURE = 'deviceActions/REMOVE_KEY_FAILURE'\n\nconst UPDATE_DEVICE_SOUND_REQUEST = 'deviceActions/UPDATE_DEVICE_SOUND_REQUEST'\nconst UPDATE_DEVICE_SOUND_SUCCESS = 'deviceActions/UPDATE_DEVICE_SOUND_SUCCESS'\nconst UPDATE_DEVICE_SOUND_FAILURE = 'deviceActions/UPDATE_DEVICE_SOUND_FAILURE'\n\nconst START_EMERGENCY_REQUEST = 'deviceActions/START_EMERGENCY_REQUEST'\nconst START_EMERGENCY_SUCCESS = 'deviceActions/START_EMERGENCY_SUCCESS'\nconst START_EMERGENCY_FAILURE = 'deviceActions/START_EMERGENCY_FAILURE'\n\nconst RESET_INTERCOM_REQUEST = 'deviceActions/RESET_INTERCOM_REQUEST'\nconst RESET_INTERCOM_SUCCESS = 'deviceActions/RESET_INTERCOM_SUCCESS'\nconst RESET_INTERCOM_FAILURE = 'deviceActions/RESET_INTERCOM_FAILURE'\n\nconst RESET_DEVICE_SOUNDS_REQUEST = 'device/RESET_DEVICE_SOUNDS_REQUEST'\nconst RESET_DEVICE_SOUNDS_SUCCESS = 'device/RESET_DEVICE_SOUNDS_SUCCESS'\nconst RESET_DEVICE_SOUNDS_FAILURE = 'device/RESET_DEVICE_SOUNDS_FAILURE'\n\nconst UPDATE_STANDART_SOUND_REQUEST =\n 'deviceActions/UPDATE_STANDART_SOUND_REQUEST'\nconst UPDATE_STANDART_SOUND_SUCCESS =\n 'deviceActions/UPDATE_STANDART_SOUND_SUCCESS'\nconst UPDATE_STANDART_SOUND_FAILURE =\n 'deviceActions/UPDATE_STANDART_SOUND_FAILURE'\n\nconst UPDATE_NETWORK_INFO_REQUEST = 'deviceActions/UPDATE_NETWORK_INFO_REQUEST'\nconst UPDATE_NETWORK_INFO_SUCCESS = 'deviceActions/UPDATE_NETWORK_INFO_SUCCESS'\nconst UPDATE_NETWORK_INFO_FAILURE = 'deviceActions/UPDATE_NETWORK_INFO_FAILURE'\n\nconst UPDATE_DOOR_OPEN_TIMER_REQUEST =\n 'deviceActions/UPDATE_DOOR_OPEN_TIMER_REQUEST'\nconst UPDATE_DOOR_OPEN_TIMER_SUCCESS =\n 'deviceActions/UPDATE_DOOR_OPEN_TIMER_SUCCESS'\nconst UPDATE_DOOR_OPEN_TIMER_FAILURE =\n 'deviceActions/UPDATE_DOOR_OPEN_TIMER_FAILURE'\n\nconst GET_DEVICE_KEYS_COUNT_REQUEST =\n 'deviceActions/GET_DEVICE_KEYS_COUNT_REQUEST'\nconst GET_DEVICE_KEYS_COUNT_SUCCESS =\n 'deviceActions/GET_DEVICE_KEYS_COUNT_SUCCESS'\nconst GET_DEVICE_KEYS_COUNT_FAILURE =\n 'deviceActions/GET_DEVICE_KEYS_COUNT_FAILURE'\n\nconst DOWNLOAD_KEYS_REQUEST = 'deviceActions/DOWNLOAD_KEYS_REQUEST'\nconst DOWNLOAD_KEYS_SUCCESS = 'deviceActions/DOWNLOAD_KEYS_SUCCESS'\nconst DOWNLOAD_KEYS_FAILURE = 'deviceActions/DOWNLOAD_KEYS_FAILURE'\n\nconst RESET_DEVICE_CAMERA_REQUEST = 'deviceActions/RESET_DEVICE_CAMERA_REQUEST'\nconst RESET_DEVICE_CAMERA_SUCCESS = 'deviceActions/RESET_DEVICE_CAMERA_SUCCESS'\nconst RESET_DEVICE_CAMERA_FAILURE = 'deviceActions/RESET_DEVICE_CAMERA_FAILURE'\n\nconst ADD_ACCESS_CODE_REQUEST = 'deviceActions/ADD_ACCESS_CODE_REQUEST'\nconst ADD_ACCESS_CODE_SUCCESS = 'deviceActions/ADD_ACCESS_CODE_SUCCESS'\nconst ADD_ACCESS_CODE_FAILURE = 'deviceActions/ADD_ACCESS_CODE_FAILURE'\n\nconst DELETE_ACCESS_CODE_REQUEST = 'deviceActions/DELETE_ACCESS_CODE_REQUEST'\nconst DELETE_ACCESS_CODE_SUCCESS = 'deviceActions/DELETE_ACCESS_CODE_SUCCESS'\nconst DELETE_ACCESS_CODE_FAILURE = 'deviceActions/DELETE_ACCESS_CODE_FAILURE'\n\n//factoryReset\nconst FACTORY_RESET_REQUEST = 'deviceActions/FACTORY_RESET_REQUEST'\nconst FACTORY_RESET_SUCCESS = 'deviceActions/FACTORY_RESET_SUCCESS'\nconst FACTORY_RESET_FAILURE = 'deviceActions/FACTORY_RESET_FAILURE'\n\nconst GET_DEVICE_ACCESS_CODES_REQUEST =\n 'deviceActions/GET_DEVICE_ACCESS_CODES_REQUEST'\nconst GET_DEVICE_ACCESS_CODES_SUCCESS =\n 'deviceActions/GET_DEVICE_ACCESS_CODES_SUCCESS'\nconst GET_DEVICE_ACCESS_CODES_FAILURE =\n 'deviceActions/GET_DEVICE_ACCESS_CODES_FAILURE'\n\nconst GET_NET_INFO_REQUEST = 'deviceActions/GET_NET_INFO_REQUEST'\nconst GET_NET_INFO_SUCCESS = 'deviceActions/GET_NET_INFO_SUCCESS'\nconst GET_NET_INFO_FAILURE = 'deviceActions/GET_NET_INFO_FAILURE'\n\nconst GET_URL_INFO_REQUEST = 'deviceActions/GET_URL_INFO_REQUEST'\nconst GET_URL_INFO_SUCCESS = 'deviceActions/GET_URL_INFO_SUCCESS'\nconst GET_URL_INFO_FAILURE = 'deviceActions/GET_URL_INFO_FAILURE'\n\nconst LINE_TEST_REQUEST = 'deviceActions/LINE_TEST_REQUEST'\nconst LINE_TEST_SUCCESS = 'deviceActions/LINE_TEST_SUCCESS'\nconst LINE_TEST_FAILURE = 'deviceActions/LINE_TEST_FAILURE'\n\nconst TOGGLE_MODE_REQUEST = 'deviceActions/TOGGLE_MODE_REQUEST'\nconst TOGGLE_MODE_SUCCESS = 'deviceActions/TOGGLE_MODE_SUCCESS'\nconst TOGGLE_MODE_FAILURE = 'deviceActions/TOGGLE_MODE_FAILURE'\n\n\nconst DELETE_ALL_FLATS_REQUEST = 'deviceActions/DELETE_ALL_FLATS_REQUEST'\nconst DELETE_ALL_FLATS_SUCCESS = 'deviceActions/DELETE_ALL_FLATS_SUCCESS'\nconst DELETE_ALL_FLATS_FAILURE = 'deviceActions/DELETE_ALL_FLATS_FAILURE'\n\nconst UPDATE_CODE_COMMENT_REQUEST = 'deviceActions/UPDATE_CODE_COMMENT_REQUEST'\nconst UPDATE_CODE_COMMENT_SUCCESS = 'deviceActions/UPDATE_CODE_COMMENT_SUCCESS'\nconst UPDATE_CODE_COMMENT_FAILURE = 'deviceActions/UPDATE_CODE_COMMENT_FAILURE'\n\nconst UPLOAD_CODES_BUTCH_REQUEST = 'deviceActions/UPLOAD_CODES_BUTCH_REQUEST'\nconst UPLOAD_CODES_BUTCH_SUCCESS = 'deviceActions/UPLOAD_CODES_BUTCH_SUCCESS'\nconst UPLOAD_CODES_BUTCH_FAILURE = 'deviceActions/UPLOAD_CODES_BUTCH_FAILURE'\n\nconst DOWNLOAD_CODES_REQUEST = 'deviceActions/DOWNLOAD_CODES_REQUEST'\nconst DOWNLOAD_CODES_SUCCESS = 'deviceActions/DOWNLOAD_CODES_SUCCESS'\n\nconst DOWNLOAD_CODES_LOADER_REQUEST = 'deviceActions/DOWNLOAD_CODES_REQUEST'\nconst DOWNLOAD_CODES_LOADER_SUCCESS = 'deviceActions/DOWNLOAD_CODES_SUCCESS'\n\nconst DOWNLOAD_KEYS_LOADER_REQUEST =\n 'deviceActions/DOWNLOAD_KEYS_LOADER_REQUEST'\nconst DOWNLOAD_KEYS_LOADER_SUCCESS =\n 'deviceActions/DOWNLOAD_KEYS_LOADER_SUCCESS'\n\nconst DELETE_ALL_ACCESS_CODES_REQUEST =\n 'deviceActions/DELETE_ALL_ACCESS_CODES_REQUEST'\nconst DELETE_ALL_ACCESS_CODES_SUCCESS =\n 'deviceActions/DELETE_ALL_ACCESS_CODES_SUCCESS'\nconst DELETE_ALL_ACCESS_CODES_FAILURE =\n 'deviceActions/DELETE_ALL_ACCESS_CODES_FAILURE'\n\nconst UPDATE_TIMEZONE_REQUEST = 'deviceActions/UPDATE_TIMEZONE_REQUEST'\nconst UPDATE_TIMEZONE_SUCCESS = 'deviceActions/UPDATE_TIMEZONE_SUCCESS'\nconst UPDATE_TIMEZONE_FAILURE = 'deviceActions/UPDATE_TIMEZONE_FAILURE'\n\nconst UPLOADING_CODES_REQUEST = 'UPLOADING_CODES_REQUEST'\nconst UPLOADING_CODES_SUCCESS = 'UPLOADING_CODES_SUCCESS'\n\nconst CLEAR_DEVICE_STATUS = 'deviceActions/CLEAR_DEVICE_STATUS'\n\nconst initialState = {\n error: '',\n success: '',\n upLoadingCodes: false,\n}\n\n// reducer\nexport default function deviceActions(state = initialState, action) {\n switch (action.type) {\n case GET_DEVICE_ACCESS_CODES_SUCCESS:\n return { ...state, accessCodes: action.payload.accessCodes }\n\n case UPDATE_SIP_CONFIG_SUCCESS:\n return {\n ...state,\n error: '',\n success: action.payload,\n }\n case UPDATE_SIP_CONFIG_FAILURE:\n return { ...state, error: action.payload }\n case OPEN_DOOR_SUCCESS:\n return { ...state, error: '', success: action.payload }\n case OPEN_DOOR_FAILURE:\n return { ...state, error: action.payload }\n case CLEAR_DEVICE_STATUS:\n return { ...state, success: '', error: '' }\n case UPLOAD_SOUND_SUCCESS:\n return { ...state, success: action.payload, error: '' }\n case UPLOAD_SOUND_FAILURE:\n return { ...state, success: '', error: action.payload }\n case UPLOAD_FIRMWARE_SUCCESS:\n return { ...state, success: action.payload, error: '' }\n case UPLOAD_FIRMWARE_FAILURE:\n return { ...state, success: '', error: action.payload }\n case UPDATE_GENERAL_FLAT_INFO_SUCCESS:\n return {\n ...state,\n error: '',\n success: action.payload,\n }\n case UPDATE_GENERAL_FLAT_INFO_FAILURE:\n return { ...state, error: action.payload }\n case UPDATE_SOUND_CONFIG_SUCCESS:\n return { ...state, error: '', success: action.payload }\n case UPDATE_SOUND_CONFIG_FAILURE:\n return { ...state, success: '', error: action.payload }\n case ADD_KEY_SUCCESS:\n return { ...state, success: action.payload, error: '' }\n case ADD_KEY_FAILURE:\n return { ...state, error: action.payload }\n case REMOVE_KEY_SUCCESS:\n return { ...state, success: action.payload, error: '' }\n case REMOVE_KEY_FAILURE:\n return { ...state, error: action.payload }\n case UPDATE_DEVICE_SOUND_SUCCESS:\n return { ...state, success: action.payload, error: '' }\n case UPDATE_DEVICE_SOUND_FAILURE:\n return { ...state, error: action.payload }\n case UPDATE_STANDART_SOUND_SUCCESS:\n return {\n ...state,\n error: '',\n success: action.payload,\n }\n case UPDATE_STANDART_SOUND_FAILURE:\n return { ...state, error: action.payload }\n case START_EMERGENCY_SUCCESS:\n return {\n ...state,\n error: '',\n success: action.payload,\n }\n case START_EMERGENCY_FAILURE:\n return { ...state, error: action.payload }\n case UPDATE_NETWORK_INFO_SUCCESS:\n return {\n ...state,\n error: '',\n success: action.payload,\n }\n case UPDATE_NETWORK_INFO_FAILURE:\n return { ...state, error: action.payload }\n case UPDATE_DOOR_OPEN_TIMER_SUCCESS:\n return { ...state, success: action.payload, error: '' }\n case UPDATE_DOOR_OPEN_TIMER_FAILURE:\n return { ...state, error: action.payload }\n case RESET_INTERCOM_SUCCESS:\n return {\n ...state,\n error: '',\n success: action.payload,\n }\n case RESET_INTERCOM_FAILURE:\n return { ...state, error: action.payload }\n case RESET_DEVICE_SOUNDS_SUCCESS:\n return {\n ...state,\n error: '',\n success: action.payload,\n }\n case RESET_DEVICE_SOUNDS_FAILURE:\n return { ...state, error: action.payload }\n case GET_DEVICE_KEYS_COUNT_SUCCESS:\n return { ...state, success: action.payload, error: '' }\n case GET_DEVICE_KEYS_COUNT_FAILURE:\n return { ...state, error: action.payload }\n case RESET_DEVICE_CAMERA_SUCCESS:\n return { ...state, success: action.payload, error: '' }\n case RESET_DEVICE_CAMERA_FAILURE:\n return { ...state, error: action.payload }\n case LINE_TEST_REQUEST:\n return { ...state, pendingLineTest: action.payload.flat }\n case LINE_TEST_SUCCESS:\n return {\n ...state,\n success: action.payload,\n error: '',\n pendingLineTest: null,\n }\n case LINE_TEST_FAILURE:\n return { ...state, error: action.payload, pendingLineTest: null }\n\n case DOWNLOAD_CODES_LOADER_REQUEST:\n return { ...state, loadingCodes: true }\n case DOWNLOAD_CODES_LOADER_SUCCESS:\n return { ...state, loadingCodes: false }\n case DOWNLOAD_KEYS_LOADER_REQUEST:\n return { ...state, loadingKeys: true }\n case DOWNLOAD_KEYS_LOADER_SUCCESS:\n return { ...state, loadingKeys: false }\n case DELETE_ALL_ACCESS_CODES_REQUEST: {\n return { ...state }\n }\n case DELETE_ALL_ACCESS_CODES_SUCCESS: {\n return { ...state, accessCodes: action.payload }\n }\n case DELETE_ALL_ACCESS_CODES_FAILURE: {\n return { ...state, error: action.payload }\n }\n\n case UPLOADING_CODES_REQUEST: {\n return { ...state, upLoadingCodes: true }\n }\n case UPLOADING_CODES_SUCCESS: {\n return { ...state, upLoadingCodes: false }\n }\n\n default:\n return state\n }\n}\n\n// action creators\n\nexport const resetDeviceSounds = (id) => ({\n type: RESET_DEVICE_SOUNDS_REQUEST,\n payload: {\n id,\n },\n})\n\nexport const openDoor = (payload) => ({\n type: OPEN_DOOR_REQUEST,\n payload: payload,\n})\n\nexport const openSecondDoor = (payload) => ({\n type: OPEN_SECOND_DOOR_REQUEST,\n payload: payload,\n})\n\nexport const startEmergency = (payload) => ({\n type: START_EMERGENCY_REQUEST,\n payload: payload,\n})\n\nexport const factoryReset = (payload) => ({\n type: FACTORY_RESET_REQUEST,\n payload: payload,\n})\n\nexport const resetIntercom = (payload) => ({\n type: RESET_INTERCOM_REQUEST,\n payload: payload,\n})\n\nexport const updateGeneralFlatsInfo = (payload) => ({\n type: UPDATE_GENERAL_FLAT_INFO_REQUEST,\n payload,\n})\n\nexport const updateSoundConfig = (payload) => ({\n type: UPDATE_SOUND_CONFIG_REQUEST,\n payload,\n})\n\nexport const updateNetworkInfo = (payload) => ({\n type: UPDATE_NETWORK_INFO_REQUEST,\n payload,\n})\n\nexport const updateDoorOpenTimers = (payload) => ({\n type: UPDATE_DOOR_OPEN_TIMER_REQUEST,\n payload,\n})\n\nexport const updateStandartSounds = (payload) => ({\n type: UPDATE_STANDART_SOUND_REQUEST,\n payload,\n})\n\nexport const updateSIPConfig = (payload) => ({\n type: UPDATE_SIP_CONFIG_REQUEST,\n payload,\n})\n\nexport const updateOptionalButtonConfig = (payload) => ({\n type: UPDATE_OPTIONAL_BUTTON_REQUEST,\n payload,\n})\n\nexport const clearDeviceStatus = () => ({\n type: CLEAR_DEVICE_STATUS,\n})\n\nexport const uploadSound = (payload) => ({\n type: UPLOAD_SOUND_REQUEST,\n payload,\n})\n\nexport const uploadFirmware = (payload) => ({\n type: UPLOAD_FIRMWARE_REQUEST,\n payload,\n})\n\n\nexport const lineTest = (payload) => ({\n type: LINE_TEST_REQUEST,\n payload,\n})\n\nexport const addKey = (payload) => ({\n type: ADD_KEY_REQUEST,\n payload,\n})\n\nexport const removeKey = (payload) => ({\n type: REMOVE_KEY_REQUEST,\n payload,\n})\n\nexport const downloadKeys = (uuid) => ({\n type: DOWNLOAD_KEYS_REQUEST,\n payload: { uuid },\n})\n\nexport const updateDeviceSounds = (payload) => ({\n type: UPDATE_DEVICE_SOUND_REQUEST,\n payload,\n})\n\nexport const resetDeviceCamera = (uuid) => ({\n type: RESET_DEVICE_CAMERA_REQUEST,\n payload: {\n uuid,\n },\n})\n\nexport const getDeviceAccessCodes = (deviceUuid) => ({\n type: GET_DEVICE_ACCESS_CODES_REQUEST,\n payload: {\n deviceUuid,\n },\n})\n\nexport const addAccessCode = ({ deviceUuid, key, expTime, description }) => ({\n type: ADD_ACCESS_CODE_REQUEST,\n payload: {\n deviceUuid,\n key,\n expTime,\n description,\n },\n})\n\nexport const deleteAccessCode = ({ deviceUuid, key }) => ({\n type: DELETE_ACCESS_CODE_REQUEST,\n payload: {\n deviceUuid,\n key,\n },\n})\n\nexport const getNetInfo = ({ deviceUuid, logsQty, activePage }) => ({\n type: GET_NET_INFO_REQUEST,\n payload: {\n deviceUuid,\n logsQty,\n activePage,\n },\n})\n\nexport const getURLInfo = ({ deviceUuid, logsQty, activePage }) => ({\n type: GET_URL_INFO_REQUEST,\n payload: {\n deviceUuid,\n logsQty,\n activePage,\n },\n})\n\nexport const getDeviceKeysCount = ({ deviceUuid, logsQty, activePage }) => ({\n type: GET_DEVICE_KEYS_COUNT_REQUEST,\n payload: {\n deviceUuid,\n logsQty,\n activePage,\n },\n})\n\nexport const toggleMode = (deviceUuid) => ({\n type: TOGGLE_MODE_REQUEST,\n payload: deviceUuid,\n})\n\n\n\nexport const deleteAllFlats = (deviceUuid) => ({\n type: DELETE_ALL_FLATS_REQUEST,\n payload: deviceUuid,\n})\n\nexport const updateCodeComment = (intercomUuid, params) => ({\n type: UPDATE_CODE_COMMENT_REQUEST,\n payload: { intercomUuid, params },\n})\n\nexport const updateTimeZone = (uuid, zone) => ({\n type: UPDATE_TIMEZONE_REQUEST,\n payload: { uuid, zone },\n})\n\nexport const uploadCodesButch = (intercomUuid, file) => ({\n type: UPLOAD_CODES_BUTCH_REQUEST,\n payload: { intercomUuid, file },\n})\n\nexport const downloadCodes = (intercomUuid) => ({\n type: DOWNLOAD_CODES_REQUEST,\n payload: { intercomUuid },\n})\n\nexport const deleteAllAccessCodes = (intercomUuid) => ({\n type: DELETE_ALL_ACCESS_CODES_REQUEST,\n payload: intercomUuid,\n})\n\n// sagas\n\nfunction* updateTimeZoneWorker({ type, payload }) {\n try {\n yield call(Api.updateTimeZone, payload)\n yield put({\n type: UPDATE_TIMEZONE_SUCCESS,\n })\n toastr.success('Зона успешна изменена')\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: UPDATE_TIMEZONE_FAILURE,\n })\n toastr.error('При изменении зоны произошла ошибка')\n return Promise.reject()\n }\n}\n\nfunction* factoryResetWorker({ type, payload }) {\n try {\n yield call(Api.factoryReset, payload)\n yield put({\n type: FACTORY_RESET_SUCCESS,\n })\n toastr.success('Настройки сброшены')\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: FACTORY_RESET_FAILURE,\n })\n toastr.error('При сбросе настроек произошла ошибка')\n return Promise.reject()\n }\n}\n\nfunction* deleteAllAccessCodesWorker({ type, payload }) {\n try {\n yield call(Api.deleteAllAccessCodes, payload)\n yield put({\n type: DELETE_ALL_ACCESS_CODES_SUCCESS,\n payload: [],\n })\n toastr.success('Коды успешно удалены')\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: DELETE_ALL_ACCESS_CODES_FAILURE,\n })\n toastr.error('При удалении кодов произошла ошибка')\n return Promise.reject()\n }\n}\n\nfunction* deleteAccessCodeWorker({ type, payload }) {\n try {\n yield call(Api.deleteAccessCode, payload)\n yield put({\n type: GET_DEVICE_ACCESS_CODES_REQUEST,\n payload: { deviceUuid: payload.deviceUuid },\n })\n yield put({\n type: DELETE_ACCESS_CODE_SUCCESS,\n })\n\n toastr.success('Код доступа был успешно удален')\n\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: DELETE_ACCESS_CODE_FAILURE,\n })\n toastr.error('При удалении кода доступ произошла ошибка')\n return Promise.reject()\n }\n}\n\nfunction* addAccessCodeWorker({ type, payload }) {\n try {\n yield call(Api.addAccessCode, payload)\n yield put({\n type: GET_DEVICE_ACCESS_CODES_REQUEST,\n payload: { deviceUuid: payload.deviceUuid },\n })\n yield put({\n type: ADD_ACCESS_CODE_SUCCESS,\n })\n\n toastr.success('Код досупа был успешно добавлен')\n\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: ADD_ACCESS_CODE_FAILURE,\n })\n toastr.error('При добавлении кода доступа произошла ошибка')\n return Promise.reject()\n }\n}\n\nfunction* getDeviceAccessCodesWorker({ type, payload }) {\n try {\n const { data } = yield call(Api.getDeviceAccessCodes, payload)\n yield put({\n type: GET_DEVICE_ACCESS_CODES_SUCCESS,\n payload: { accessCodes: data },\n })\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: GET_DEVICE_ACCESS_CODES_FAILURE,\n payload: 'При получении списка кодов произошла ошибка',\n })\n return Promise.reject()\n }\n}\n\nfunction* resetDeviceSoundsWorker({ type, payload }) {\n try {\n yield call(Api.resetDeviceSounds, payload)\n yield put({\n type: RESET_DEVICE_SOUNDS_SUCCESS,\n payload: 'Были восстановлены стандартные звуки',\n })\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: RESET_DEVICE_SOUNDS_FAILURE,\n payload: 'При восстановлении стандартных звуков произошла ошибка',\n })\n return Promise.reject()\n }\n}\n\nfunction* updateGeneralFlatsInfoWorker({ type, payload }) {\n try {\n yield call(Api.updateGeneralFlatsInfo, payload)\n yield put({\n type: UPDATE_GENERAL_FLAT_INFO_SUCCESS,\n payload: 'Информация обновлена.',\n })\n } catch (err) {\n yield put({ type: UPDATE_GENERAL_FLAT_INFO_FAILURE, payload: err.message })\n }\n}\n\nfunction* getNetInfoWorker({ type, payload }) {\n try {\n yield call(Api.getNetInfo, payload)\n yield put({\n type: GET_NET_INFO_SUCCESS,\n })\n yield put(\n getDeviceLogs(payload.deviceUuid, payload.logsQty, payload.activePage)\n )\n } catch (err) {\n yield put({ type: GET_NET_INFO_FAILURE })\n toastr.error(\n 'Что-то пошло не так!',\n 'При запросе сетевых настроек произошла ошибка'\n )\n }\n}\n\nfunction* getURLInfoWorker({ type, payload }) {\n try {\n yield call(Api.getURLInfo, payload)\n yield put({\n type: GET_URL_INFO_SUCCESS,\n })\n yield put(\n getDeviceLogs(payload.deviceUuid, payload.logsQty, payload.activePage)\n )\n } catch (err) {\n yield put({ type: GET_URL_INFO_FAILURE })\n toastr.error('Что-то пошло не так!', 'При запросе URL произошла ошибка')\n }\n}\n\nfunction* getDeviceKeysCountWorker({ type, payload }) {\n try {\n yield call(Api.getDeviceKeysCount, payload)\n yield put({\n type: GET_DEVICE_KEYS_COUNT_SUCCESS,\n payload: 'Перейдите в логи для просмотра количества ключей',\n })\n yield put(\n getDeviceLogs(payload.deviceUuid, payload.logsQty, payload.activePage)\n )\n } catch (err) {\n yield put({\n type: GET_DEVICE_KEYS_COUNT_FAILURE,\n payload: 'При получении количества ключей произошла ошибка',\n })\n }\n}\n\nfunction* updateSoundConfigWorker({ type, payload }) {\n try {\n yield call(Api.updateSoundConfig, payload)\n yield put({\n type: UPDATE_SOUND_CONFIG_SUCCESS,\n payload: 'Информация обновлена.',\n })\n } catch (err) {\n yield put({ type: UPDATE_SOUND_CONFIG_FAILURE, payload: err.message })\n }\n}\n\nfunction* updateNetworkInfoWorker({ type, payload }) {\n try {\n yield call(Api.updateNetworkInfo, payload)\n yield put({\n type: UPDATE_NETWORK_INFO_SUCCESS,\n payload: 'Информация обновлена.',\n })\n } catch (err) {\n yield put({ type: UPDATE_NETWORK_INFO_FAILURE, payload: err.message })\n }\n}\n\nfunction* updateDoorOpenTimerWorker({ type, payload }) {\n try {\n yield call(Api.updateDoorOpenTimer, payload)\n yield put({\n type: UPDATE_DOOR_OPEN_TIMER_SUCCESS,\n payload: 'Информация обновлена.',\n })\n } catch (err) {\n yield put({ type: UPDATE_DOOR_OPEN_TIMER_FAILURE, payload: err.message })\n }\n}\n\nfunction* openDoorWorker({ type, payload }) {\n try {\n yield call(Api.openDoor, payload)\n yield put({ type: OPEN_DOOR_SUCCESS, payload: 'Дверь открыта.' })\n } catch (err) {\n yield put({ type: OPEN_DOOR_FAILURE, payload: 'Не удалось открыть дверь.' })\n }\n}\n\nfunction* openSecondDoorWorker({ type, payload }) {\n try {\n yield call(Api.openSecondDoor, payload)\n yield put({ type: OPEN_DOOR_SUCCESS, payload: 'Дверь открыта.' })\n } catch (err) {\n yield put({ type: OPEN_DOOR_FAILURE, payload: 'Не удалось открыть дверь.' })\n }\n}\n\nfunction* resetIntercomWorker({ type, payload }) {\n try {\n yield call(Api.resetIntercom, payload)\n yield put({\n type: RESET_INTERCOM_SUCCESS,\n payload: 'Запрос на перезагрузку отправлен.',\n })\n } catch (err) {\n yield put({\n type: RESET_INTERCOM_FAILURE,\n payload: 'Не удалось отправить запрос на обновление.',\n })\n }\n}\n\nfunction* startEmergencyWorker({ type, payload }) {\n try {\n yield call(Api.startEmergency, payload)\n yield put({\n type: START_EMERGENCY_SUCCESS,\n payload: 'Оповещение запущено.',\n })\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: START_EMERGENCY_FAILURE,\n payload: 'Не удалось запустить оповещение.',\n })\n return Promise.reject()\n }\n}\n\nfunction* updateStandartSoundWorker({ type, payload }) {\n try {\n yield call(Api.updateStandartSounds, payload)\n yield put({\n type: UPDATE_STANDART_SOUND_SUCCESS,\n payload: 'Звук обновлен.',\n })\n } catch (err) {\n yield put({\n type: UPDATE_STANDART_SOUND_FAILURE,\n payload: 'Не удалось обновить звук.',\n })\n }\n}\n\nfunction* updateSIPConfigWorker({ type, payload }) {\n try {\n yield call(Api.updateSIPConfig, payload)\n yield put({\n type: UPDATE_SIP_CONFIG_SUCCESS,\n payload: 'Конфигурация обновлена.',\n })\n } catch (err) {\n yield put({\n type: UPDATE_SIP_CONFIG_FAILURE,\n payload: 'При обновлении данных произошла ошибка.',\n })\n }\n}\n\nfunction* updateOptionalButtonConfigWorker({ type, payload }) {\n try {\n yield call(Api.updateOptionalButtonConfig, payload)\n yield put({\n type: UPDATE_SIP_CONFIG_SUCCESS,\n payload: 'Конфигурация обновлена.',\n })\n } catch (err) {\n yield put({\n type: UPDATE_SIP_CONFIG_FAILURE,\n payload: 'При обновлении данных произошла ошибка.',\n })\n }\n}\n\nfunction* uploadSoundWorker({ type, payload }) {\n try {\n yield call(Api.uploadSound, payload)\n yield put({\n type: UPLOAD_SOUND_SUCCESS,\n payload: 'Файл загружен.',\n })\n } catch (err) {\n const errors = err.response.data.errors.url //TODO на бэкенде когда исправят, тут тоже поправить надо\n yield put({\n type: UPLOAD_SOUND_FAILURE,\n payload: errors,\n })\n }\n}\n\nfunction* uploadFirmwareWorker({ type, payload }) {\n try {\n yield call(Api.uploadFirmware, payload)\n yield put({\n type: UPLOAD_FIRMWARE_SUCCESS,\n payload: 'Файл загружен.',\n })\n } catch (err) {\n const errors = err.response.data.errors\n yield put({\n type: UPLOAD_FIRMWARE_FAILURE,\n payload: errors,\n })\n }\n}\n\n\nfunction* addKeyWorker({ type, payload }) {\n try {\n yield call(Api.addKey, payload)\n yield put({\n type: ADD_KEY_SUCCESS,\n payload: 'Ключ добавлен.',\n })\n } catch (err) {\n console.log(err)\n yield put({\n type: ADD_KEY_FAILURE,\n payload: 'При добавлении ключа произошла ошибка.',\n })\n }\n}\n\nfunction* removeKeyWorker({ type, payload }) {\n try {\n yield call(Api.removeKey, payload)\n yield put({\n type: REMOVE_KEY_SUCCESS,\n payload: {\n intercomUuid: payload.uuid,\n },\n })\n } catch (err) {\n console.log(err)\n yield put({\n type: REMOVE_KEY_FAILURE,\n payload: 'При удалении ключа произошла ошибка.',\n })\n }\n}\n\nfunction* updateDeviceSoundWorker({ type, payload }) {\n try {\n yield call(Api.updateDeviceSounds, payload)\n yield put({\n type: UPDATE_DEVICE_SOUND_SUCCESS,\n payload: 'Успешно',\n })\n } catch (err) {\n console.log(err)\n yield put({\n type: UPDATE_DEVICE_SOUND_FAILURE,\n payload: 'При обновлении возникла ошибка.',\n })\n }\n}\n\nfunction* downloadKeysWorker({ type, payload }) {\n try {\n yield put({ type: DOWNLOAD_KEYS_LOADER_REQUEST })\n yield call(Api.downloadKeys, payload)\n yield put({\n type: GET_DEVICE_KEYS_COUNT_SUCCESS,\n })\n yield put({ type: DOWNLOAD_KEYS_LOADER_SUCCESS })\n } catch (err) {\n yield put({\n type: GET_DEVICE_KEYS_COUNT_FAILURE,\n })\n yield put({ type: DOWNLOAD_KEYS_LOADER_SUCCESS })\n }\n}\n\nfunction* resetDeviceCameraWorker({ type, payload }) {\n try {\n yield call(Api.resetDeviceCamera, payload)\n yield put({\n type: RESET_DEVICE_CAMERA_SUCCESS,\n payload: 'Камера была успешно перезапущена',\n })\n } catch (err) {\n yield put({\n type: RESET_DEVICE_CAMERA_FAILURE,\n payload: 'При получении перезагрузке камеры произошла ошибка',\n })\n }\n}\n\nfunction* updateAdcLevelsWorker({ type, payload }) {\n // try {\n // yield call(Api.resetDeviceCamera, payload)\n // yield put({\n // type: RESET_DEVICE_CAMERA_SUCCESS,\n // payload: 'Камера была успешно перезапущена',\n // })\n // } catch (err) {\n // yield put({\n // type: RESET_DEVICE_CAMERA_FAILURE,\n // payload: 'При получении перезагрузке камеры произошла ошибка',\n // })\n // }\n}\n\nfunction* lineTestWorker({ type, payload }) {\n try {\n const response = yield call(Api.lineTest, payload)\n yield put({\n type: LINE_TEST_SUCCESS,\n payload: `\n Квартира ${response.data.flat}\n Вольтаж ${response.data.com_line_voltage}\n Статус ${response.data.status}\n `,\n })\n } catch (err) {\n console.log(err)\n yield put({\n type: LINE_TEST_FAILURE,\n payload: `Не удалось запустить проверку. Пожалуйста, попробуйте еще раз.`,\n })\n }\n}\n\nfunction* toggleModeWorker({ type, payload }) {\n try {\n yield call(Api.toggleMode, payload)\n yield put({\n type: TOGGLE_MODE_SUCCESS,\n payload,\n })\n } catch (err) {\n yield put({\n type: TOGGLE_MODE_FAILURE,\n payload,\n })\n }\n}\n\n\n\nfunction* deleteAllFlatsWorker({ type, payload }) {\n try {\n yield call(Api.deleteAllFlats, payload)\n yield put({\n type: DELETE_ALL_FLATS_SUCCESS,\n payload,\n })\n } catch (err) {\n yield put({\n type: DELETE_ALL_FLATS_FAILURE,\n payload,\n })\n }\n}\n\nfunction* updateCodeCommentWorker({ type, payload }) {\n try {\n yield call(Api.updateCodeComment, payload)\n yield put({\n type: UPDATE_CODE_COMMENT_SUCCESS,\n payload: {\n deviceUuid: payload.intercomUuid,\n },\n })\n } catch (err) {\n yield put({\n type: UPDATE_CODE_COMMENT_FAILURE,\n payload,\n })\n }\n}\n\nfunction* uploadCodesButchWorker({ type, payload }) {\n try {\n yield put({ type: UPLOADING_CODES_REQUEST })\n yield call(Api.uploadCodesButch, payload)\n yield put({\n type: UPLOAD_CODES_BUTCH_SUCCESS,\n payload: {\n deviceUuid: payload.intercomUuid,\n },\n })\n yield put({ type: UPLOADING_CODES_SUCCESS })\n } catch (err) {\n yield put({\n type: UPLOAD_CODES_BUTCH_FAILURE,\n payload,\n })\n yield put({ type: UPLOADING_CODES_SUCCESS })\n }\n}\n\nfunction* downloadCodesWorker({ type, payload }) {\n try {\n put({ type: DOWNLOAD_CODES_LOADER_REQUEST })\n yield call(Api.downloadCodes, payload)\n yield put({ type: DOWNLOAD_CODES_LOADER_SUCCESS })\n } catch (err) {\n toastr.message('Что-то пошло не так!')\n }\n}\n\nexport function* deviceActionsSagas() {\n yield takeLatest(FACTORY_RESET_REQUEST, factoryResetWorker)\n yield takeLatest(UPDATE_TIMEZONE_REQUEST, updateTimeZoneWorker)\n yield takeLatest(DELETE_ACCESS_CODE_REQUEST, deleteAccessCodeWorker)\n yield takeLatest(DELETE_ALL_ACCESS_CODES_REQUEST, deleteAllAccessCodesWorker)\n yield takeLatest(ADD_ACCESS_CODE_REQUEST, addAccessCodeWorker)\n yield takeLatest(GET_DEVICE_ACCESS_CODES_REQUEST, getDeviceAccessCodesWorker)\n yield takeLatest(\n UPDATE_GENERAL_FLAT_INFO_REQUEST,\n updateGeneralFlatsInfoWorker\n )\n yield takeLatest(UPDATE_SIP_CONFIG_REQUEST, updateSIPConfigWorker)\n yield takeLatest(UPDATE_SOUND_CONFIG_REQUEST, updateSoundConfigWorker)\n yield takeLatest(UPDATE_NETWORK_INFO_REQUEST, updateNetworkInfoWorker)\n yield takeLatest(UPDATE_DOOR_OPEN_TIMER_REQUEST, updateDoorOpenTimerWorker)\n yield takeLatest(OPEN_DOOR_REQUEST, openDoorWorker)\n yield takeLatest(OPEN_SECOND_DOOR_REQUEST, openSecondDoorWorker)\n yield takeLatest(START_EMERGENCY_REQUEST, startEmergencyWorker)\n yield takeLatest(RESET_INTERCOM_REQUEST, resetIntercomWorker)\n yield takeLatest(UPDATE_STANDART_SOUND_REQUEST, updateStandartSoundWorker)\n yield takeLatest(UPLOAD_SOUND_REQUEST, uploadSoundWorker)\n yield takeLatest(UPLOAD_FIRMWARE_REQUEST, uploadFirmwareWorker)\n yield takeLatest(ADD_KEY_REQUEST, addKeyWorker)\n yield takeLatest(REMOVE_KEY_REQUEST, removeKeyWorker)\n yield takeLatest(UPDATE_DEVICE_SOUND_REQUEST, updateDeviceSoundWorker)\n yield takeLatest(RESET_DEVICE_SOUNDS_REQUEST, resetDeviceSoundsWorker)\n yield takeLatest(GET_DEVICE_KEYS_COUNT_REQUEST, getDeviceKeysCountWorker)\n yield takeLatest(RESET_DEVICE_CAMERA_REQUEST, resetDeviceCameraWorker)\n yield takeLatest(DOWNLOAD_KEYS_REQUEST, downloadKeysWorker)\n yield takeLatest(GET_NET_INFO_REQUEST, getNetInfoWorker)\n yield takeLatest(GET_URL_INFO_REQUEST, getURLInfoWorker)\n yield takeLatest(LINE_TEST_REQUEST, lineTestWorker)\n yield takeLatest(TOGGLE_MODE_REQUEST, toggleModeWorker)\n yield takeLatest(TOGGLE_MODE_SUCCESS, getDeviceInfoShadowWorker)\n yield takeLatest(DELETE_ALL_FLATS_REQUEST, deleteAllFlatsWorker)\n yield takeLatest(DELETE_ALL_FLATS_SUCCESS, getDeviceInfoShadowWorker)\n yield takeLatest(\n UPDATE_OPTIONAL_BUTTON_REQUEST,\n updateOptionalButtonConfigWorker\n )\n yield takeLatest(UPDATE_CODE_COMMENT_REQUEST, updateCodeCommentWorker)\n yield takeLatest(UPDATE_CODE_COMMENT_SUCCESS, getDeviceAccessCodesWorker)\n yield takeLatest(UPLOAD_CODES_BUTCH_REQUEST, uploadCodesButchWorker)\n yield takeLatest(UPLOAD_CODES_BUTCH_SUCCESS, getDeviceAccessCodesWorker)\n yield takeLatest(DOWNLOAD_CODES_REQUEST, downloadCodesWorker)\n // yield takeLatest(UPDATE_GENERAL_FLAT_INFO_SUCCESS,updateAdcLevelsWorker)\n}\n","import { all, fork, put, takeLatest, call, spawn } from 'redux-saga/effects'\nimport Api from 'api/sputnikApi'\nimport { GET_NET_INFO_SUCCESS } from './deviceActions'\n\n// types\nconst GET_DEVICE_INFO_REQUEST = 'device/GET_DEVICE_INFO_REQUEST'\nconst GET_DEVICE_INFO_SUCCESS = 'device/GET_DEVICE_INFO_SUCCESS'\nconst GET_DEVICE_INFO_FAILURE = 'device/GET_DEVICE_INFO_FAILURE'\n\nconst GET_DEVICE_LOGS_REQUEST = 'device/GET_DEVICE_LOGS_REQUEST'\nconst GET_DEVICE_LOGS_SUCCESS = 'device/GET_DEVICE_LOGS_SUCCESS'\nconst GET_DEVICE_LOGS_FAILURE = 'device/GET_DEVICE_LOGS_FAILURE'\n\nconst GET_DEVICE_USER_LOGS_REQUEST = 'device/GET_DEVICE_USER_LOGS_REQUEST'\nconst GET_DEVICE_USER_LOGS_SUCCESS = 'device/GET_DEVICE_USER_LOGS_SUCCESS'\nconst GET_DEVICE_USER_LOGS_FAILURE = 'device/GET_DEVICE_USER_LOGS_FAILURE'\n\nconst GET_SOUNDS_SUCCESS = 'device/GET_SOUNDS_SUCCESS'\nconst GET_SOUNDS_FAILURE = 'device/GET_SOUNDS_FAILURE'\n\nconst GET_DEVICE_INFO_SHADOW_REQUEST = 'device/GET_DEVICE_INFO_SHADOW_REQUEST'\nconst GET_DEVICE_INFO_SHADOW_SUCCESS = 'device/GET_DEVICE_INFO_SHADOW_SUCCESS'\nconst GET_DEVICE_INFO_SHADOW_FAILURE = 'device/GET_DEVICE_INFO_SHADOW_FAILURE'\n\nconst CLEAR_CURRENT_DEVICE_INFO_REQUEST =\n 'device/CLEAR_CURRENT_DEVICE_INFO_REQUEST'\nconst CLEAR_CURRENT_DEVICE_INFO = 'device/CLEAR_CURRENT_DEVICE_INFO'\n\nconst initialState = {\n fetched: false,\n currentDevice: {},\n shadowDevice: {},\n logs: { isFetching: false },\n userLogs: { isFetching: false },\n error: '',\n sounds: [],\n}\n\n// reducer\nexport default function device(state = initialState, action) {\n switch (action.type) {\n case GET_DEVICE_INFO_SUCCESS:\n return {\n ...state,\n currentDevice: action.payload,\n fetched: true,\n error: '',\n }\n case GET_DEVICE_INFO_FAILURE:\n return { ...state, error: action.payload, fetched: false }\n case GET_DEVICE_INFO_SHADOW_SUCCESS:\n return {\n ...state,\n shadowDevice: action.payload,\n fetched: true,\n error: '',\n }\n case GET_DEVICE_INFO_SHADOW_FAILURE:\n return { ...state, error: action.payload, fetched: false }\n case GET_DEVICE_LOGS_REQUEST:\n return { ...state, logs: { ...state.logs, isFetching: true } }\n case GET_DEVICE_LOGS_SUCCESS:\n return {\n ...state,\n logs: {\n total_pages: action.payload.pages_count,\n collection: action.payload.data,\n isFetching: false,\n },\n error: '',\n }\n case GET_DEVICE_LOGS_FAILURE:\n return { ...state, logs: { isFetching: false }, error: action.payload }\n\n case GET_DEVICE_USER_LOGS_REQUEST:\n return { ...state, userLogs: { ...state.userLogs, isFetching: true } }\n case GET_DEVICE_USER_LOGS_SUCCESS:\n return {\n ...state,\n userLogs: {\n total_pages: action.payload.pages_count,\n collection: action.payload.data,\n isFetching: false,\n },\n error: '',\n }\n case GET_DEVICE_USER_LOGS_FAILURE:\n return { ...state, userLogs: { isFetching: false }, error: action.payload }\n case GET_SOUNDS_SUCCESS:\n return { ...state, sounds: action.payload, error: '' }\n case GET_SOUNDS_FAILURE:\n return { ...state, success: '', error: action.payload }\n case CLEAR_CURRENT_DEVICE_INFO:\n return initialState\n case 'deviceActions/CLEAR_DEVICE_STATUS':\n return { ...state, error: '', success: '' }\n default:\n return state\n }\n}\n\n// action creators\nexport const getDeviceInfo = (id, history) => ({\n type: GET_DEVICE_INFO_REQUEST,\n payload: {\n id,\n history,\n },\n})\n\nexport const clearCurrentDeviceInfo = () => ({\n type: CLEAR_CURRENT_DEVICE_INFO_REQUEST,\n})\n\nexport const getDeviceLogs = (id, qty, page) => ({\n type: GET_DEVICE_LOGS_REQUEST,\n payload: {\n id,\n qty,\n page,\n },\n})\n\nexport const getDeviceUserLogs = (id, qty, page) => ({\n type: GET_DEVICE_USER_LOGS_REQUEST,\n payload: {\n id,\n qty,\n page,\n },\n})\n\nexport const getDeviceInfoShadow = (payload) => ({\n type: GET_DEVICE_INFO_SHADOW_REQUEST,\n payload,\n})\n\n// sagas\nfunction* getDeviceInfoWorker({ type, payload }) {\n try {\n const { id } = payload\n const response = yield call(Api.getDeviceInfo, id)\n const info = response.data\n yield put({ type: GET_DEVICE_INFO_SUCCESS, payload: info })\n return Promise.resolve()\n } catch (err) {\n const { history } = payload\n yield put({\n type: GET_DEVICE_INFO_FAILURE,\n payload:\n 'При получении информации об устройстве произошла ошибка. Такого устройства не существует.',\n })\n history.push('/')\n return Promise.reject()\n }\n}\n\nfunction* clearCurrentDeviceInfoWorker({ type, payload }) {\n yield put({ type: CLEAR_CURRENT_DEVICE_INFO })\n}\n\nfunction* getDeviceLogsWorker({ type, payload }) {\n try {\n const response = yield call(Api.getDeviceLogs, payload)\n const device = response.data\n yield put({ type: GET_DEVICE_LOGS_SUCCESS, payload: device })\n } catch (err) {\n yield put({ type: GET_DEVICE_LOGS_FAILURE, payload: err.message })\n }\n}\n\nfunction* getDeviceUserLogsWorker({ type, payload }) {\n try {\n const response = yield call(Api.getDeviceUserLogs, payload)\n const device = response.data\n yield put({ type: GET_DEVICE_USER_LOGS_SUCCESS, payload: device })\n } catch (err) {\n yield put({ type: GET_DEVICE_USER_LOGS_FAILURE, payload: err.message })\n }\n}\n\nexport function* getDeviceInfoShadowWorker({ type, payload }) {\n try {\n const response = yield call(Api.getDeviceInfoShadow, payload)\n const data = response.data\n yield put({ type: GET_DEVICE_INFO_SHADOW_SUCCESS, payload: data })\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: GET_DEVICE_INFO_SHADOW_FAILURE,\n })\n return Promise.reject()\n }\n}\n\nfunction* watchGetDeviceInfo() {\n yield takeLatest(GET_DEVICE_INFO_REQUEST, getDeviceInfoWorker)\n}\n\nfunction* watchClearCurrentDeviceInfo() {\n yield takeLatest(\n CLEAR_CURRENT_DEVICE_INFO_REQUEST,\n clearCurrentDeviceInfoWorker\n )\n}\n\nfunction* watchGetDeviceLogs() {\n yield takeLatest(GET_DEVICE_LOGS_REQUEST, getDeviceLogsWorker)\n}\n\nfunction* watchGetDeviceUserLogs() {\n yield takeLatest(GET_DEVICE_USER_LOGS_REQUEST, getDeviceUserLogsWorker)\n}\n\nfunction* watchGetDeviceInfoShadow() {\n yield takeLatest(GET_DEVICE_INFO_SHADOW_REQUEST, getDeviceInfoShadowWorker)\n}\n\nexport function* deviceSagas() {\n yield all([\n fork(watchGetDeviceInfo),\n spawn(watchGetDeviceLogs),\n spawn(watchGetDeviceUserLogs),\n spawn(watchGetDeviceInfoShadow),\n spawn(watchClearCurrentDeviceInfo),\n ])\n}\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgSputnik(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M17 1.01L7 1C5.9 1 5 1.9 5 3V21C5 22.1 5.9 23 7 23H17C18.1 23 19 22.1 19 21V3C19 1.9 18.1 1.01 17 1.01ZM17 17.002C17 17.6685 17 18.3345 17 19C17 19.6655 16.6687 20.005 16.0062 20.0184H8.01393C7.33798 20.005 7 19.6655 7 19C7 18.3345 7 17.6685 7 17.002V8.02431C7.00051 7.3515 7.33849 7.0151 8.01393 7.0151C8.97526 7.0151 9.82467 7.0151 11.0739 7.0151C12.0801 7.0151 12 6.62251 12 6.02935C12 5.43618 12 4.51615 12 4.00473C12 3.00365 12.6117 3.01734 12.9993 3.01734C13.1138 3.01734 14.7834 3.01734 16.0062 3.01734C16.6687 3.01734 17 3.34647 17 4.00473V17.002Z\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSputnik);\nexport default __webpack_public_path__ + \"static/media/Sputnik.58fac276.svg\";\nexport { ForwardRef as ReactComponent };","export const lightRed = '#eee'\n\nexport const red = '#db2828'\nexport const orange = '#f2711c'\nexport const yellow = '#fbbd08'\nexport const olive = '#b5cc18'\nexport const green = '#21ba45'\nexport const teal = '#008080'\nexport const blue = '#2185d0'\nexport const violet = '#6435c9'\nexport const purple = '#a333c8'\nexport const pink = '#e03997'\nexport const amber = '#FFC107'\n","import React from 'react'\nimport {\n Embed,\n Button,\n Container,\n Grid,\n Header,\n Icon,\n Dropdown,\n Segment,\n List,\n} from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport { green, red } from '../../theme'\nimport { formatDeviceId } from 'helpers'\nimport { ReactComponent as SputnikIcon } from 'Sputnik.svg'\n\nconst styles = {\n highlight: {\n color: 'black',\n },\n}\n// ${p => (p.isOnline ? 'rgb(232, 245, 233)' : 'rgb(255, 204, 231)')} 0%,\n\nconst HeaderStyled = styled.div`\n /* min-height: 420px; */\n padding: 2rem 2rem;\n /* linear-gradient(to right, #3ec8ac 0%, #4e90a4 100%); */\n background: #fafafa;\n\n background: radial-gradient(\n at top,\n ${(p) => (p.isOnline ? 'hsl(125, 100%, 88%)' : 'rgb(255, 204, 231)')} 0%,\n #fff\n );\n\n /* background: radial-gradient(\n at bottom,\n hsl(125, 39%, 54%) 0%,\n hsl(125, 39%, 34%) 80%\n ); */\n /* background:linear-gradient(to right,hsl(125, 39%, 54%) 0%, hsl(125, 39%, 34%) 100% ); */\n transition: all 1s ease-in-out;\n\n height: 40%;\n\n font-size: 2.5rem;\n\n @media screen and (max-width: 768px) {\n padding: 1rem 0;\n }\n`\n\nconst getShadowColor = (isOnline) => 'rgb(19, 111, 99) 0px 0px 20px 2px inset;'\n\nconst ActionsWrapper = styled.div`\n display: flex;\n /* flex-direction: column; */\n justify-content: flex-start;\n align-items: flex-end;\n flex-wrap: wrap;\n margin-top: auto;\n @media screen and (max-width: 990px) {\n width: 100%;\n align-items: center;\n }\n`\n\nconst Shadow = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n box-shadow: rgb(19, 111, 99) 0px 0px 20px 2px inset;\n`\nconst Wrapper = styled.div`\n display: grid;\n /* grid-template-columns: repeat(3, minmax(min-content, 1fr)); */\n grid-template-columns: 1fr min-content;\n grid-template-areas: 'embed settings';\n grid-template-rows: max-content;\n grid-gap: 1rem;\n\n @media screen and (max-width: 768px) {\n grid-template-columns: 1fr;\n grid-template-areas:\n 'embed'\n 'settings';\n }\n`\n\nconst DevicePageHeader = ({\n shadowDevice,\n currentDevice,\n onOpen,\n onSecondDoorOpen,\n isOpen,\n onResetIntercom,\n onCopyStreamClick,\n onResetDeviceCamera,\n doorDuration,\n handleDoorDurationChange,\n onCopyDeviceSerial,\n secondDoorOpen,\n}) => {\n return (\n \n \n {/*
*/}\n {/* */}\n \n
\n {currentDevice.video?.stream && currentDevice.video.stream.embed ? (\n \n ) : (\n
Not found
\n )}\n
\n\n {/* */}\n \n {/* // ) : (\n //
\n // Нет видео\n //
\n // )}\n //
*/}\n\n \n \n \n {formatDeviceId(currentDevice.motherboard_id.toString())}\n \n \n \n \n \n \n HW version\n \n {currentDevice.hardware_version}\n \n \n \n \n \n \n SW version\n \n {currentDevice.software_version}\n \n \n \n \n \n \n BLE version\n \n {currentDevice.ble_version || '-'}\n \n \n \n \n \n \n Serial Number: \n \n {currentDevice.serial_number}\n \n \n \n \n \n \n Camera stream: \n \n {currentDevice.video.stream.rtsp}\n {' '}\n \n \n \n \n \n \n \n Перезагрузить камеру\n \n \n \n Перезагрузить панель\n \n\n \n \n {' '}\n {isOpen ? (\n \n \n Открыто\n \n ) : (\n \n \n Открыть дверь\n \n )}\n \n \n \n \n \n {' '}\n {secondDoorOpen ? (\n \n \n Открыто\n \n ) : (\n \n \n Открыть вторую дверь\n \n )}\n \n \n \n\n {/* \n {isOpen ? (\n \n \n Открыто\n \n ) : (\n \n \n Открыть дверь\n \n )}\n */}\n \n \n
\n {/* */}\n
\n )\n}\n\nconst timeOptions = [\n {\n key: '1min',\n text: '1 минута',\n value: 60,\n },\n {\n key: '10min',\n text: '10 минут',\n value: 600,\n },\n {\n key: '1h',\n text: '1 час',\n value: 3600,\n },\n {\n key: '6h',\n text: '6 часов',\n value: 21600,\n },\n {\n key: '12h',\n text: '12 часов',\n value: 43200,\n },\n {\n key: '24h',\n text: '24 часа',\n value: 86400,\n },\n]\n\nexport default DevicePageHeader\n","import React from 'react'\nimport styled from 'styled-components'\n\nexport default function wrapCategory(WrappedComponent) {\n const StyledWrapper = styled.div`\n cursor: pointer;\n background: white;\n /* border-bottom: #eee 2px solid; */\n\n .ui.container.category-title {\n display: flex;\n margin-left: 0.325rem;\n }\n\n .title {\n text-transform: capitalize;\n /* color: #fff !important; */\n padding: 2.625rem 0 !important;\n font-size: 1.325rem !important;\n\n i {\n margin-left: auto;\n /* visibility: hidden; */\n }\n\n &:hover,\n &.active {\n i {\n visibility: visible;\n }\n }\n }\n\n .content {\n font-size: 1.5rem;\n padding: 3.625rem 0 !important;\n\n &.active {\n background: #fbfbfb;\n }\n }\n\n .update-button {\n margin-top: auto !important;\n }\n `\n\n const Category = props => (\n \n \n \n )\n\n return Category\n}\n","import { useState } from 'react'\n\nconst useInput = (initialValue, cb) => {\n const [value, setValue] = useState(initialValue)\n\n return {\n value,\n setValue,\n reset: () => setValue(''),\n bind: {\n value,\n onChange: event => {\n setValue(event.target.value)\n if (cb) {\n cb()\n }\n },\n },\n }\n}\nexport default useInput\n","import React, { useState } from 'react'\nimport {\n Button,\n Accordion,\n Container,\n Icon,\n Table,\n Form,\n Input,\n} from 'semantic-ui-react'\nimport Dropzone from 'react-dropzone'\nimport Flatpickr from 'react-flatpickr'\nimport { Russian } from 'flatpickr/dist/l10n/ru.js'\nimport 'flatpickr/dist/themes/light.css'\nimport styled from 'styled-components'\nimport useInput from 'hooks/useInput'\n\nconst styles = {\n input: { borderRadius: '10rem', margin: 0 },\n form: {\n display: 'grid',\n gridTemplateColumns: '1fr 1fr',\n gridGap: '.325rem',\n },\n}\n\nconst StyledForm = styled(Form)`\n && {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 0.325rem;\n .field {\n margin: 0;\n }\n input {\n border-radius: 10rem !important;\n }\n }\n`\n\nexport default function UploadSoundForm({ data, color, onSubmit, ...props }) {\n const [state, setState] = useState({\n startDate: data.start_time ? new Date(data.start_time * 1000) : undefined,\n endDate: data.finish_time ? new Date(data.finish_time * 1000) : undefined,\n acceptedFile: [],\n })\n\n const { value: startTime, bind: bindStartTime } = useInput('')\n const { value: endTime, bind: bindEndTime } = useInput('')\n\n const handleDrop = (accepted, rejected) => {\n setState({\n ...state,\n acceptedFile: accepted,\n rejectedFile: rejected,\n fileName: accepted[0].name,\n })\n }\n\n const handleSubmit = () => {\n const [startHours, startMinutes] = startTime.split(':')\n const start = new Date(state.startDate)\n start.setHours(startHours, startMinutes)\n\n const [endHours, endMinutes] = endTime.split(':')\n const end = new Date(state.endDate)\n end.setHours(endHours, endMinutes)\n\n onSubmit(start, end, state.acceptedFile)\n }\n\n return (\n \n \n \n Звук\n Диапазон дат\n Диапазон времени\n \n \n\n \n \n \n
\n \n {({ getInputProps, getRootProps }) => (\n \n \n \n {state.fileName || 'Выбрать звуковой файл'}\n \n )}\n \n \n
\n \n \n setState({ ...state, startDate: date[0] })}\n />\n setState({ ...state, endDate: date[0] })}\n />\n \n \n \n \n \n \n \n \n
\n
\n\n \n \n \n \n Отправить\n \n \n \n \n
\n )\n}\n","import React, { Component } from 'react'\nimport {\n Accordion,\n Button,\n Container,\n Icon,\n Table,\n Form,\n} from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport Flatpickr from 'react-flatpickr'\nimport { Russian } from 'flatpickr/dist/l10n/ru.js'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport Dropzone from 'react-dropzone'\nimport { orange, lightRed } from 'theme.js'\nimport UploadSoundForm from '../forms/UploadSoundForm'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${orange};\n }\n\n &.active {\n color: white !important;\n background: ${orange};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n\n .m-calendar {\n table {\n tr {\n td:first-child {\n border-left: 1px solid #dfe0e4 !important;\n }\n }\n tr:first-child {\n td {\n border-top: 1px solid #dfe0e4 !important;\n }\n }\n\n td{\n text-align: center;\n padding 8px 0;\n }\n }\n }\n`\n\nclass Poll extends Component {\n handleSubmit = (start, end, acceptedFile) => {\n this.props.onUpdateSound(\n 'polling',\n start.toISOString(),\n end.toISOString(),\n acceptedFile[0],\n )\n }\n\n render() {\n return (\n \n \n \n Опросы\n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default wrapCategory(Poll)\n","import React, { Component } from 'react'\nimport {\n Button,\n Accordion,\n Container,\n Icon,\n Table,\n Form,\n} from 'semantic-ui-react'\n\nimport styled from 'styled-components'\n\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { green, lightRed } from 'theme.js'\nimport UploadSoundForm from '../forms/UploadSoundForm'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${green};\n }\n\n &.active {\n color: white !important;\n background: ${green};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n\n .m-calendar {\n table {\n tr {\n td:first-child {\n border-left: 1px solid #dfe0e4 !important;\n }\n }\n tr:first-child {\n td {\n border-top: 1px solid #dfe0e4 !important;\n }\n }\n\n td{\n text-align: center;\n padding 8px 0;\n }\n }\n }\n`\n\nclass Social extends Component {\n handleSubmit = (start, end, acceptedFile) => {\n this.props.onUpdateSound(\n 'informing',\n start.toISOString(),\n end.toISOString(),\n acceptedFile[0],\n )\n }\n\n render() {\n return (\n \n \n \n социальное информирование\n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default wrapCategory(Social)\n","import React, { Component } from 'react'\nimport {\n Grid,\n Button,\n Icon,\n Accordion,\n Container,\n Popup,\n Input,\n Form,\n} from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport { connect } from 'react-redux'\nimport Dropzone from 'react-dropzone'\nimport { updateStandartSounds } from 'ducks/deviceActions'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { red, lightRed } from 'theme.js'\n\nimport { startEmergency } from 'ducks/deviceActions'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${red};\n }\n\n &.active {\n color: white !important;\n background: ${red};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\n\nconst StyledForm = styled(Form)`\n && {\n display: flex;\n width: 80%;\n margin-bottom: 1rem;\n max-width: 600px;\n\n & > div:first-child {\n margin-right: 0.625rem;\n }\n\n @media screen and (max-width: 768px) {\n flex-direction: column;\n align-items: center;\n\n & > div {\n width: 100%;\n\n &:first-child {\n margin-right: 0;\n }\n }\n }\n }\n`\n\nconst styles = {\n formWrapper: {\n display: 'flex',\n justifyContent: 'center',\n },\n formField: { flex: 1 },\n}\n\nclass Emergency extends Component {\n state = {\n popup: {\n isOpen: false,\n },\n val: 20,\n acceptedFile: [],\n rejectedFile: [],\n cycles: 1,\n unlockedTime: 5,\n }\n\n onEmergency = e => false\n\n handleChange = (e, { value }) => this.setState({ selectedSong: value })\n\n startEmergency = () => {\n const { cycles, unlockedTime, acceptedFile } = this.state\n\n const file = acceptedFile[0] || null\n\n this.props.startEmergency({\n id: this.props.id,\n type: 'start_emergency',\n file,\n cycles,\n unlockedTime,\n })\n this.setState({ acceptedFile: [] }) // could potentially clear input even if emergency started unsuccessfully\n }\n\n handleUpdate = () => {\n const { acceptedFile } = this.state\n if (acceptedFile[0]) {\n this.props.startEmergency({\n id: this.props.id,\n type: 'download_sound',\n file: acceptedFile[0],\n })\n this.setState({ popup: { isOpen: false }, selectedSong: null })\n } else {\n this.setState({ popup: { isOpen: true } })\n setTimeout(() => {\n this.setState({ popup: { isOpen: false } })\n }, 2500)\n }\n }\n\n onDrop = (accepted, rejected) => {\n this.setState({\n acceptedFile: accepted,\n rejectedFile: rejected,\n fileName: accepted[0].name,\n })\n }\n\n onChange = e => this.setState({ [e.target.name]: e.target.value })\n\n render() {\n return (\n \n \n \n Оповещение о ЧС\n \n \n \n \n \n {/* */}\n \n
\n \n \n \n \n \n \n \n \n \n \n
\n\n \n \n {({ getInputProps, getRootProps }) => (\n \n \n \n {this.state.fileName\n ? this.state.fileName\n : 'Выбрать звуковой файл'}\n \n )}\n \n\n \n \n }\n content=\"Вы не выбрали звук\"\n on=\"click\"\n open={this.state.popup.isOpen}\n position=\"top center\"\n />\n
\n \n \n \n
\n
\n
\n )\n }\n}\n\nconst mapStateToProps = ({ device: { currentDevice } }) => ({\n deviceId: currentDevice.device_id,\n})\n\nexport default connect(\n mapStateToProps,\n { updateStandartSounds, startEmergency },\n)(wrapCategory(Emergency))\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {\n Label,\n Grid,\n Form,\n Input,\n Segment,\n Button,\n Header,\n Dropdown,\n Checkbox,\n Modal,\n} from 'semantic-ui-react'\nimport { updateGeneralFlatsInfo, toggleMode } from 'ducks/deviceActions'\n\nconst center = {\n display: 'flex',\n justifyContent: 'center',\n}\n\nconst comOptions = [\n {\n key: 0,\n text: 'Метаком',\n value: 0,\n },\n {\n key: 1,\n text: 'Визит',\n value: 1,\n },\n {\n key: 2,\n text: 'Цифрал',\n value: 2,\n },\n {\n key: 3,\n text: 'Элтис',\n value: 3,\n },\n {\n key: 4,\n text: 'Daxis',\n value: 4,\n },\n]\n\nclass FlatsGeneral extends Component {\n state = {\n firstFlat: this.props.data.flats_first,\n lastFlat: this.props.data.flats_last,\n collectingKeys: this.props.data.collecting_keys,\n extCom: this.props.data.ext_com,\n offset: this.props.data.flat_offset,\n modified: false,\n modifiedMode: false,\n isIP: this.props.isIP,\n confirmModalOpen: false,\n }\n\n onSubmit = (e, element, ignoreModifiedModeCheck = false) => {\n if (\n !ignoreModifiedModeCheck &&\n this.state.modifiedMode &&\n this.state.isIP === true\n ) {\n return this.handleModalOpen()\n }\n if (this.state.modifiedMode) {\n this.props.toggleMode(this.props.id)\n }\n\n this.props.updateGeneralFlatsInfo({\n id: this.props.id,\n firstFlat: this.state.firstFlat,\n lastFlat: this.state.lastFlat,\n extCom: this.state.extCom,\n offset: this.state.offset,\n })\n this.setState({\n modified: false,\n modifiedMode: false,\n confirmModalOpen: false,\n })\n }\n\n onChange = (e) =>\n this.setState({ [e.target.name]: e.target.value, modified: true })\n\n onExtComChange = (e, { value }) =>\n this.setState({ extCom: value, modified: true })\n\n handleModalOpen = () => this.setState({ confirmModalOpen: true })\n\n handleModalClose = () => this.setState({ confirmModalOpen: false })\n\n render() {\n const { firstFlat, lastFlat, extCom, offset } = this.state\n const { style, ...props } = this.props\n\n return (\n \n Show Modal}\n open={this.state.confirmModalOpen}\n onClose={this.handleModalClose}\n basic\n size=\"small\">\n
\n \n

\n Отключая поддержку координатно-матричной линии вы отключаете\n поддержку работы с коммутатором и аналоговыми трубками\n

\n
\n \n \n this.onSubmit(null, null, true)}\n color=\"red\"\n circular>\n Все равно отключить\n \n \n \n\n
Квартиры
\n {/*
*/}\n \n \n \n this.setState({\n isIP: !this.state.isIP,\n modifiedMode: true,\n modified: true,\n })\n }\n checked={!this.state.isIP}\n />\n \n {!this.state.isIP && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n\n \n Обновить\n \n \n {/*
*/}\n \n )\n }\n}\n\nconst mapStateToProps = ({ device }) => ({\n data:\n device &&\n device.shadowDevice &&\n device.shadowDevice.properties &&\n device.shadowDevice.properties.base,\n id: device && device.shadowDevice && device.shadowDevice.device_id,\n isIP: device?.shadowDevice?.mode === 'ip',\n})\n\nexport default connect(mapStateToProps, { updateGeneralFlatsInfo, toggleMode })(\n FlatsGeneral\n)\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {\n Label,\n Grid,\n Form,\n Segment,\n Checkbox,\n Button,\n Modal,\n Header,\n Icon,\n} from 'semantic-ui-react'\nimport { updateGeneralFlatsInfo } from 'ducks/deviceActions'\n\nconst center = {\n display: 'flex',\n justifyContent: 'center',\n}\n\nclass Switches extends Component {\n state = {\n light: this.props.data.light_status,\n IR: this.props.data.infrared_status,\n collectingKeys: this.props.data.collecting_keys,\n modified: false,\n modifiedCollectingKeys: false,\n eraseKeys: null,\n confirmModalOpen: false,\n }\n\n onLightToggle = (e) =>\n this.setState({ light: !this.state.light, modified: true })\n\n onIRToggle = (e) => this.setState({ IR: !this.state.IR, modified: true })\n\n handleModalOpen = () => this.setState({ confirmModalOpen: true })\n\n handleModalClose = () => this.setState({ confirmModalOpen: false })\n\n collectingKeys = (e) =>\n this.setState({\n collectingKeys: !this.state.collectingKeys,\n modified: true,\n modifiedCollectingKeys: true,\n })\n\n onSubmit = (\n e,\n element,\n ignoreModifiedCollectingKeysCheck = false,\n eraseKeys,\n ) => {\n console.log(\n ignoreModifiedCollectingKeysCheck,\n !ignoreModifiedCollectingKeysCheck,\n this.state.modifiedCollectingKeys,\n )\n if (\n !ignoreModifiedCollectingKeysCheck &&\n this.state.modifiedCollectingKeys &&\n this.state.collectingKeys === true\n ) {\n return this.handleModalOpen()\n }\n this.props.updateGeneralFlatsInfo({\n id: this.props.device_id,\n collectingKeys: this.state.collectingKeys,\n light: this.state.light,\n infrared: this.state.IR,\n eraseKeys,\n })\n this.setState({\n modified: false,\n modifiedCollectingKeys: false,\n confirmModalOpen: false,\n })\n }\n\n render() {\n const { style, ...props } = this.props\n return (\n \n Show Modal}\n open={this.state.confirmModalOpen}\n onClose={this.handleModalClose}\n basic\n size=\"small\"\n >\n
\n \n

\n При включенном «Автосбор» все поднесенные ключи записываются в\n базу и будут добавлены к уже существующему списку после отключения\n режима.\n

\n
\n \n \n this.onSubmit(null, null, true, false)}\n inverted\n circular\n >\n Сохранить существующие ключи\n \n this.onSubmit(null, null, true, true)}\n inverted\n circular\n >\n Стереть ключи\n \n \n \n {/*
*/}\n {/* */}\n {/* */}\n \n {/* */}\n \n \n \n \n \n \n \n \n \n {/* */}\n\n \n Обновить\n \n \n \n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n data:\n state.device.shadowDevice.properties &&\n state.device.shadowDevice.properties.base,\n device_id: state.device.shadowDevice.device_id,\n})\n\nexport default connect(mapStateToProps, { updateGeneralFlatsInfo })(Switches)\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { Label, Grid, Form, Segment, Button, Header } from 'semantic-ui-react'\n// import Slider from 'components/global/Slider'\nimport { updateSoundConfig } from 'ducks/deviceActions'\nimport Slider, { createSliderWithTooltip, Range } from 'rc-slider'\nimport 'theme/slider.css'\nimport { blue } from 'theme'\n\nconst SliderWithTooltip = createSliderWithTooltip(Slider)\nconst RangeWithTooltip = createSliderWithTooltip(Range)\n\nconst center = {\n display: 'flex',\n justifyContent: 'center',\n}\n\nclass SoundSettings extends Component {\n state = {\n mainVolume: parseInt(this.props.sound_config.sound_config.general, 10),\n micLevel: parseInt(\n this.props.sound_config.sound_config.speak_handset_tx,\n 10,\n ),\n intercomSpeakerVolume: parseInt(\n this.props.sound_config.sound_config.speak_loudspeaker,\n 10,\n ),\n sipVolume: parseInt(this.props.sound_config.sound_config.speak_sip, 10),\n modified: false,\n }\n\n onSubmit = e => {\n this.props.updateSoundConfig({\n uuid: this.props.id,\n general: this.state.mainVolume,\n speak_handset_tx: this.state.micLevel,\n speak_loudspeaker: this.state.intercomSpeakerVolume,\n speak_sip: this.state.sipVolume,\n })\n this.setState({\n modified: false,\n })\n }\n\n // static getDerivedStateFromProps(props,state) {\n // if ()\n // }\n\n onChange = prop => val => this.setState({ [prop]: val, modified: true })\n\n render() {\n const {\n mainVolume,\n micLevel,\n intercomSpeakerVolume,\n sipVolume,\n modified,\n } = this.state\n return (\n \n
Настройки звука
\n
\n
\n \n \n
\n \n
\n
\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n Обновить\n \n \n
\n
\n )\n }\n}\n\nconst mapStateToProps = ({ device }) => ({\n data: device.shadowDevice.properties && device.shadowDevice.properties.base,\n sound_config:\n device.shadowDevice.properties &&\n device.shadowDevice.properties.sound_config,\n id: device.shadowDevice && device.shadowDevice.device_id,\n})\n\nexport default connect(mapStateToProps, { updateSoundConfig })(SoundSettings)\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {\n Label,\n Grid,\n Form,\n Input,\n Segment,\n Checkbox,\n Button,\n Header,\n Dropdown,\n} from 'semantic-ui-react'\nimport { updateDoorOpenTimers } from 'ducks/deviceActions'\n\nconst center = {\n display: 'flex',\n justifyContent: 'center',\n}\n\nconst comOptions = [\n {\n key: 0,\n text: 'NC', //NC Нормально закрыто\n value: 0,\n },\n {\n key: 1,\n text: 'NO', //NO Нормально открыто\n value: 1,\n },\n]\n\nclass DoorTimer extends Component {\n state = {\n general: this.props.data.door_open_time_general,\n social_message: this.props.data.door_open_time_social,\n emergency_message: this.props.data.door_open_time_emergency,\n bluetooth: this.props.data.door_open_time_bt,\n modified: false,\n door1: comOptions[0],\n door2: comOptions[0],\n lock_no_nc: 0,\n external_interface_door_ctrl: this.props.external_interface_door_ctrl,\n }\n\n onSubmit = (e) => {\n this.props.updateDoorOpenTimers({\n id: this.props.id,\n door_open_time_general: this.state.general,\n door_open_time_social: this.state.social_message,\n door_open_time_emergency: this.state.emergency_message,\n door_open_time_bt: this.state.bluetooth,\n lock_no_nc: this.state.lock_no_nc,\n external_interface_door_ctrl: this.state.external_interface_door_ctrl,\n })\n this.setState({\n modified: false,\n })\n }\n\n componentDidMount() {\n this.reverseLockTypeManager()\n }\n\n magnetControl = (e, { value, name }) => {\n const result = comOptions.filter((el) => el.value === value)[0]\n this.setState({ [name]: result }, () => this.lockTypeManager())\n }\n\n lockTypeManager = () => {\n const door1 = this.state.door1.value\n const door2 = this.state.door2.value\n\n let result\n if (door1 === 0 && door2 === 0) result = 0\n if (door1 === 1 && door2 === 0) result = 1\n if (door1 === 0 && door2 === 1) result = 2\n if (door1 === 1 && door2 === 1) result = 3\n\n this.setState({ lock_no_nc: result, modified: true })\n }\n\n reverseLockTypeManager = () => {\n const value = this.props.lock_no_nc\n this.setState({ lock_no_nc: value })\n switch (value) {\n case 0:\n return this.setState({\n door1: comOptions[0],\n door2: comOptions[0],\n })\n case 1:\n return this.setState({\n door1: comOptions[1],\n door2: comOptions[0],\n })\n\n case 2:\n return this.setState({\n door1: comOptions[0],\n door2: comOptions[1],\n })\n\n case 3:\n return this.setState({\n door1: comOptions[1],\n door2: comOptions[1],\n })\n\n default:\n return this.setState({\n door1: comOptions[0],\n door2: comOptions[0],\n })\n }\n }\n\n onChange = (e) =>\n this.setState({ [e.target.name]: e.target.value, modified: true })\n\n render() {\n const {\n general,\n social_message,\n emergency_message,\n bluetooth,\n external_interface_door_ctrl,\n } = this.state\n \n return (\n \n
Время открытия двери
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n this.setState({\n external_interface_door_ctrl: !!external_interface_door_ctrl\n ? 0\n : 1,\n modified: true,\n })\n }\n checked={!!external_interface_door_ctrl}\n />\n \n \n Обновить\n \n \n
\n
\n )\n }\n}\n\nconst mapStateToProps = ({ device }) => ({\n data: device.shadowDevice.properties && device.shadowDevice.properties.base,\n id: device.shadowDevice.device_id,\n lock_no_nc: device.shadowDevice?.properties.lock_no_nc,\n external_interface_door_ctrl:\n device.shadowDevice?.properties.external_interface_door_ctrl,\n})\n\nexport default connect(mapStateToProps, { updateDoorOpenTimers })(DoorTimer)\n","import { useRef, useEffect } from 'react'\n\nconst useIsMount = () => {\n const isMountRef = useRef(true)\n useEffect(() => {\n isMountRef.current = false\n }, [])\n return isMountRef.current\n}\n\nexport default useIsMount\n","import React, { useState, useEffect, useRef, useLayoutEffect } from 'react'\nimport {\n Label,\n Grid,\n Form,\n Segment,\n Button,\n Header,\n Input as SemanticInput,\n} from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { blue } from 'theme'\nimport 'theme/slider.css'\nimport { updateGeneralFlatsInfo } from 'ducks/deviceActions'\nimport useIsMount from 'hooks/useIsMount'\nimport * as Yup from 'yup'\nimport { Formik, Field, Form as FormikForm } from 'formik'\n\nconst MyForm = styled(Form)``\n\nconst center = {\n display: 'flex',\n justifyContent: 'center',\n}\n\nconst Input = (props) => \n\nconst schema = Yup.object().shape({\n default_threshold_call: Yup.number()\n .min(1.0, 'Не может быть меньше 1.00')\n .max(12.0, 'Не может быть больше 12.00'),\n default_threshold_door: Yup.number()\n .min(1.0, 'Не может быть меньше 1.00')\n .max(12.0, 'Не может быть больше 12.00'),\n})\n\nconst ResistanceLevels = ({ style = {}, ...props }) => {\n const isMount = useIsMount()\n const dispatch = useDispatch()\n\n const device = useSelector(({ device }) => device && device.shadowDevice)\n const baseConfig = device && device.properties && device.properties.base\n // const [modified, setModified] = useState(false)\n // const [level, setLevel] = useState(\n // (baseConfig.adc_levels && baseConfig.adc_levels[2]) || defaultValue\n // )\n // useEffect(() => {\n // if (!isMount) setModified(true)\n // }, [level])\n\n // const [{default_threshold_call,default_threshold_door}] = useState({\n // default_threshold_door: baseConfig.default_threshold_door,\n // default_threshold_call:baseConfig.default_threshold_call\n // })\n\n const handleSubmit = (values) => {\n // let newLevels = [...baseConfig.adc_levels]\n // newLevels.splice(-1, 1, level)\n console.log(values)\n dispatch(\n updateGeneralFlatsInfo({\n id: device.device_id,\n ...values,\n // default_threshold_call:,\n // default_threshold_door:,\n })\n )\n // setModified(false)\n }\n\n const [showDefault, setShowDefault] = useState(\n baseConfig &&\n baseConfig?.default_threshold_call === 0.0 &&\n baseConfig?.default_threshold_door === 0.0\n )\n\n const handleReset = () => {\n dispatch(\n updateGeneralFlatsInfo({\n id: device.device_id,\n default_threshold_call: 0,\n default_threshold_door: 0,\n })\n )\n setShowDefault(true)\n }\n\n return (\n \n
Регулировка уровней событий
\n\n {showDefault ? (\n \n Используются стандартные значения.\n setShowDefault(false)}\n />\n \n ) : (\n \n {({ errors }) => (\n \n \n \n \n {errors?.['default_threshold_door'] && (\n \n )}\n \n \n \n \n {errors?.['default_threshold_call'] && (\n \n )}\n \n
\n 0}\n // disabled={!modified}\n >\n Обновить\n \n \n
\n \n )}\n \n )}\n
\n )\n}\n\n// const mapStateToProps = ({ device }) => ({\n// data:\n// device &&\n// device.shadowDevice &&\n// device.shadowDevice.properties &&\n// device.shadowDevice.properties.base,\n// id: device && device.shadowDevice && device.shadowDevice.device_id,\n// })\n\n// export default connect(mapStateToProps, { updateGeneralFlatsInfo })(\n// FlatsGeneral,\n// )\n\nexport default ResistanceLevels\n","import React, { useState, useEffect, useRef, useLayoutEffect } from 'react'\nimport {\n Label,\n Grid,\n Form,\n Segment,\n Button,\n Header,\n Input,\n} from 'semantic-ui-react'\nimport Slider, { createSliderWithTooltip, Range } from 'rc-slider'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { blue } from 'theme'\nimport 'theme/slider.css'\nimport { updateGeneralFlatsInfo } from 'ducks/deviceActions'\nimport useInput from 'hooks/useInput'\nimport useIsMount from 'hooks/useIsMount'\n\nconst center = {\n display: 'flex',\n justifyContent: 'center',\n}\n\nconst TimeoutSettings = ({ style = {}, ...props }) => {\n const isMount = useIsMount()\n const dispatch = useDispatch()\n\n const device = useSelector(({ device }) => device && device.shadowDevice)\n const baseConfig = device && device.properties && device.properties.base\n const [modified, setModified] = useState(false)\n\n const { bind: bindSpeak, value: flatSpeak } = useInput(\n baseConfig.timeout_flat_speak / 1000,\n )\n const { bind: bindCall, value: flatCall } = useInput(\n baseConfig.timeout_flat_call / 1000,\n )\n useEffect(() => {\n if (!isMount) setModified(true)\n }, [flatCall, flatSpeak])\n\n const handleSubmit = () => {\n dispatch(\n updateGeneralFlatsInfo({\n id: device.device_id,\n timeout_flat_speak: flatSpeak * 1000,\n timeout_flat_call: flatCall * 1000,\n }),\n )\n setModified(false)\n }\n\n return (\n \n
Звонки
\n\n \n \n \n\n \n \n \n \n \n \n\n \n Обновить\n \n \n \n )\n}\n\n// const mapStateToProps = ({ device }) => ({\n// data:\n// device &&\n// device.shadowDevice &&\n// device.shadowDevice.properties &&\n// device.shadowDevice.properties.base,\n// id: device && device.shadowDevice && device.shadowDevice.device_id,\n// })\n\n// export default connect(mapStateToProps, { updateGeneralFlatsInfo })(\n// FlatsGeneral,\n// )\n\nexport default TimeoutSettings\n","import React from 'react'\nimport { Accordion, Container, Icon } from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { lightRed } from 'theme.js'\nimport Flats from 'components/forms/FlatsGeneral'\nimport Switches from 'components/forms/Switches'\nimport SoundSettings from 'components/forms/SoundSettings'\nimport DoorTimer from 'components/forms/DoorTimer'\nimport ResistanceLevels from 'components/forms/ResistanceLevels'\nimport TimeoutSettings from 'components/forms/TimeoutSettings'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${'#000'};\n }\n\n &.active {\n color: white !important;\n background: ${'#000'};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\n\nconst Flex = styled.div`\n display: grid;\n /* grid-auto-rows: 1fr; */\n grid-gap: 1rem;\n & > div {\n margin: 0rem !important;\n }\n\n grid-template-columns: repeat(5, minmax(min-content, 1fr));\n grid-template-areas:\n 'controls timeout slider-1 slider-1 slider-1'\n 'flats door slider-2 slider-2 slider-2';\n grid-template-rows: max-content;\n\n @media screen and (max-width: 568px) {\n grid-template-columns: 1fr;\n grid-template-areas:\n 'controls'\n 'flats'\n 'door'\n 'timeout'\n 'slider-1'\n 'slider-2';\n\n /* grid-template-columns: repeat(12, minmax(auto-fit,1fr)); */\n }\n`\n\nconst GeneralSettings = ({ activeIndex, handleClick }) => (\n \n \n \n общие настройки\n \n \n \n\n \n \n \n \n \n\n \n\n \n \n\n \n {/* \n \n\n \n\n \n */}\n \n \n \n \n)\n\nexport default wrapCategory(GeneralSettings)\n","import React from 'react'\nimport { Accordion, Container, Icon } from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { pink, lightRed } from 'theme.js'\nimport { Link } from 'react-router-dom'\n\nconst Wrapper = styled.div`\n a {\n display: block;\n }\n\n .title {\n &:hover {\n color: white !important;\n background: ${pink};\n }\n\n &.active {\n color: white !important;\n background: ${pink};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\n\nconst FlatsListing = ({ id }) => {\n return (\n \n \n \n квартиры\n \n \n \n \n )\n}\n\nexport default wrapCategory(FlatsListing)\n","import React from 'react'\nimport { Accordion, Container, Icon } from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { blue, lightRed } from 'theme.js'\nimport { Link } from 'react-router-dom'\n\nconst Wrapper = styled.div`\n a {\n display: block;\n }\n\n .title {\n &:hover {\n color: white !important;\n background: ${blue};\n }\n\n &.active {\n color: white !important;\n background: ${blue};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\n\nconst KeysListing = ({ id }) => {\n return (\n \n \n \n ключи\n \n \n \n \n )\n}\n\nexport default wrapCategory(KeysListing)\n","import React from 'react'\nimport { Accordion, Container, Icon } from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { olive } from 'theme.js'\nimport { Link } from 'react-router-dom'\n\nconst Wrapper = styled.div`\n a {\n display: block;\n }\n\n .title {\n &:hover {\n color: white !important;\n background: ${olive};\n }\n\n &.active {\n color: white !important;\n background: ${olive};\n }\n }\n`\n\nconst KeysListing = ({ id }) => {\n return (\n \n \n \n Коды доступа\n \n \n \n \n )\n}\n\nexport default wrapCategory(KeysListing)\n","import React, { Component } from 'react'\nimport {\n Grid,\n Button,\n Icon,\n Accordion,\n Container,\n Message,\n Checkbox,\n} from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport Dropzone from 'react-dropzone'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { purple, lightRed } from 'theme.js'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${purple};\n }\n\n &.active {\n color: white !important;\n background: ${purple};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\n\n// const options = [\n// { key: '1', text: '1', value: 1 },\n// { key: '2', text: '234', value: 234 },\n// ]\n\nclass Firmware extends Component {\n state = {\n error: '',\n acceptedFile: [],\n rejectedFile: [],\n bluetoothFirmware: false,\n }\n\n onUpdate = e => false\n\n handleChange = (e, { value }) => this.setState({ selectedFirmware: value })\n\n handleClick = () => {\n if (this.state.acceptedFile.length < 1) {\n this.setState({ error: 'Выберите файл' })\n } else {\n this.props.uploadFirmware({\n uuid: this.props.id,\n file: this.state.acceptedFile[0],\n firmwareType: this.state.bluetoothFirmware ? 'bluetooth' : 'main',\n })\n this.setState({\n acceptedFile: [],\n rejectedFile: [],\n fileName: null,\n error: '',\n })\n }\n }\n\n render() {\n return (\n \n \n \n прошивка\n \n \n \n \n \n \n Тип прошивки\n \n
\n this.setState({ bluetoothFirmware: false })}\n >\n \n Основной модуль{' '}\n \n \n this.setState({\n bluetoothFirmware: !this.state.bluetoothFirmware,\n })\n }\n />{' '}\n this.setState({ bluetoothFirmware: true })}\n >\n \n Bluetooth модуль\n \n
\n
\n \n {\n this.setState({\n acceptedFile: accepted,\n rejectedFile: rejected,\n fileName: accepted[0].name,\n })\n }}\n >\n {({ getInputProps, getRootProps }) => (\n \n \n \n {this.state.fileName\n ? this.state.fileName\n : 'Выбрать файл'}\n \n )}\n \n \n Загрузить\n \n \n {this.state.error !== '' && this.state.acceptedFile.length < 1 && (\n \n

{this.state.error}

\n
\n )}\n
\n
\n
\n
\n )\n }\n}\n\nexport default wrapCategory(Firmware)\n","import React from 'react'\nimport { Accordion, Container, Icon } from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { yellow, lightRed } from 'theme.js'\nimport { Link } from 'react-router-dom'\n\nconst Wrapper = styled.div`\n a {\n display: block;\n }\n\n .title {\n &:hover {\n color: white !important;\n background: ${yellow};\n }\n\n &.active {\n color: white !important;\n background: ${yellow};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\n\nconst LogsListing = ({ id }) => {\n return (\n \n \n \n логи\n \n \n \n \n )\n}\n\nexport default wrapCategory(LogsListing)\n","import React from 'react'\nimport { Accordion, Container, Icon } from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { yellow, lightRed } from 'theme.js'\nimport { Link } from 'react-router-dom'\n\nconst Wrapper = styled.div`\n a {\n display: block;\n }\n\n .title {\n &:hover {\n color: white !important;\n background: ${yellow};\n }\n\n &.active {\n color: white !important;\n background: ${yellow};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\n\nconst UserLogsListing = ({ id }) => {\n return (\n \n \n \n Пользовательские логи\n \n \n \n \n )\n}\n\nexport default wrapCategory(UserLogsListing)\n","import React, { Component } from 'react'\nimport {\n Grid,\n Dropdown,\n Button,\n Icon,\n Accordion,\n Container,\n Message,\n Form,\n} from 'semantic-ui-react'\nimport Dropzone from 'react-dropzone'\nimport { connect } from 'react-redux'\nimport { updateStandartSounds, resetDeviceSounds } from 'ducks/deviceActions'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { teal, lightRed } from 'theme.js'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${teal};\n }\n\n &.active {\n color: white !important;\n background: ${teal};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\nconst actionsOptions = [\n {\n key: '1',\n text: '«Выход» Открытие двери из подъезда изнутри(5сек)',\n value: 1,\n duration: 5,\n },\n {\n key: '2',\n text: 'Ключ не верный, несуществующий номер, квартира блокирована(5 сек)',\n value: 2,\n duration: 5,\n },\n { key: '3', text: 'Звонок в 112(5 сек)', value: 3, duration: 5 },\n {\n key: '4',\n text: '«Трель» Звонок в квартиру(5 сек.)',\n value: 15,\n duration: 5,\n },\n {\n key: '5',\n text: '«Гость» При входе гостя в дверь(10 сек)',\n value: 16,\n duration: 10,\n },\n {\n key: '6',\n text: '«Вход» Открытие двери в подъезд по ключу. Обычная трель(5 сек)',\n value: 17,\n duration: 5,\n },\n { key: '7', text: '«Опрос завершен» (10 сек)', value: 18, duration: 10 },\n]\n\nclass StandardSounds extends Component {\n state = {\n selectedAction: null,\n error: '',\n acceptedFile: [],\n }\n\n handleActionChange = (e, { value }) =>\n this.setState({ selectedAction: value, error: '' })\n\n handleSubmit = () => {\n const { acceptedFile, selectedAction } = this.state\n\n this.props.updateStandartSounds({\n id: this.props.id,\n soundId: selectedAction,\n file: acceptedFile[0],\n })\n }\n\n onDrop = (accepted, rejected) => {\n this.setState({\n acceptedFile: accepted,\n rejectedFile: rejected,\n fileName: accepted[0].name,\n })\n }\n\n handleResetSounds = () => {\n this.props.resetDeviceSounds(this.props.id)\n }\n\n render() {\n const { selectedAction, error } = this.state\n\n return (\n \n \n \n Стандартные звуки\n \n \n \n \n \n \n \n
\n \n \n
\n\n \n \n {({ getInputProps, getRootProps }) => (\n \n \n \n {this.state.fileName\n ? this.state.fileName\n : 'Выбрать звуковой файл'}\n \n )}\n \n \n\n {error.length > 0 && (\n \n \n \n

{this.state.error}

\n
\n
\n
\n )}\n \n \n \n \n
\n \n \n \n \n \n )\n }\n}\nconst mapStateToProps = ({ device }) => ({\n sounds: device.sounds,\n})\n\nexport default connect(\n mapStateToProps,\n { updateStandartSounds, resetDeviceSounds },\n)(wrapCategory(StandardSounds))\n","import React, { Component } from 'react'\nimport {\n Accordion,\n Container,\n Icon,\n Form,\n Input,\n Button,\n Checkbox,\n} from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\n\nimport { violet, lightRed } from 'theme.js'\nimport { connect } from 'react-redux'\nimport { updateSIPConfig } from 'ducks/deviceActions'\nimport { Switch, withRouter } from 'react-router-dom'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${violet};\n }\n\n &.active {\n color: white !important;\n background: ${violet};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\n\nclass SIP extends Component {\n state = {\n server: this.props.data.server,\n username: this.props.data.username,\n login: this.props.data.login,\n pass: this.props.data.pass,\n incoming_call: this.props.data.incoming_call || false,\n call_password: this.props.data.call_password,\n dtmf_open_door: this.props.data.dtmf_open_door,\n isVisible: false,\n }\n\n onChange = (e) => this.setState({ [e.target.name]: e.target.value })\n\n onSubmit = (e) => {\n e.preventDefault()\n\n const modifiedPass = !/\\*+/g.test(this.state.pass)\n\n let newConfig = {\n id: this.props.match.params.id,\n server: this.state.server,\n username: this.state.username,\n login: this.state.login,\n pass: modifiedPass ? this.state.pass : null,\n call_password: this.state.call_password,\n dtmf_open_door: this.state.dtmf_open_door,\n incoming_call: this.state.incoming_call,\n }\n\n this.props.updateSIPConfig(newConfig)\n }\n\n render() {\n const { activeIndex, handleClick } = this.props\n return (\n \n \n \n конфигурация SIP\n \n \n \n\n \n \n
\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n\n {\n if (!this.state.isVisible) {\n this.setState({ isVisible: true })\n this.setState({ pass: '' })\n }\n }}\n onChange={(e) => {\n this.onChange(e)\n }}\n />\n \n \n \n \n this.setState({ incoming_call: checked })\n }\n >\n \n {this.state.incoming_call && (\n <>\n \n \n \n \n \n \n \n\n \n \n \n \n )}\n
\n \n Обновить данные\n \n
\n
\n
\n
\n
\n )\n }\n}\n\nexport default connect(null, { updateSIPConfig })(withRouter(wrapCategory(SIP)))\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {\n Grid,\n Form,\n Input,\n Button,\n Popup,\n Checkbox,\n Icon,\n} from 'semantic-ui-react'\nimport { updateNetworkInfo } from 'ducks/deviceActions'\nimport { amber } from 'theme'\n\nclass NetworkSettings extends Component {\n state = {\n staticIp: this.props.data.network_static_ip || '',\n gateway: this.props.data.network_gateway || '',\n subnet: this.props.data.network_subnet || '',\n dns: this.props.data.network_dns || '',\n mac: this.props.data.network_mac || '02:34:56:78:9A:BC',\n modified: false,\n staticIpValid: true,\n gatewayValid: true,\n subnetValid: true,\n dnsValid: true,\n }\n\n onSubmit = (e) => {\n const { staticIp, gateway, subnet, dns, mac, modified } = this.state\n\n const isStatic = this.state.staticIp && this.state.staticIp.length > 0\n\n if (isStatic) {\n // validate ip in network fields\n const errors = Object.entries(this.state).reduce((acc, entry) => {\n if (\n entry[0].search('Valid') === -1 && // if state name doesn`t include \"Valid\" string\n entry[0].search('modified') === -1 &&\n entry[0].search('mac') === -1 // or \"mac\"\n ) {\n // if (entry[1] !== '') {\n // if state`s value not empty\n if (!this.validate(entry[1])) {\n // if validation fails\n acc = true // set errors to true\n this.setState({\n [`${entry[0]}Valid`]: false,\n }) // show error to the user\n } else {\n this.setState({\n [`${entry[0]}Valid`]: true,\n }) //\n }\n // } else {\n // this.setState({\n // [`${\n // entry[0] // validate value\n // }Valid`]: true,\n // }) // set state\n // }\n }\n return acc\n }, false)\n console.log(`${modified} ${errors}`)\n\n if (modified && !errors) {\n this.props.updateNetworkInfo({\n uuid: this.props.deviceId,\n network_static_ip: staticIp,\n network_gateway: gateway,\n network_subnet: subnet,\n network_dns: dns,\n network_mac: mac,\n })\n this.setState({\n modified: false,\n })\n }\n } else {\n if (modified) {\n this.props.updateNetworkInfo({\n uuid: this.props.deviceId,\n network_static_ip: staticIp,\n network_gateway: '',\n network_subnet: '',\n network_dns: '',\n // network_mac: '',\n })\n this.setState({\n modified: false,\n staticIp: '',\n gateway: '',\n subnet: '',\n dns: '',\n })\n }\n }\n }\n\n validate = (value) => {\n const ipPattern = RegExp(\n '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'\n )\n return ipPattern.test(value)\n }\n\n handleBlur = (props) => (e) => {\n const { value } = e.target\n\n this.setState({\n [`${props}Valid`]: value === '' || this.validate(value),\n })\n }\n\n onFocus = (props) => (e) => {\n this.setState({\n [`${props}Valid`]: true,\n })\n }\n\n onChange = (e) =>\n this.setState({ [e.target.name]: e.target.value, modified: true })\n\n handleUnCheck = () => {\n this.setState({\n staticIp: '',\n gateway: '',\n subnet: '',\n dns: '',\n staticIpValid: true,\n gatewayValid: true,\n subnetValid: true,\n dnsValid: true,\n modified: true,\n })\n }\n\n render() {\n const {\n staticIp,\n gateway,\n subnet,\n dns,\n mac,\n staticIpValid,\n dnsValid,\n gatewayValid,\n subnetValid,\n } = this.state\n\n const isStatic = this.state.staticIp && this.state.staticIp.length > 0\n return (\n \n \n {\n isStatic && this.handleUnCheck()\n }}\n style={{\n display: 'flex',\n alignItems: 'center',\n marginBottom: '2rem',\n }}\n >\n DHCP \n {' '}\n Static IP\n \n \n
\n \n \n \n \n \n \n \n \n }\n content={`Невалидный IP адрес. Пример: 192.162.1.1`}\n open={!gatewayValid}\n />\n \n \n \n \n \n \n }\n content={`Невалидный IP адрес. Пример: 192.162.1.1`}\n open={!subnetValid}\n />\n \n \n \n \n }\n content={`Невалидный IP адрес. Пример: 192.162.1.1`}\n open={!dnsValid}\n />\n \n \n \n \n \n \n \n \n (this.submit = submit)}\n disabled={!this.state.modified}\n >\n Обновить данные\n \n \n \n
\n
\n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n data:\n state.device.shadowDevice.properties &&\n state.device.shadowDevice.properties.base,\n deviceId: state.device.shadowDevice.device_id,\n})\n\nexport default connect(mapStateToProps, { updateNetworkInfo })(NetworkSettings)\n","import React, { Component } from 'react'\nimport { Grid, Icon, Accordion, Container } from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { amber } from 'theme.js'\nimport NetworkSettings from '../forms/NetworkSettings'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${amber};\n }\n\n &.active {\n color: white !important;\n background: ${amber};\n }\n }\n`\n\nclass Network extends Component {\n render() {\n return (\n \n \n \n Настройка сети\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nexport default wrapCategory(Network)\n","import React, { Component } from 'react'\nimport {\n Accordion,\n Button,\n Container,\n Icon,\n Table,\n Form,\n Input,\n Checkbox,\n} from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport Flatpickr from 'react-flatpickr'\nimport { Russian } from 'flatpickr/dist/l10n/ru.js'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport Dropzone from 'react-dropzone'\nimport { violet, lightRed } from 'theme.js'\nimport UploadSoundForm from '../forms/UploadSoundForm'\nimport { withRouter } from 'react-router-dom'\nimport { updateOptionalButtonConfig } from 'ducks/deviceActions'\nimport { connect } from 'react-redux'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${violet};\n }\n\n &.active {\n color: white !important;\n background: ${violet};\n }\n }\n`\n\nclass SOS extends Component {\n state = {\n sip_server: this.props.data.sip_server,\n sip_username: this.props.data.sip_username,\n sip_login: this.props.data.sip_login,\n sip_pass: this.props.data.sip_pass,\n sip_call_uri: this.props.data.sip_call_uri,\n use_main_sip_credentials: this.props.data.use_main_sip_credentials,\n isVisible: false,\n }\n\n onChange = (e) => this.setState({ [e.target.name]: e.target.value })\n\n onSubmit = (e) => {\n e.preventDefault()\n\n const modifiedPass = !/\\*+/g.test(this.state.pass)\n\n let newConfig = {\n id: this.props.match.params.id,\n sip_server: this.state.sip_server,\n sip_username: this.state.sip_username,\n sip_login: this.state.sip_login,\n sip_pass: modifiedPass ? this.state.sip_pass : null,\n sip_call_uri: this.state.sip_call_uri,\n use_main_sip_credentials: this.state.use_main_sip_credentials,\n }\n\n this.props.updateOptionalButtonConfig(newConfig)\n }\n render() {\n return (\n \n \n \n Опциональная клавиша (Инфо/SOS/112)\n \n \n \n \n \n
\n \n \n \n \n \n \n this.setState({ use_main_sip_credentials: checked })\n }>\n \n\n {!this.state.use_main_sip_credentials && (\n <>\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n\n this.setState({ isVisible: true })}\n onBlur={() => this.setState({ isVisible: false })}\n onChange={(e) => {\n this.onChange(e)\n }}\n />\n \n \n \n )}\n\n
\n \n Обновить данные\n \n
\n
\n
\n
\n
\n )\n }\n}\n\nexport default connect(null, { updateOptionalButtonConfig })(\n wrapCategory(withRouter(SOS))\n)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { Icon, Button } from 'semantic-ui-react'\n\nconst styles = {\n marginLeft: 'auto',\n marginBottom: '0.625rem',\n background: 'black',\n}\n\nconst PanelStatus = ({ is_online }) => (\n \n)\n\nconst mapStateToProps = ({\n device: {\n currentDevice: { is_online },\n },\n}) => ({\n is_online: is_online,\n})\n\nexport default connect(mapStateToProps)(PanelStatus)\n","import React from 'react'\nimport styled from 'styled-components'\nimport { connect } from 'react-redux'\nimport { Header, Icon, Button } from 'semantic-ui-react'\nimport { withRouter } from 'react-router-dom'\nimport { getDeviceInfo, getDeviceInfoShadow } from 'ducks/device'\n\nconst propNames = {\n base: 'Общие настройки',\n flats_config: 'Квартиры',\n sip_credentials: 'Настройки  SIP',\n social: 'Социальное информирование',\n poll: 'Опросы',\n emergency: 'Оповещения о ЧС',\n sound_config: 'Настройки звука',\n standard_sounds: 'Стандартные звуки',\n keys_config: 'Ключи',\n digital_keys_config: 'Цифровые коды',\n}\n\nconst Wrapper = styled.div`\n & > *:nth-child(2) {\n padding: 0.625rem;\n }\n`\n\nconst UnsyncWrapper = styled(Wrapper)`\n background: white;\n border: 2px solid black;\n border-radius: 10px;\n`\n\nconst Title = styled.div`\n background: black;\n color: white;\n /* height: 1.625rem; */\n padding: 0.625rem;\n display: flex;\n justify-content: center;\n`\n\nclass SyncStatus extends React.Component {\n state = {\n unsync: [],\n }\n\n componentDidMount() {\n this.checkSyncStatus()\n this._updateIntervalId = window.setInterval(this.updateDeviceInfo, 3000)\n }\n\n componentWillUnmount() {\n clearInterval(this._updateIntervalId)\n }\n\n updateDeviceInfo = async () => {\n const { match, history, dispatch } = this.props\n await Promise.all([\n dispatch(getDeviceInfo(match.params.id, history)),\n dispatch(getDeviceInfoShadow(match.params.id)),\n ])\n this.checkSyncStatus()\n }\n\n checkSyncStatus = () => {\n const { currentDevice, shadowDevice } = this.props\n\n const currentProps = Object.entries(currentDevice.properties).map(\n entry => ({\n name: entry[0],\n checksum: entry[1].checksum,\n }),\n )\n const shadowProps = Object.entries(shadowDevice.properties).map(entry => ({\n name: entry[0],\n checksum: entry[1].checksum,\n }))\n\n const unsync = currentProps.filter(\n (prop, ind) => prop.checksum !== shadowProps[ind].checksum,\n )\n this.setState({ unsync })\n }\n\n render() {\n const { unsync } = this.state\n\n return unsync.length > 0 ? (\n \n Статус синхронизации\n
\n {unsync.map(prop => (\n \n \n {propNames[prop.name]}\n \n ))}\n
\n
\n ) : (\n \n \n Устройство синхронизировано\n \n )\n }\n}\n\nconst mapStateToProps = ({ device: { currentDevice, shadowDevice } }) => ({\n currentDevice,\n shadowDevice,\n})\n\nexport default connect(mapStateToProps)(withRouter(SyncStatus))\n","import React from 'react'\nimport styled from 'styled-components'\nimport PanelStatus from './PanelStatus'\nimport Sync from './Sync'\n\nconst Sticky = styled.div`\n position: fixed;\n bottom: 1.625rem;\n right: 1.625rem;\n display: flex;\n justify-content: flex-end;\n flex-direction: column;\n`\n\nexport default () => (\n \n \n \n \n)\n","import * as d3 from 'd3'\n\n/*\n Sample Usage:\n \n var myData = {\n \"name\": \"Root\",\n \"children\": [\n {\n \"name\": \"Branch 1\",\n \"children\": [\n {\"name\": \"Leaf 3\"},\n {\"name\": \"Leaf 4\"}\n ]\n },\n {\"name\": \"Branch 2\"}\n ]\n };\n \n var chart = MindMap()\n .width(900)\n .height(500)\n ;\n \n d3.select('#chart svg')\n .datum(myData)\n .call(chart)\n ;\n*/\n\nexport default function MindMap() {\n var margin = { top: 20, left: 120, bottom: 20, right: 120 },\n width = 960,\n height = 500,\n duration = 500,\n identity = '_id',\n handleClick = function() {},\n text = function(d) {\n return d.name\n },\n idx = 0,\n enterNode = function(node) {\n node.append('svg:circle').attr('r', 1e-6)\n\n node\n .append('svg:text')\n .attr('text-anchor', 'middle')\n .attr('dy', 14)\n .text(text)\n .style('fill-opacity', 1)\n },\n updateNode = function(node) {\n node.select('text').text(text)\n\n node.select('circle').attr('r', 4.5)\n },\n exitNode = function(node) {\n node.select('circle').attr('r', 1e-6)\n\n node.select('text').style('fill-opacity', 1e-6)\n }\n var connector = MindMap.elbow\n\n var chart = function(selection) {\n selection.each(function(root) {\n var w = width - margin.left - margin.right\n var h = height - margin.top - margin.bottom\n\n var container = d3.select(this)\n var vis = container.attr('width', width).attr('height', height)\n var graphRoot = vis.select('g')\n console.log(graphRoot)\n if (!graphRoot.__groups[0][0]) {\n vis = vis.append('svg:g')\n } else {\n vis = graphRoot\n }\n vis = vis.attr(\n 'transform',\n 'translate(' + (w / 2 + margin.left) + ',' + margin.top + ')',\n )\n\n root.x0 = h / 2\n root.y0 = 0\n\n var tree = d3.tree().size([h, w])\n\n chart.update = function() {\n container\n .transition()\n .duration(duration)\n .call(chart)\n }\n\n // Ensure we have Left and Right node lists\n if (!(root.left || root.right)) {\n var i = 0,\n l = (root.children || []).length\n root.left = []\n root.right = []\n for (; i < l; i++) {\n if (i % 2) {\n root.left.push(root.children[i])\n root.children[i].position = 'left'\n } else {\n root.right.push(root.children[i])\n root.children[i].position = 'right'\n }\n }\n }\n\n // Compute the new tree layout.\n var nodesLeft = tree\n .size([h, w / 2 - 20])\n .children(function(d) {\n return d.depth === 0 ? d.left : d.children\n })\n .nodes(root)\n .reverse()\n var nodesRight = tree\n .size([h, w / 2])\n .children(function(d) {\n return d.depth === 0 ? d.right : d.children\n })\n .nodes(root)\n .reverse()\n root.children = root.left.concat(root.right)\n var nodes = (window.nodes = (function(left, right) {\n var root = right[right.length - 1]\n left.pop()\n left.forEach(function(node) {\n node.y = -node.y\n node.parent = root\n })\n return left.concat(right)\n })(nodesLeft, nodesRight))\n\n // Update the nodes…\n var node = vis.selectAll('g.node').data(nodes, function(d) {\n return d[identity] || (d[identity] = ++idx)\n })\n\n // Enter any new nodes at the parent's previous position.\n var nodeEnter = node\n .enter()\n .append('svg:g')\n .attr('class', 'node')\n .attr('transform', function(d) {\n return 'translate(' + root.y0 + ',' + root.x0 + ')'\n })\n .on('click', handleClick)\n\n enterNode(nodeEnter)\n\n // Transition nodes to their new position.\n var nodeUpdate = node\n .transition()\n .duration(duration)\n .attr('transform', function(d) {\n return 'translate(' + d.y + ',' + d.x + ')'\n })\n\n updateNode(nodeUpdate)\n\n // Transition exiting nodes to the parent's new position.\n var nodeExit = node\n .exit()\n .transition()\n .duration(duration)\n .attr('transform', function() {\n return 'translate(' + root.y + ',' + root.x + ')'\n })\n .remove()\n\n exitNode(nodeExit)\n\n // Update the links…\n var link = vis\n .selectAll('path.link')\n .data(tree.links(nodes), function(d) {\n return d.target[identity]\n })\n\n // Enter any new links at the parent's previous position.\n link\n .enter()\n .insert('svg:path', 'g')\n .attr('class', 'link')\n .attr('d', function() {\n var o = { x: root.x0, y: root.y0 }\n return connector({ source: o, target: o })\n })\n .transition()\n .duration(duration)\n .attr('d', connector)\n\n // Transition links to their new position.\n link\n .transition()\n .duration(duration)\n .attr('d', connector)\n\n // Transition exiting nodes to the parent's new position.\n link\n .exit()\n .transition()\n .duration(duration)\n .attr('d', function() {\n var o = { x: root.x, y: root.y }\n return connector({ source: o, target: o })\n })\n .remove()\n\n // Stash the old positions for transition.\n nodes.forEach(function(d) {\n d.x0 = d.x\n d.y0 = d.y\n })\n })\n }\n\n chart.width = function(_) {\n if (!arguments.length) return width\n width = _\n return chart\n }\n\n chart.height = function(_) {\n if (!arguments.length) return height\n height = _\n return chart\n }\n\n chart.duration = function(_) {\n if (!arguments.length) return duration\n duration = _\n return chart\n }\n\n chart.connector = function(_) {\n if (!arguments.length) return connector\n connector = _\n return chart\n }\n\n chart.click = function(_) {\n if (!arguments.length) return handleClick\n handleClick = _\n return chart\n }\n\n chart.identity = function(_) {\n if (!arguments.length) return identity\n identity = _\n return chart\n }\n\n chart.text = function(_) {\n if (!arguments.length) return text\n text = _\n return chart\n }\n\n chart.nodeEnter = function(_) {\n if (!arguments.length) return enterNode\n enterNode = _\n return chart\n }\n\n chart.nodeUpdate = function(_) {\n if (!arguments.length) return updateNode\n updateNode = _\n return chart\n }\n\n chart.nodeExit = function(_) {\n if (!arguments.length) return exitNode\n exitNode = _\n return chart\n }\n\n chart.margin = function(_) {\n if (!arguments.length) return margin\n margin.top = typeof _.top != 'undefined' ? _.top : margin.top\n margin.right = typeof _.right != 'undefined' ? _.right : margin.right\n margin.bottom = typeof _.bottom != 'undefined' ? _.bottom : margin.bottom\n margin.left = typeof _.left != 'undefined' ? _.left : margin.left\n return chart\n }\n\n return chart\n}\n\nMindMap.elbow = function(d) {\n var source = d.source\n var target = d.target\n var hy = (target.y - source.y) / 2\n return (\n 'M' +\n source.y +\n ',' +\n source.x +\n 'H' +\n (source.y + hy) +\n 'V' +\n target.x +\n 'H' +\n target.y\n )\n}\n\nMindMap.loadFreeMind = function(fileName, callback) {\n d3.xml(fileName, 'application/xml', function(err, xml) {\n // Changes XML to JSON\n var xmlToJson = function(xml) {\n // Create the return object\n var obj = {}\n\n if (xml.nodeType == 1) {\n // element\n // do attributes\n if (xml.attributes.length > 0) {\n obj['@attributes'] = {}\n for (var j = 0; j < xml.attributes.length; j++) {\n var attribute = xml.attributes.item(j)\n obj['@attributes'][attribute.nodeName] = attribute.nodeValue\n }\n }\n } else if (xml.nodeType == 3) {\n // text\n obj = xml.nodeValue\n }\n\n // do children\n if (xml.hasChildNodes()) {\n for (var i = 0; i < xml.childNodes.length; i++) {\n var item = xml.childNodes.item(i)\n var nodeName = item.nodeName\n if (typeof obj[nodeName] == 'undefined') {\n obj[nodeName] = xmlToJson(item)\n } else {\n if (typeof obj[nodeName].push == 'undefined') {\n var old = obj[nodeName]\n obj[nodeName] = []\n obj[nodeName].push(old)\n }\n obj[nodeName].push(xmlToJson(item))\n }\n }\n }\n return obj\n }\n var js = xmlToJson(xml)\n var data = js.map.node\n var parseData = function(data, direction) {\n var key,\n i,\n l,\n dir = direction,\n node = {},\n child\n for (key in data['@attributes']) {\n node[key.toLowerCase()] = data['@attributes'][key]\n }\n node.direction = node.direction || dir\n l = (data.node || []).length\n if (l) {\n node.children = []\n for (i = 0; i < l; i++) {\n dir = data.node[i]['@attributes'].POSITION || dir\n child = parseData(data.node[i], {}, dir)\n ;(node[dir] = node[dir] || []).push(child)\n node.children.push(child)\n }\n }\n return node\n }\n var root = parseData(data, 'right')\n\n return callback(err, root)\n })\n}\n","import React, { useRef, useEffect, useState } from 'react'\nimport MindMapHelper from './mindmaphelper'\nimport * as d3 from 'd3'\nimport useMeasure from '../../hooks/useMeasure'\nimport { yellow, green, red } from 'theme.js'\nimport { useHistory } from 'react-router-dom'\n\n// export default function MindMap({ data }) {\n// const [wrapperRef, bounds] = useMeasure()\n// const mapRef = useRef()\n// const history = useHistory()\n\n// const width = 932\n// const radius = width / 2\n\n// const dotSize = 5\n\n// function autoBox() {\n// const { x, y, width, height } = this.getBBox()\n\n// return [x, y, width, height]\n// // return [bounds.x, bounds.y, bounds.width, bounds.height]\n// // return [0, 0, bounds.width, 500]\n// }\n\n// function initMindMap(ref) {\n// const tree = d3\n// .tree()\n// .size([2 * Math.PI, radius])\n// .separation((a, b) => (a.parent == b.parent ? 1 : 2) / a.depth)\n\n// const root = tree(\n// d3\n// .hierarchy(data)\n// .sort((a, b) =>\n// d3.ascending(a.data.serial_number, b.data.serial_number),\n// ),\n// )\n\n// // const svg = d3\n// // .create('svg')\n\n// // Create Event Handlers for mouse\n// function handleMouseOver(d, i) {\n// // Add interactivity\n\n// // Use D3 to select element, change color and size\n// d3.select(this).attr('r', dotSize * 1.5)\n// }\n\n// function handleMouseOut(d, i) {\n// // Use D3 to select element, change color back to normal\n// d3.select(this).attr('r', dotSize)\n// }\n\n// function handleMouseClick({ data }, y) {\n// console.log(data.device_id)\n// history.push(`/${data.device_id}`)\n// // console.log(this)\n// // console.log(d)\n// // const el = d3.select(this)\n// // console.log(el)\n// // el.attr('r', 5)\n// }\n\n// const svg = d3\n// .select(ref)\n// .style('max-width', '100%')\n// .style('font', '10px \"Futura New\"')\n// // .style('font-size', '18px')\n\n// const link = svg\n// .append('g')\n// .attr('fill', 'none')\n// .attr('stroke', d => {\n// return '#555'\n// })\n// .attr('stroke-opacity', 0.4)\n// .attr('stroke-width', 1.5)\n// .selectAll('path')\n// .data(root.links())\n// .join('path')\n// .attr(\n// 'd',\n// d3\n// .linkRadial()\n// .angle(d => d.x)\n// .radius(d => d.y),\n// )\n\n// const node = svg\n// .append('g')\n// .attr('stroke-linejoin', 'round')\n// .attr('stroke-width', 3)\n// .selectAll('g')\n// .data(root.descendants().reverse())\n// .join('g')\n// .attr(\n// 'transform',\n// d => `\n// rotate(${(d.x * 180) / Math.PI - 90})\n// translate(${d.y},0)\n// `,\n// )\n\n// node\n// .append('circle')\n// .attr('fill', ({ data }) => {\n// return data.is_online ? green : red\n// })\n// .attr('r', dotSize)\n// .style('cursor', 'pointer')\n// .on('mouseover', handleMouseOver)\n// .on('mouseout', handleMouseOut)\n// .on('click', handleMouseClick)\n\n// node\n// .append('text')\n// .attr('dy', '0.31em')\n// .attr('x', d => (d.x < Math.PI === !d.children ? 6 : -6))\n// .attr('text-anchor', d =>\n// d.x < Math.PI === !d.children ? 'start' : 'end',\n// )\n// .attr('transform', d => (d.x >= Math.PI ? 'rotate(180)' : null))\n// .text(d => d.data.serial_number)\n// .clone(true)\n// .lower()\n// .attr('stroke', 'white')\n\n// svg.node()\n\n// svg.attr('viewBox', autoBox)\n// }\n\n// useEffect(() => {\n// // d3.select(mapRef.current)\n// // .datum(myData)\n// // .call(chart)\n\n// if (mapRef.current && data) {\n// initMindMap(mapRef.current)\n// }\n// }, [])\n\n// // useEffect(())\n\n// useEffect(() => {\n// d3.select(mapRef.current).attr('viewBox', autoBox)\n// }, [bounds])\n// return (\n// \n// )\n// }\n\n// const links = [\n// { source: 'Microsoft', target: 'Amazon', type: 'licensing' },\n// { source: 'Microsoft', target: 'HTC', type: 'licensing' },\n// { source: 'Samsung', target: 'Apple', type: 'suit' },\n// { source: 'Motorola', target: 'Apple', type: 'suit' },\n// { source: 'Nokia', target: 'Apple', type: 'resolved' },\n// { source: 'HTC', target: 'Apple', type: 'suit' },\n// { source: 'Kodak', target: 'Apple', type: 'suit' },\n// { source: 'Microsoft', target: 'Barnes & Noble', type: 'suit' },\n// { source: 'Microsoft', target: 'Foxconn', type: 'suit' },\n// { source: 'Oracle', target: 'Google', type: 'suit' },\n// { source: 'Apple', target: 'HTC', type: 'suit' },\n// { source: 'Microsoft', target: 'Inventec', type: 'suit' },\n// { source: 'Samsung', target: 'Kodak', type: 'resolved' },\n// { source: 'LG', target: 'Kodak', type: 'resolved' },\n// { source: 'RIM', target: 'Kodak', type: 'suit' },\n// { source: 'Sony', target: 'LG', type: 'suit' },\n// { source: 'Kodak', target: 'LG', type: 'resolved' },\n// { source: 'Apple', target: 'Nokia', type: 'resolved' },\n// { source: 'Qualcomm', target: 'Nokia', type: 'resolved' },\n// { source: 'Apple', target: 'Motorola', type: 'suit' },\n// { source: 'Microsoft', target: 'Motorola', type: 'suit' },\n// { source: 'Motorola', target: 'Microsoft', type: 'suit' },\n// { source: 'Huawei', target: 'ZTE', type: 'suit' },\n// { source: 'Ericsson', target: 'ZTE', type: 'suit' },\n// { source: 'Kodak', target: 'Samsung', type: 'resolved' },\n// { source: 'Apple', target: 'Samsung', type: 'suit' },\n// { source: 'Kodak', target: 'RIM', type: 'suit' },\n// { source: 'Nokia', target: 'Qualcomm', type: 'suit' },\n// ]\n\nconst height = 500\n\nconst mapLinks = (data) => {\n const arr = data.parents || data.children || []\n let res = []\n const isParent = Boolean(data.children)\n if (isParent) {\n res = arr.map((el, idx) => ({\n source: 0, // data.serial_number,\n target: idx + 1, // el.serial_number,\n }))\n } else {\n res = arr.map((el, idx) => ({\n source: idx + 1, // data.serial_number,\n target: 0, // el.serial_number,\n }))\n }\n\n return res\n}\nconst mapNodes = (data) => {\n // const nodesHash = {}\n // links.forEach(function(link) {\n // link.source =\n // nodesHash[link.source] || (nodesHash[link.source] = { name: link.source })\n // link.target =\n // nodesHash[link.target] || (nodesHash[link.target] = { name: link.target })\n // })\n // const nodes = Object.values(nodesHash)\n // console.log('nodes', nodes)\n // return nodes\n const arr = data.parents || data.children || []\n\n const nodes = [\n {\n is_online: data.is_online,\n name: data.serial_number,\n device_id: data.device_id,\n },\n ...arr.map((el) => ({ ...el, name: el.serial_number })),\n ]\n\n return nodes\n}\n\nexport default function MindMap({ data }) {\n const [wrapperRef, bounds] = useMeasure()\n const mapRef = useRef()\n const linksRef = useRef()\n const nodesRef = useRef()\n const history = useHistory()\n\n const [links, setLinks] = useState(null)\n const [nodes, setNodes] = useState(null)\n useEffect(() => {\n if (data && !links) setLinks(mapLinks(data))\n }, [data])\n useEffect(() => {\n if (links) setNodes(mapNodes(data))\n }, [links])\n\n // const nodes = [\n // { name: 0 },\n // { name: 1 },\n // { name: 2 },\n // { name: 3 },\n // { name: 4 },\n // ]\n\n // const links = [\n // { source: 0, target: 1 },\n // { source: 0, target: 2 },\n // { source: 0, target: 3 },\n // { source: 0, target: 4 },\n // ]\n\n function autoBox() {\n const { x, y, width } = this.getBBox()\n return [0, 0, bounds.width, height]\n // return [bounds.x, bounds.y, bounds.width, bounds.height]\n // return [0, 0, bounds.width, 500]\n }\n\n const simulation = useRef()\n function initMindMap(ref) {\n // .style('font', '10px \"Futura New\"')\n\n const dotSize = 6\n function handleMouseOver(d, i) {\n // Add interactivity\n\n // Use D3 to select element, change color and size\n d3.select(this)\n .attr('r', dotSize * 1.5)\n .attr('cursor', 'pointer')\n }\n function handleMouseOut(d, i) {\n // Use D3 to select element, change color back to normal\n d3.select(this).attr('r', dotSize)\n }\n function handleMouseClick({ device_id }, y) {\n history.push(`/${device_id}`)\n }\n\n const width = 400\n const svg = d3\n .select(ref)\n .style('max-width', '100%')\n .style('font', '15px \"Futura New\"')\n // .attr('width', width)\n // .attr('height', height)\n\n // Per-type markers, as they don't inherit styles.\n svg\n .append('defs')\n .selectAll('marker')\n .data(['suit', 'licensing', 'resolved'])\n .enter()\n .append('marker')\n .attr('id', function (d) {\n return d\n })\n .attr('viewBox', '0 -5 10 10')\n .attr('refX', 15)\n .attr('refY', -1.5)\n .attr('markerWidth', 6)\n .attr('markerHeight', 6)\n .attr('orient', 'auto')\n .append('path')\n .attr('d', 'M0,-5L10,0L0,5')\n .attr('fill', '#333')\n\n function linkArc(d) {\n const dx = d.target.x - d.source.x,\n dy = d.target.y - d.source.y,\n dr = Math.sqrt(dx * dx + dy * dy)\n return (\n 'M' +\n d.source.x +\n ',' +\n d.source.y +\n 'A' +\n dr +\n ',' +\n dr +\n ' 0 0,1 ' +\n d.target.x +\n ',' +\n d.target.y\n )\n }\n\n function transform(d) {\n return 'translate(' + d.x + ',' + d.y + ')'\n }\n\n const path = svg\n .append('g')\n .selectAll('path')\n .data(links)\n .enter()\n .append('path')\n .attr('stroke', '#333')\n .attr('fill', 'none')\n .attr('marker-end', function (d) {\n // return 'url(#' + d.type + ')'\n return `url('#resolved')`\n })\n\n function dragstarted(d, event) {\n if (!event.active) simulation.current.alphaTarget(0.3).restart()\n d.fx = d.x\n d.fy = d.y\n }\n function dragged(d, event) {\n d.fx = event.x\n d.fy = event.y\n }\n function dragended(d, event) {\n if (!event.active) simulation.current.alphaTarget(0)\n d.fx = null\n d.fy = null\n }\n const circle = svg\n .append('g')\n .selectAll('circle')\n .data(nodes)\n .enter()\n .append('circle')\n .attr('fill', ({ is_online }) => (is_online ? green : red))\n .attr('r', dotSize)\n .on('mouseover', handleMouseOver)\n .on('mouseout', handleMouseOut)\n .on('click', handleMouseClick)\n .call(\n d3\n .drag()\n .on('start', dragstarted)\n .on('drag', dragged)\n .on('end', dragended)\n )\n\n const text = svg\n .append('g')\n .selectAll('text')\n .data(nodes)\n .enter()\n .append('text')\n .attr('x', 8)\n .attr('y', '.31em')\n .text(function (d) {\n return d.name\n })\n\n function updateLinks() {\n path.attr('d', linkArc)\n }\n\n function updateNodes() {\n circle.attr('transform', transform)\n text.attr('transform', transform)\n }\n\n function ticked() {\n updateLinks()\n updateNodes()\n }\n\n simulation.current = d3\n .forceSimulation(nodes)\n .force('center', d3.forceCenter(bounds.width / 2, bounds.height / 2))\n .force('link', d3.forceLink().links(links).distance(60))\n .force('charge', d3.forceManyBody().strength(-300))\n .on('tick', ticked)\n\n svg.attr('viewBox', autoBox)\n }\n\n useEffect(() => {\n // d3.select(mapRef.current)\n // .datum(myData)\n // .call(chart)\n\n if (mapRef.current && links && nodes) {\n initMindMap(mapRef.current)\n }\n }, [links, nodes])\n\n useEffect(() => {\n d3.select(mapRef.current).attr('viewBox', autoBox)\n if (simulation.current) {\n simulation.current.force(\n 'center',\n d3.forceCenter(bounds.width / 2, bounds.height / 2)\n )\n }\n }, [bounds])\n\n return (\n
\n \n
\n )\n}\n","import { useCallback, useState } from 'react'\nimport ResizeObserver from 'resize-observer-polyfill'\n\nexport default function useMeasure() {\n const [bounds, set] = useState({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n })\n\n const [observer] = useState(\n () =>\n new ResizeObserver(([entry]) => {\n if (entry) {\n set(entry.contentRect)\n // set(entry.target.getBoundingClientRect())\n }\n }),\n )\n\n const ref = useCallback(\n node => {\n observer.disconnect()\n if (node) {\n observer.observe(node)\n }\n },\n [observer],\n )\n\n return [ref, bounds]\n}\n","import React, { Component } from 'react'\nimport {\n Accordion,\n Container,\n Icon,\n Form,\n Input,\n Button,\n} from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport wrapCategory from 'components/categories/wrapCategory'\n\nimport { yellow } from 'theme.js'\nimport { connect } from 'react-redux'\nimport { withRouter } from 'react-router-dom'\nimport MindMap from '../global/MindMap'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${yellow};\n }\n\n &.active {\n color: white !important;\n background: ${yellow};\n }\n }\n\n .content {\n &.active {\n background: ${yellow};\n }\n }\n`\n\nclass Cluster extends Component {\n render() {\n const { activeIndex, handleClick } = this.props\n return (\n \n \n \n Кластер\n \n \n \n\n \n \n \n {/* */}\n \n )\n }\n}\n\nconst mapStateToProps = ({ device }) => ({\n shadowDevice: device.shadowDevice,\n})\n\nexport default connect(mapStateToProps)(withRouter(wrapCategory(Cluster)))\n","import React, { Component } from 'react'\nimport {\n Button,\n Icon,\n Accordion,\n Container,\n Form,\n Modal,\n Header,\n} from 'semantic-ui-react'\nimport styled from 'styled-components'\nimport { connect } from 'react-redux'\n\nimport { factoryReset } from 'ducks/deviceActions'\nimport wrapCategory from 'components/categories/wrapCategory'\nimport { red, lightRed } from 'theme.js'\nimport { withRouter } from 'react-router'\n\nconst Wrapper = styled.div`\n .title {\n &:hover {\n color: white !important;\n background: ${red};\n }\n\n &.active {\n color: white !important;\n background: ${red};\n }\n }\n\n .content {\n &.active {\n background: ${lightRed};\n }\n }\n`\n\nclass ResetSettings extends Component {\n state = {\n isOpen: false,\n }\n\n handleModalClose = () => {\n this.setState({ isOpen: false })\n }\n\n handleOpenModal = () => {\n this.setState({ isOpen: true })\n }\n\n handleFactoryReset = () => {\n this.props.factoryReset(this.props.match.params.id)\n }\n\n render() {\n return (\n \n \n \n Сброс настроек\n \n \n \n \n \n \n \n \n \n \n \n
\n \n

\n Данное действие приведет к сбросу ВСЕХ настроек домофона к\n заводским. Данное действие нельзя отменить.\n

\n
\n \n \n {\n this.handleFactoryReset()\n this.handleModalClose()\n }}\n color=\"red\"\n circular\n >\n Сбросить\n \n \n \n \n )\n }\n}\n\nexport default connect(null, { factoryReset })(\n withRouter(wrapCategory(ResetSettings))\n)\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { Redirect, withRouter } from 'react-router-dom'\nimport styled from 'styled-components'\nimport { Grid, Accordion, Loader } from 'semantic-ui-react'\nimport { toastr } from 'react-redux-toastr'\n\nimport {\n getDeviceInfo,\n getDeviceInfoShadow,\n clearCurrentDeviceInfo,\n} from 'ducks/device'\nimport {\n openDoor,\n openSecondDoor,\n uploadFirmware,\n updateDeviceSounds,\n clearDeviceStatus,\n startEmergency,\n resetIntercom,\n resetDeviceCamera,\n} from 'ducks/deviceActions'\n\nimport DevicePageHeader from './DevicePageHeader'\nimport Poll from 'components/categories/Poll'\nimport Social from 'components/categories/Social'\nimport Emergency from 'components/categories/Emergency'\nimport GeneralSettings from 'components/categories/GeneralSettings'\nimport FlatsListing from 'components/categories/FlatsListing'\nimport KeysListing from 'components/categories/KeysListing'\nimport AccessCodesListing from 'components/categories/AccessCodesListing'\nimport Firmware from 'components/categories/Firmware'\nimport LogsListing from 'components/categories/LogsListing'\nimport UserLogsListing from 'components/categories/UserLogsListing'\nimport StandardSounds from 'components/categories/StandardSounds'\nimport SIP from 'components/categories/SIP'\nimport Navbar from 'components/global/Navbar'\nimport Network from 'components/categories/Network'\nimport SOS from 'components/categories/SOS'\nimport Stickies from '../global/Stickies'\n\nimport Cluster from 'components/categories/Cluster'\nimport ResetSettings from 'components/categories/ResetSettings'\n\nconst DevicePageStyled = styled.div`\n min-height: 100vh;\n`\n\nconst copyToClipboard = (content, notification) => {\n // copy to clipboard\n const el = document.createElement('textarea')\n el.value = content\n document.body && document.body.appendChild(el)\n el.select()\n document.execCommand('copy')\n document.body && document.body.removeChild(el)\n toastr.info(notification)\n}\n\nclass DevicePage extends Component {\n state = {\n activeIndex: -1,\n isOpen: false,\n doorDuration: 5,\n secondDoorOpen: false,\n }\n\n componentDidMount() {\n const { match, history } = this.props\n this.props.getDeviceInfo(match.params.id, history)\n this.props.getDeviceInfoShadow(match.params.id)\n }\n\n componentWillUnmount() {\n this.props.clearCurrentDeviceInfo()\n }\n\n handleClick = (e, titleProps) => {\n const { index } = titleProps\n const { activeIndex } = this.state\n const newIndex = activeIndex === index ? -1 : index\n\n this.setState({ activeIndex: newIndex })\n }\n\n handleDoorDurationChange = (e, { value }) =>\n this.setState({ doorDuration: value })\n\n onStartEmergency = (e) => {\n this.props.startEmergency(this.props.currentDevice.device_id)\n }\n\n onResetIntercom = (e) => {\n this.props.resetIntercom(this.props.currentDevice.device_id)\n }\n\n onResetDeviceCamera = () => {\n this.props.resetDeviceCamera(this.props.currentDevice.device_id)\n }\n\n onOpen = (e) => {\n this.props.openDoor({\n id: this.props.currentDevice.device_id,\n duration: this.state.doorDuration,\n })\n this.setState({ isOpen: true })\n setTimeout(\n () => this.setState({ isOpen: false }),\n this.state.doorDuration * 1000\n )\n }\n onSecondDoorOpen = (e) => {\n this.props.openSecondDoor({\n id: this.props.currentDevice.device_id,\n duration: this.state.doorDuration,\n })\n this.setState({ secondDoorOpen: true })\n setTimeout(\n () => this.setState({ secondDoorOpen: false }),\n this.state.doorDuration * 1000\n )\n }\n\n updateSounds = (soundType, startTime, endTime, file) => {\n this.props.updateDeviceSounds({\n id: this.props.currentDevice.device_id,\n soundType,\n startTime,\n endTime,\n file,\n })\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.success) {\n toastr.success('Успех!', nextProps.success)\n setTimeout(() => nextProps.clearDeviceStatus(), 1000)\n }\n if (nextProps.error) {\n toastr.error('Что-то пошло не так...', nextProps.error)\n setTimeout(() => nextProps.clearDeviceStatus(), 1000)\n }\n return prevState\n }\n\n copyStreamUrl = () => {\n const { currentDevice } = this.props\n if (!currentDevice) return\n\n // copy to clipboard\n copyToClipboard(\n currentDevice.video.stream.rtsp,\n 'Ссылка на камеру была успешно скопирована'\n )\n }\n\n copyDeviceSerial = () => {\n const { currentDevice } = this.props\n if (!currentDevice) return\n\n // copy to clipboard\n copyToClipboard(\n currentDevice.motherboard_id,\n 'Серийник был успешно скопирован'\n )\n }\n\n render() {\n const { match, currentDevice, shadowDevice, sounds } = this.props\n const { songOptions } = this.state\n\n if (!match.params.id) {\n return \n }\n\n if (\n Object.keys(currentDevice).length < 1 ||\n Object.keys(shadowDevice).length < 1\n ) {\n return (\n \n
\n \n
\n
\n )\n }\n\n return (\n \n \n\n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n\nconst mapStateToProps = ({ device, deviceActions }) => ({\n currentDevice: device.currentDevice,\n shadowDevice: device.shadowDevice,\n fetched: device.fetched,\n sounds: device.sounds,\n success: deviceActions.success || device.success,\n error: deviceActions.error || device.error,\n})\n\nexport default connect(mapStateToProps, {\n getDeviceInfo,\n getDeviceInfoShadow,\n openDoor,\n openSecondDoor,\n uploadFirmware,\n clearDeviceStatus,\n updateDeviceSounds,\n startEmergency,\n resetIntercom,\n clearCurrentDeviceInfo,\n resetDeviceCamera,\n})(withRouter(DevicePage))\n","import { gql } from '@apollo/client'\n\nexport const ADD_VIRTUAL_FLAT = gql`\n mutation AddFlats($input: IntercomFlatsInput!) {\n addFlats(input: $input) {\n success\n notice\n intercom {\n IPMode\n collectingKeysState\n companyUUID\n isActivated\n isOnline\n isSipReg\n motherboardID\n uuid\n voiceText\n }\n }\n }\n`\n\nexport const DELETE_VIRTUAL_FLAT = gql`\n mutation ($input: FlatNumberInput!) {\n deleteFlat(input: $input) {\n success\n notice\n intercom {\n IPMode\n collectingKeysState\n companyUUID\n isActivated\n isOnline\n isSipReg\n motherboardID\n uuid\n voiceText\n }\n }\n }\n`\n","const { gql } = require('@apollo/client')\n\nexport const GET_VIRTUAL_FLATS = gql`\n query GetFlatsList($input: IntercomFilter!) {\n intercom(input: $input) {\n configShadow {\n flats {\n version\n newFlats(limit: 1000, filter: VIRTUAL) {\n edges {\n node {\n num\n blocked\n redirectionBool\n soundVol\n sipAccountContact\n analogSettings {\n alias\n blocked\n thresholdCall\n }\n }\n }\n }\n firstFlat\n lastFlat\n }\n }\n }\n }\n`\n","import React, { useState } from 'react'\nimport { Modal, Header, Button, Input, Form } from 'semantic-ui-react'\nimport { useParams } from 'react-router-dom'\nimport * as Yup from 'yup'\nimport { Formik, Field, Form as FormikForm } from 'formik'\nimport styled from 'styled-components'\nimport { RIEInput } from 'riek'\nimport Slider, { createSliderWithTooltip } from 'rc-slider'\nimport 'theme/slider.css'\nimport { pink } from 'theme'\nimport { useDispatch } from 'react-redux'\nimport { getDeviceInfoShadow } from 'ducks/device'\nimport { useMutation } from '@apollo/client'\nimport { ADD_VIRTUAL_FLAT } from 'gql/virtualFlats/mutation'\nimport { GET_VIRTUAL_FLATS } from 'gql/virtualFlats/query'\nimport { toastr } from 'react-redux-toastr'\n\nconst SliderWithTooltip = createSliderWithTooltip(Slider)\n\nconst FormField = (props) => \n\nconst MyForm = styled(Form)``\n\nconst sipOptions = [\n // { key: '1', text: 'после звонка', value: 'after_call' },\n { key: '1', text: 'да', value: 'direct' },\n { key: '2', text: 'нет', value: 'none' },\n]\n\nconst initialValues = {\n redirection: 'none',\n sound_vol: 100,\n // blocked: false,\n alias: null,\n num: null,\n // sip_contact: null,\n}\n\nconst schema = Yup.object().shape({\n redirection: Yup.string(),\n sound_vol: Yup.number(),\n blocked: Yup.boolean(),\n alias: Yup.string().nullable(),\n num: Yup.number(),\n})\n\nexport default function AddVirtualFlatModal({ open, onClose, ...props }) {\n const { id } = useParams()\n const [createFlats, { data, loading, error }] = useMutation(ADD_VIRTUAL_FLAT, {\n refetchQueries: [\n {\n query: GET_VIRTUAL_FLATS,\n variables: {\n input: {\n uuid: id,\n },\n },\n },\n ],\n })\n\n const dispatch = useDispatch()\n\n const handleSubmit = async (values) => {\n await createFlats({\n variables: {\n input: {\n intercomID: id,\n flats: [\n {\n flatNum: values?.num,\n parameters: {\n analogSettings: {\n alias: Number(values.alias),\n blocked: values?.blocked,\n },\n redirection: Boolean(values?.redirection),\n sipAccountContact: values?.sip_contact,\n soundVol: values?.sound_vol,\n },\n },\n ],\n },\n },\n }).then(() => {\n toastr.success('Успех')\n dispatch(getDeviceInfoShadow(id)) // refetch main flats\n })\n\n onClose()\n }\n\n return (\n \n
\n \n \n {({ values, setFieldValue }) => (\n \n \n \n \n \n {/* \n {\n setFieldValue('blocked', option.checked)\n }}\n />\n */}\n \n \n\n {\n setFieldValue('redirection', option.value)\n }}\n />\n \n\n \n \n \n \n \n \n setFieldValue('sound_vol', vol)}\n />\n \n \n \n \n \n \n \n\n \n \n \n )}\n \n \n \n )\n}\n","const { gql } = require('@apollo/client')\n\nexport const GET_COMMON_FLATS = gql`\n query GetNewFlats($input: IntercomFilter!) {\n intercom(input: $input) {\n uuid\n configShadow {\n flats {\n defaultThresholdCall\n defaultThresholdDoor\n newFlats(limit: 1000, filter: COMMON) {\n totalCount\n edges {\n node {\n num\n blocked\n redirectionBool\n soundVol\n sipAccountContact\n analogSettings {\n alias\n blocked\n thresholdCall\n thresholdDoor\n }\n }\n }\n }\n }\n }\n }\n }\n`\n\nexport const UPDATE_COMMON_FLATS = gql`\n mutation UpdateIntercomFlats($input: IntercomFlatsInput!) {\n updateIntercomFlats(input: $input) {\n notice\n success\n }\n }\n`\n","import { gql } from '@apollo/client'\n\n// virtual && common\nexport const UPDATE_FLAT = gql`\n mutation UpdateIntercomFlats($input: IntercomFlatsInput!) {\n updateIntercomFlats(input: $input) {\n notice\n success\n }\n }\n`\n","import React, { useState } from 'react'\nimport { Modal, Header, Button, Input, Form, Dropdown, Checkbox, Label } from 'semantic-ui-react'\nimport * as Yup from 'yup'\nimport { Formik, Field, Form as FormikForm } from 'formik'\nimport styled from 'styled-components'\nimport { useParams } from 'react-router-dom'\nimport { useMutation } from '@apollo/client'\n\nimport { GET_VIRTUAL_FLATS } from 'gql/virtualFlats/query'\nimport { toastr } from 'react-redux-toastr'\nimport { GET_COMMON_FLATS } from 'gql/flats/query'\nimport { UPDATE_FLAT } from 'gql/flats/mutation'\n\nconst FormField = (props) => \n\nconst MyForm = styled(Form)``\n\nconst schema = Yup.object().shape({\n thresholdCall: Yup.number()\n .min(1.0, 'Не может быть меньше 1.00')\n .max(12.0, 'Не может быть больше 12.00'),\n thresholdDoor: Yup.number()\n .nullable()\n .min(1.0, 'Не может быть меньше 1.00')\n .max(12.0, 'Не может быть больше 12.00'),\n})\n\nexport default function FlatResistanceModal({ flat, open, onClose, isVirtual }) {\n const { id } = useParams()\n\n const reloadRequest = isVirtual ? GET_VIRTUAL_FLATS : GET_COMMON_FLATS\n const [updateFlats, info] = useMutation(UPDATE_FLAT, {\n refetchQueries: [\n {\n query: reloadRequest,\n variables: {\n input: {\n uuid: id,\n },\n },\n },\n ],\n })\n\n const handleSubmit = async (values) => {\n await updateFlats({\n variables: {\n input: {\n intercomID: id,\n flats: [\n {\n flatNum: flat?.num,\n parameters: {\n analogSettings: { ...flat.analogSettings, ...values },\n redirection: Boolean(flat.redirection),\n sipAccountContact: flat?.sipContact,\n soundVol: flat?.soundVol,\n },\n },\n ],\n },\n },\n }).then((el) => {\n onClose()\n toastr.success('Успех')\n })\n }\n\n const handleReset = () => {\n updateFlats({\n variables: {\n input: {\n intercomID: flat.uuid,\n flats: [\n {\n flatNum: flat?.num,\n parameters: {\n analogSettings: { ...flat.analogSettings, thresholdCall: 0 },\n redirection: Boolean(flat.redirection),\n sipAccountContact: flat?.sipContact,\n soundVol: flat?.soundVol,\n },\n },\n ],\n },\n },\n })\n setShowDefault(true)\n }\n\n const [showDefault, setShowDefault] = useState(\n !flat?.analogSettings ||\n (flat?.analogSettings?.thresholdCall === 0.0 && flat?.analogSettings?.thresholdDoor === 0.0)\n )\n\n return (\n \n
\n \n

Уровни сопротивлений

\n {showDefault ? (\n \n Используются стандартные значения.\n setShowDefault(false)}\n />\n \n ) : (\n \n {({ values, setFieldValue, errors }) => (\n \n {!isVirtual && (\n \n \n \n {errors?.['thresholdDoor'] && (\n \n )}\n \n )}\n \n \n \n {errors?.['thresholdCall'] && (\n \n )}\n \n\n \n \n\n 0}\n >\n Сохранить\n \n\n \n \n \n )}\n \n )}\n
\n \n )\n}\n","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgPhone(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n width: \"18px\",\n height: \"18px\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2zm13.54-7.1l-.71-.7L13 9.29V5h-1v6h6v-1h-4.15z\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPhone);\nexport default __webpack_public_path__ + \"static/media/phone.97b9dbca.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgPhoneLocked(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n width: \"18px\",\n height: \"18px\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 15.5c-1.25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59-6.59l2.2-2.21c.28-.26.36-.65.25-1C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM20 4v-.5C20 2.12 18.88 1 17.5 1S15 2.12 15 3.5V4c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h5c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zm-.8 0h-3.4v-.5c0-.94.76-1.7 1.7-1.7s1.7.76 1.7 1.7V4z\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPhoneLocked);\nexport default __webpack_public_path__ + \"static/media/phone_locked.4e411b3f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgSip(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.786 8.7235C7.735 8.8085 7.67833 8.87367 7.616 8.919C7.55933 8.95867 7.4885 8.9785 7.4035 8.9785C7.30717 8.9785 7.19383 8.93033 7.0635 8.834C6.93317 8.73767 6.76883 8.63283 6.5705 8.5195C6.37783 8.4005 6.14267 8.29283 5.865 8.1965C5.593 8.10017 5.2615 8.052 4.8705 8.052C4.50217 8.052 4.17633 8.103 3.893 8.205C3.61533 8.30133 3.38017 8.4345 3.1875 8.6045C3.0005 8.7745 2.85883 8.97567 2.7625 9.208C2.66617 9.43467 2.618 9.68117 2.618 9.9475C2.618 10.2875 2.70017 10.5708 2.8645 10.7975C3.0345 11.0185 3.2555 11.2083 3.5275 11.367C3.80517 11.5257 4.11683 11.6645 4.4625 11.7835C4.81383 11.8968 5.17083 12.0158 5.5335 12.1405C5.90183 12.2652 6.25883 12.4068 6.6045 12.5655C6.95583 12.7185 7.2675 12.914 7.5395 13.152C7.81717 13.39 8.03817 13.6818 8.2025 14.0275C8.3725 14.3732 8.4575 14.7982 8.4575 15.3025C8.4575 15.8352 8.36683 16.3367 8.1855 16.807C8.00417 17.2717 7.73783 17.6768 7.3865 18.0225C7.04083 18.3682 6.613 18.6402 6.103 18.8385C5.59867 19.0368 5.0235 19.136 4.3775 19.136C3.58417 19.136 2.8645 18.9943 2.2185 18.711C1.5725 18.422 1.02 18.0338 0.561 17.5465L1.037 16.7645C1.08233 16.7022 1.13617 16.6512 1.1985 16.6115C1.2665 16.5662 1.34017 16.5435 1.4195 16.5435C1.49317 16.5435 1.57533 16.5747 1.666 16.637C1.76233 16.6937 1.87 16.7673 1.989 16.858C2.108 16.9487 2.244 17.0478 2.397 17.1555C2.55 17.2632 2.72283 17.3623 2.9155 17.453C3.11383 17.5437 3.33767 17.6202 3.587 17.6825C3.83633 17.7392 4.11683 17.7675 4.4285 17.7675C4.8195 17.7675 5.168 17.7137 5.474 17.606C5.78 17.4983 6.03783 17.3482 6.2475 17.1555C6.46283 16.9572 6.62717 16.722 6.7405 16.45C6.85383 16.178 6.9105 15.8748 6.9105 15.5405C6.9105 15.1722 6.8255 14.8718 6.6555 14.6395C6.49117 14.4015 6.273 14.2032 6.001 14.0445C5.729 13.8858 5.41733 13.7527 5.066 13.645C4.71467 13.5317 4.35767 13.4183 3.995 13.305C3.63233 13.186 3.27533 13.05 2.924 12.897C2.57267 12.744 2.261 12.5457 1.989 12.302C1.717 12.0583 1.496 11.7552 1.326 11.3925C1.16167 11.0242 1.0795 10.5708 1.0795 10.0325C1.0795 9.60183 1.16167 9.18533 1.326 8.783C1.496 8.38067 1.73967 8.02367 2.057 7.712C2.38 7.40033 2.77383 7.151 3.2385 6.964C3.70883 6.777 4.24717 6.6835 4.8535 6.6835C5.5335 6.6835 6.15117 6.79117 6.7065 7.0065C7.2675 7.22183 7.7605 7.5335 8.1855 7.9415L7.786 8.7235ZM11.67 19H10.021V6.8195H11.67V19ZM17.6161 13.135C18.0865 13.135 18.5001 13.0727 18.8571 12.948C19.2198 12.8233 19.523 12.6505 19.7666 12.4295C20.016 12.2028 20.203 11.9337 20.3276 11.622C20.4523 11.3103 20.5146 10.9675 20.5146 10.5935C20.5146 9.81717 20.2738 9.21083 19.7921 8.7745C19.3161 8.33817 18.5908 8.12 17.6161 8.12H15.6611V13.135H17.6161ZM17.6161 6.8195C18.3868 6.8195 19.0555 6.91017 19.6221 7.0915C20.1945 7.26717 20.6676 7.51933 21.0416 7.848C21.4156 8.17667 21.6933 8.57333 21.8746 9.038C22.0616 9.50267 22.1551 10.0212 22.1551 10.5935C22.1551 11.1602 22.056 11.6787 21.8576 12.149C21.6593 12.6193 21.3675 13.0245 20.9821 13.3645C20.6025 13.7045 20.1293 13.9708 19.5626 14.1635C19.0016 14.3505 18.3528 14.444 17.6161 14.444H15.6611V19H14.0206V6.8195H17.6161Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSip);\nexport default __webpack_public_path__ + \"static/media/sip.a93bd367.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgNosip(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.786 8.7235C7.735 8.8085 7.67833 8.87367 7.616 8.919C7.55933 8.95867 7.4885 8.9785 7.4035 8.9785C7.30717 8.9785 7.19383 8.93033 7.0635 8.834C6.93317 8.73767 6.76883 8.63283 6.5705 8.5195C6.37783 8.4005 6.14267 8.29283 5.865 8.1965C5.593 8.10017 5.2615 8.052 4.8705 8.052C4.50217 8.052 4.17633 8.103 3.893 8.205C3.61533 8.30133 3.38017 8.4345 3.1875 8.6045C3.0005 8.7745 2.85883 8.97567 2.7625 9.208C2.66617 9.43467 2.618 9.68117 2.618 9.9475C2.618 10.2875 2.70017 10.5708 2.8645 10.7975C3.0345 11.0185 3.2555 11.2083 3.5275 11.367C3.80517 11.5257 4.11683 11.6645 4.4625 11.7835C4.81383 11.8968 5.17083 12.0158 5.5335 12.1405C5.90183 12.2652 6.25883 12.4068 6.6045 12.5655C6.95583 12.7185 7.2675 12.914 7.5395 13.152C7.81717 13.39 8.03817 13.6818 8.2025 14.0275C8.3725 14.3732 8.4575 14.7982 8.4575 15.3025C8.4575 15.8352 8.36683 16.3367 8.1855 16.807C8.00417 17.2717 7.73783 17.6768 7.3865 18.0225C7.04083 18.3682 6.613 18.6402 6.103 18.8385C5.59867 19.0368 5.0235 19.136 4.3775 19.136C3.58417 19.136 2.8645 18.9943 2.2185 18.711C1.5725 18.422 1.02 18.0338 0.561 17.5465L1.037 16.7645C1.08233 16.7022 1.13617 16.6512 1.1985 16.6115C1.2665 16.5662 1.34017 16.5435 1.4195 16.5435C1.49317 16.5435 1.57533 16.5747 1.666 16.637C1.76233 16.6937 1.87 16.7673 1.989 16.858C2.108 16.9487 2.244 17.0478 2.397 17.1555C2.55 17.2632 2.72283 17.3623 2.9155 17.453C3.11383 17.5437 3.33767 17.6202 3.587 17.6825C3.83633 17.7392 4.11683 17.7675 4.4285 17.7675C4.8195 17.7675 5.168 17.7137 5.474 17.606C5.78 17.4983 6.03783 17.3482 6.2475 17.1555C6.46283 16.9572 6.62717 16.722 6.7405 16.45C6.85383 16.178 6.9105 15.8748 6.9105 15.5405C6.9105 15.1722 6.8255 14.8718 6.6555 14.6395C6.49117 14.4015 6.273 14.2032 6.001 14.0445C5.729 13.8858 5.41733 13.7527 5.066 13.645C4.71467 13.5317 4.35767 13.4183 3.995 13.305C3.63233 13.186 3.27533 13.05 2.924 12.897C2.57267 12.744 2.261 12.5457 1.989 12.302C1.717 12.0583 1.496 11.7552 1.326 11.3925C1.16167 11.0242 1.0795 10.5708 1.0795 10.0325C1.0795 9.60183 1.16167 9.18533 1.326 8.783C1.496 8.38067 1.73967 8.02367 2.057 7.712C2.38 7.40033 2.77383 7.151 3.2385 6.964C3.70883 6.777 4.24717 6.6835 4.8535 6.6835C5.5335 6.6835 6.15117 6.79117 6.7065 7.0065C7.2675 7.22183 7.7605 7.5335 8.1855 7.9415L7.786 8.7235ZM11.67 19H10.021V6.8195H11.67V19ZM17.6161 13.135C18.0865 13.135 18.5001 13.0727 18.8571 12.948C19.2198 12.8233 19.523 12.6505 19.7666 12.4295C20.016 12.2028 20.203 11.9337 20.3276 11.622C20.4523 11.3103 20.5146 10.9675 20.5146 10.5935C20.5146 9.81717 20.2738 9.21083 19.7921 8.7745C19.3161 8.33817 18.5908 8.12 17.6161 8.12H15.6611V13.135H17.6161ZM17.6161 6.8195C18.3868 6.8195 19.0555 6.91017 19.6221 7.0915C20.1945 7.26717 20.6676 7.51933 21.0416 7.848C21.4156 8.17667 21.6933 8.57333 21.8746 9.038C22.0616 9.50267 22.1551 10.0212 22.1551 10.5935C22.1551 11.1602 22.056 11.6787 21.8576 12.149C21.6593 12.6193 21.3675 13.0245 20.9821 13.3645C20.6025 13.7045 20.1293 13.9708 19.5626 14.1635C19.0016 14.3505 18.3528 14.444 17.6161 14.444H15.6611V19H14.0206V6.8195H17.6161Z\",\n fill: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.9999 0.333344C9.69248 0.333344 7.43684 1.01758 5.51827 2.29953C3.5997 3.58148 2.10435 5.40356 1.22133 7.53537C0.338307 9.66717 0.107268 12.013 0.557429 14.2761C1.00759 16.5392 2.11873 18.618 3.75034 20.2496C5.38196 21.8812 7.46076 22.9923 9.72387 23.4425C11.987 23.8927 14.3328 23.6616 16.4646 22.7786C18.5964 21.8956 20.4185 20.4002 21.7004 18.4817C22.9823 16.5631 23.6666 14.3075 23.6666 12C23.6666 10.4679 23.3648 8.95083 22.7785 7.53537C22.1922 6.1199 21.3329 4.83378 20.2495 3.75043C19.1662 2.66708 17.88 1.80772 16.4646 1.22142C15.0491 0.635111 13.532 0.333344 11.9999 0.333344ZM11.9999 21.3333C9.52457 21.3333 7.1506 20.35 5.40026 18.5997C3.64992 16.8493 2.66659 14.4754 2.66659 12C2.66401 9.92725 3.35844 7.91381 4.63826 6.28334L17.7166 19.3617C16.0861 20.6415 14.0727 21.3359 11.9999 21.3333ZM19.3616 17.7167L6.28326 4.63834C7.91373 3.35853 9.92716 2.6641 11.9999 2.66668C14.4753 2.66668 16.8492 3.65001 18.5996 5.40035C20.3499 7.15069 21.3333 9.52466 21.3333 12C21.3358 14.0728 20.6414 16.0862 19.3616 17.7167Z\",\n fill: \"currentColor\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n fill: \"white\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNosip);\nexport default __webpack_public_path__ + \"static/media/nosip.ca1c07e1.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component, useState } from 'react'\nimport { Button, Table, Icon, Dropdown, Input, Popup, Form, Modal, Header } from 'semantic-ui-react'\nimport { RIEInput } from 'riek'\nimport Slider, { createSliderWithTooltip } from 'rc-slider'\nimport 'theme/slider.css'\nimport { pink } from 'theme'\nimport { ReactComponent as Phone } from 'assets/phone.svg'\nimport { ReactComponent as PhoneBlocked } from 'assets/phone_locked.svg'\nimport { ReactComponent as Sip } from 'assets/sip.svg'\nimport { ReactComponent as NoSip } from 'assets/nosip.svg'\n\nconst SliderWithTooltip = createSliderWithTooltip(Slider)\n\nconst Flat = ({ isVirtual, pendingLineTest, lineTest, ...props }) => {\n const [state, setState] = useState({\n redirection: props.flat.redirectionBool,\n sip_contact: props.flat.sipAccountContact,\n volume: props.flat.soundVol,\n modified: false,\n alias: props.flat?.analogSettings?.alias,\n confirmModalOpen: false,\n analogLineBlock: props.flat?.analogSettings?.blocked || false,\n })\n\n const onAnalogBlockToggle = (e) => {\n e.stopPropagation()\n setState({\n ...state,\n analogLineBlock: !state.analogLineBlock,\n modified: true,\n })\n }\n\n const onSIPChange = (e) => {\n setState({ ...state, modified: true, ...e })\n }\n\n const updateFlatInfo = () => {\n props.updateFlatInfo({\n uuid: props.id,\n num: Number.parseInt(props.flat.num, 10),\n redirection: state.redirection,\n sip_contact: state.sip_contact,\n sound_vol: state.volume,\n analog_settings: {\n alias: Number(state.alias),\n blocked: state.analogLineBlock,\n },\n })\n\n setState({ ...state, modified: false })\n }\n\n const onConfirm = () => {\n const { alias, modified } = state\n const { firstFlat, lastFlat } = props\n\n if (modified) {\n updateFlatInfo()\n }\n }\n\n const onVolumeChange = (volume) =>\n setState({\n ...state,\n volume,\n modified: true,\n })\n\n const handleModalClose = () => setState({ ...state, confirmModalOpen: false })\n\n const { redirection, sip_contact, modified, volume } = state\n\n return (\n \n \n
\n \n

Вы действительно хотите удалить квартиру?

\n
\n \n \n {\n props.handleDeleteFlat()\n handleModalClose()\n }}\n color=\"red\"\n circular\n >\n Удалить квартиру\n \n \n \n\n \n {!props.isIP && (\n <>\n {!isVirtual && (\n {\n e.stopPropagation()\n lineTest({\n deviceUuid: props.id,\n flat: props.flat.num,\n })\n }}\n disabled={pendingLineTest === props.flat.num}\n color=\"pink\"\n style={{ marginLeft: 8 }}\n />\n }\n content=\"Диагностика линии\"\n position=\"top center\"\n />\n )}\n \n }\n content=\"Регулировка уровня событий\"\n position=\"top center\"\n />\n \n {state.analogLineBlock ? (\n \n ) : (\n \n )}\n \n }\n content={\n state.analogLineBlock\n ? 'Разблокировать аналоговую линию'\n : 'Заблокировать аналоговую линию'\n }\n position=\"top center\"\n />\n \n setState({\n ...state,\n redirection: redirection === true ? false : true,\n modified: true,\n })\n }\n style={{ marginLeft: 8, height: 14, position: 'relative' }}\n className={`${redirection === true ? 'pink' : 'grey'} icon`}\n >\n {redirection === true ? (\n \n ) : (\n \n )}\n \n }\n content={redirection === false ? 'Разблокировать SIP' : 'Заблокировать SIP'}\n position=\"top center\"\n />\n {/* \n \n */}\n \n )}\n\n {props.isIP && (\n <>\n setState({ ...state, confirmModalOpen: true })}\n color=\"pink\"\n style={{ marginLeft: 8 }}\n />\n \n )}\n \n \n №{props.flat.num}\n \n\n \n \n \n\n {!props.isIP && (\n <>\n \n \n \n \n setState({ ...state, alias: value, modified: true })}\n placeholder={`Номер квартиры`}\n style={{ maxWidth: 80 }}\n type=\"number\"\n size=\"mini\"\n value={state.alias}\n />\n \n \n )}\n\n \n {modified && (\n \n Применить\n \n )}\n \n \n )\n}\n\nexport default Flat\n","import React, { useState } from 'react'\nimport { Table } from 'semantic-ui-react'\nimport { useMutation, useQuery } from '@apollo/client'\nimport { GET_VIRTUAL_FLATS } from 'gql/virtualFlats/query'\nimport { useParams } from 'react-router-dom'\n\nimport { toastr } from 'react-redux-toastr'\nimport Flat from './Flat'\nimport FlatResistanceModal from 'components/modals/FlatResistanceModal'\nimport { UPDATE_FLAT } from 'gql/flats/mutation'\n\nexport default function VirtualFlats({ isIP, ID, ...props }) {\n const { id } = useParams()\n const [state, setState] = useState({\n flat: null,\n modal: false,\n })\n const { data } = useQuery(GET_VIRTUAL_FLATS, {\n variables: {\n input: {\n uuid: id,\n },\n },\n })\n const [updateFlats, info] = useMutation(UPDATE_FLAT, {\n refetchQueries: [\n {\n query: GET_VIRTUAL_FLATS,\n variables: {\n input: {\n uuid: id,\n },\n },\n },\n ],\n })\n\n const handleUpdateFlatInfo = async (flat) => {\n await updateFlats({\n variables: {\n input: {\n intercomID: flat.uuid,\n flats: [\n {\n flatNum: flat?.num,\n parameters: {\n analogSettings: {\n alias: flat.analog_settings.alias,\n blocked: flat.analog_settings?.blocked,\n },\n redirection: Boolean(flat.redirection),\n sipAccountContact: flat?.sip_contact,\n soundVol: flat?.sound_vol,\n },\n },\n ],\n },\n },\n }).then(() => {\n toastr.success('Успех')\n })\n }\n\n const modalTrigger = (flat) => {\n setState({ modal: true, flat: flat })\n }\n\n const closeModal = () => {\n setState({ modal: false, flat: null })\n }\n\n return (\n \n \n \n \n \n \n Виртуальные квартиры\n \n \n \n \n Квартира\n Адрес SIP\n {!isIP && (\n <>\n Громкость звонка\n \n Переадресация аналоговой линии\n \n \n )}\n \n \n \n \n {data?.intercom?.configShadow?.flats?.newFlats?.edges?.map(({ node: flat }, i) => {\n return (\n modalTrigger(flat)}\n />\n )\n })}\n \n
\n
\n )\n}\n","import React from 'react'\nimport { Modal, Header, Button, Input, Form } from 'semantic-ui-react'\nimport { useParams } from 'react-router-dom'\nimport * as Yup from 'yup'\nimport { Formik, Field, Form as FormikForm } from 'formik'\nimport styled from 'styled-components'\nimport 'theme/slider.css'\nimport { useMutation } from '@apollo/client'\nimport { DELETE_VIRTUAL_FLAT } from 'gql/virtualFlats/mutation'\nimport { GET_VIRTUAL_FLATS } from 'gql/virtualFlats/query'\nimport { toastr } from 'react-redux-toastr'\n\nconst FormField = (props) => \n\nconst MyForm = styled(Form)``\n\nconst schema = Yup.object().shape({\n flat: Yup.number().min(1).required(),\n})\n\nconst initialValues = {\n flat: '',\n}\n\nexport default function DeleteVirtualFlatModal({ open, onClose, ...props }) {\n const { id } = useParams()\n const [deleteFlat, { loading }] = useMutation(DELETE_VIRTUAL_FLAT, {\n refetchQueries: [\n {\n query: GET_VIRTUAL_FLATS,\n variables: {\n input: {\n uuid: id,\n },\n },\n },\n ],\n })\n\n const handleSubmit = async ({ flat }) => {\n await deleteFlat({\n variables: {\n input: {\n intercom: {\n uuid: id,\n },\n num: flat,\n },\n },\n }).then(() => toastr.success('Успех!'))\n\n onClose()\n }\n\n return (\n \n
\n \n \n {({ values, handleChange }) => (\n \n \n \n \n \n \n\n \n Удалить\n \n \n \n )}\n \n \n \n )\n}\n","import React, { useState } from 'react'\nimport { Table } from 'semantic-ui-react'\nimport { useMutation, useQuery } from '@apollo/client'\nimport { useParams } from 'react-router-dom'\nimport { toastr } from 'react-redux-toastr'\nimport Flat from './Flat'\nimport { GET_COMMON_FLATS, UPDATE_COMMON_FLATS } from 'gql/flats/query'\nimport FlatResistanceModal from 'components/modals/FlatResistanceModal'\n\nexport default function CommonFlats({ isIP, ID, pendingLineTest, lineTest, ...props }) {\n const { id } = useParams()\n const [state, setState] = useState({\n flat: null,\n modal: false,\n })\n const { data } = useQuery(GET_COMMON_FLATS, {\n variables: {\n input: {\n uuid: id,\n },\n },\n })\n const [updateFlats, info] = useMutation(UPDATE_COMMON_FLATS, {\n refetchQueries: [\n {\n query: GET_COMMON_FLATS,\n variables: {\n input: {\n uuid: id,\n },\n },\n },\n ],\n })\n\n const handleUpdateFlatInfo = async (flat) => {\n await updateFlats({\n variables: {\n input: {\n intercomID: flat.uuid,\n flats: [\n {\n flatNum: flat?.num,\n parameters: {\n analogSettings: {\n alias: flat.analog_settings.alias,\n thresholdCall: null,\n blocked: flat.analog_settings?.blocked,\n thresholdDoor: null,\n },\n blocked: flat?.blocked,\n redirection: Boolean(flat.redirection),\n sipAccountContact: flat?.sip_contact,\n soundVol: flat?.sound_vol,\n },\n },\n ],\n },\n },\n }).then(() => {\n toastr.success('Успех')\n })\n }\n\n const modalTrigger = (flat) => {\n setState({ modal: true, flat: flat })\n }\n\n const closeModal = () => {\n setState({ modal: false, flat: null })\n }\n\n return (\n <>\n \n \n \n \n \n Квартиры\n \n \n \n \n Квартира\n Адрес SIP\n {!isIP && (\n <>\n Громкость звонка\n \n Переадресация аналоговой линии\n \n \n )}\n \n \n \n\n \n {data?.intercom?.configShadow?.flats?.newFlats?.edges?.map(({ node: flat }, i) => {\n return (\n modalTrigger(flat)}\n />\n )\n })}\n \n
\n \n )\n}\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport { Container, Table, Loader, Button, Modal, Header } from 'semantic-ui-react'\nimport { Redirect } from 'react-router-dom'\nimport { getDeviceInfoShadow, clearCurrentDeviceInfo } from 'ducks/device'\nimport { clearDeviceStatus, lineTest, deleteAllFlats } from 'ducks/deviceActions'\nimport styled from 'styled-components'\nimport Navbar from 'components/global/Navbar'\nimport { toastr } from 'react-redux-toastr'\nimport AddVirtualFlatModal from 'components/modals/AddVirtualFlatModal'\nimport FlatsGeneral from 'components/forms/FlatsGeneral'\nimport FlatResistanceModal from 'components/modals/FlatResistanceModal'\nimport VirtualFlats from 'components/listings/VirtualFlats'\nimport DeleteVirtualFlatModal from 'components/modals/DeleteVirtualFlatModal'\nimport CommonFlats from 'components/listings/CommonFlats'\n\nconst Wrapper = styled.div`\n i {\n cursor: pointer;\n }\n`\n\nclass FlatsPage extends Component {\n state = {\n addVirtualFlatModal: false,\n confirmModalOpen: false,\n flatModalOpen: false,\n deleteVirtualFlatModal: false,\n }\n\n componentDidMount() {\n // TODO remove; now need on page init\n const { match } = this.props\n this.props.getDeviceInfoShadow(match.params.id)\n }\n\n componentWillUnmount() {\n this.props.dispatch(clearCurrentDeviceInfo())\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.success) {\n toastr.success('Успех!', nextProps.success)\n setTimeout(() => nextProps.clearDeviceStatus(), 1000)\n }\n if (nextProps.error) {\n toastr.error('Что-то пошло не так...', nextProps.error)\n setTimeout(() => nextProps.clearDeviceStatus(), 1000)\n }\n return prevState\n }\n\n handleModalClose = () => this.setState({ confirmModalOpen: false })\n\n toggleAddVirtualFlatModal = () => {\n this.setState((prev) => ({\n addVirtualFlatModal: !prev.addVirtualFlatModal,\n }))\n }\n\n toggleDeleteVirtualModal = () => {\n this.setState((prev) => ({\n deleteVirtualFlatModal: !prev.deleteVirtualFlatModal,\n }))\n }\n\n modalTrigger = (flat) => {\n this.setState({ flatModalOpen: true, flat })\n }\n\n render() {\n const { match, flats, lineTest, pendingLineTest } = this.props\n\n if (!match.params.id) {\n return \n }\n\n if (!flats) {\n return (\n
\n \n
\n )\n }\n\n return (\n \n \n \n \n \n \n\n \n\n {this.props.isIP && (\n \n )}\n\n \n \n \n
\n \n

Вы действительно хотите удалить все квартиры?

\n
\n \n \n {\n this.props.deleteAllFlats(this.props.match.params.id)\n this.handleModalClose()\n }}\n color=\"red\"\n circular\n >\n Удалить все квартиры\n \n \n \n \n this.setState({ flatModalOpen: false, flat: null })}\n flat={this.state.flat}\n />\n \n \n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n flats:\n state.device.shadowDevice &&\n state.device.shadowDevice.properties &&\n state.device.shadowDevice.properties.flats_config.flats,\n error: state.deviceActions.error,\n success: state.deviceActions.success,\n isIP: state.device?.shadowDevice?.mode === 'ip',\n pendingLineTest: state.deviceActions.pendingLineTest,\n})\n\nexport default connect(mapStateToProps, {\n getDeviceInfoShadow,\n clearDeviceStatus,\n lineTest,\n deleteAllFlats,\n})(FlatsPage)\n","import React from 'react'\nimport { List, Icon } from 'semantic-ui-react'\n\nconst ListItemStyle = {\n padding: '1.5rem',\n}\n\nconst Key = ({ key_data, description, onClick, uuid, openCommentModal }) => {\n const [open, set] = React.useState(false)\n return (\n openCommentModal(uuid)}>\n {\n e.stopPropagation()\n onClick({ uuid, hex: key_data })\n }}\n />\n \n {key_data}\n {description}\n \n \n )\n}\nexport default Key\n","import React, { useState } from 'react'\nimport {\n Modal,\n Header,\n Button,\n Icon,\n Table,\n Popup,\n Input,\n Form,\n Dropdown,\n Checkbox,\n TextArea,\n} from 'semantic-ui-react'\nimport { useParams } from 'react-router-dom'\nimport * as Yup from 'yup'\nimport { Formik, Field, Form as FormikForm } from 'formik'\nimport styled from 'styled-components'\nimport Slider, { createSliderWithTooltip } from 'rc-slider'\nimport 'theme/slider.css'\nimport { pink } from 'theme'\nimport { useDispatch } from 'react-redux'\nimport {\n updateFlatInfo,\n clearDeviceStatus,\n lineTest,\n} from 'ducks/deviceActions'\nimport { getDeviceInfoShadow } from 'ducks/device'\n\nconst SliderWithTooltip = createSliderWithTooltip(Slider)\n\nconst FormField = (props) => \n\nconst MyForm = styled(Form)``\n\nconst sipOptions = [\n // { key: '1', text: 'после звонка', value: 'after_call' },\n { key: '1', text: 'да', value: 'direct' },\n { key: '2', text: 'нет', value: 'none' },\n]\n\nconst initialValues = {\n redirection: 'none',\n sound_vol: 100,\n blocked: false,\n alias: null,\n}\n\nconst schema = Yup.object().shape({\n description: Yup.string(),\n})\n\nexport default function AddCommentModal({\n handleSubmit,\n open,\n onClose,\n defaultValue,\n ...props\n}) {\n const dispatch = useDispatch()\n\n return (\n Show Modal}\n open={open}\n onClose={onClose}\n // basic\n size=\"small\">\n
\n \n \n {({ values, setFieldValue, handleReset, handleSubmit }) => (\n \n \n\n \n \n\n \n \n \n )}\n \n \n \n )\n}\n","import { put, takeLatest, call } from 'redux-saga/effects'\nimport Api from 'api/sputnikApi'\nimport { toastr } from 'react-redux-toastr'\n\nimport { getDeviceInfoShadowWorker } from './device'\nimport { REMOVE_KEY_SUCCESS } from './deviceActions'\n\nexport const UPDATE_SECURED_KEYS_REQUEST = 'keys/UPDATE_SECURED_KEYS_REQUEST'\nexport const UPDATE_SECURED_KEYS_SUCCESS = 'keys/UPDATE_SECURED_KEYS_SUCCESS'\nexport const UPDATE_SECURED_KEYS_FAILURE = 'keys/UPDATE_SECURED_KEYS_FAILURE'\n\nexport const UPDATE_KEY_COMMENT_REQUEST = 'keys/UPDATE_KEY_COMMENT_REQUEST'\nexport const UPDATE_KEY_COMMENT_SUCCESS = 'keys/UPDATE_KEY_COMMENT_SUCCESS'\nexport const UPDATE_KEY_COMMENT_FAILURE = 'keys/UPDATE_KEY_COMMENT_FAILURE'\n\nexport const FETCH_KEYS_REQUEST = 'keys/FETCH_KEYS_REQUEST'\nexport const FETCH_KEYS_SUCCESS = 'keys/FETCH_KEYS_SUCCESS'\nexport const FETCH_KEYS_FAILURE = 'keys/FETCH_KEYS_FAILURE'\n\nexport const CREATE_KEY_REQUEST = 'keys/CREATE_KEY_REQUEST'\nexport const CREATE_KEY_SUCCESS = 'keys/CREATE_KEY_SUCCESS'\nexport const CREATE_KEY_FAILURE = 'keys/CREATE_KEY_FAILURE'\n\nexport const UPLOAD_BUTCH_REQUEST = 'keys/UPLOAD_BUTCH_REQUEST'\nexport const UPLOAD_BUTCH_SUCCESS = 'keys/UPLOAD_BUTCH_SUCCESS'\nexport const UPLOAD_BUTCH_FAILURE = 'keys/UPLOAD_BUTCH_FAILURE'\n\nconst UPLOADING_KEYS_REQUEST = 'keys/UPLOADING_KEYS_REQUEST'\nconst UPLOADING_KEYS_SUCCESS = 'keys/UPLOADING_KEYS_SUCCESS'\n\nconst DELETE_ALL_KEYS_REQUEST = 'deviceActions/DELETE_ALL_KEYS_REQUEST'\nconst DELETE_ALL_KEYS_SUCCESS = 'deviceActions/DELETE_ALL_KEYS_SUCCESS'\nconst DELETE_ALL_KEYS_FAILURE = 'deviceActions/DELETE_ALL_KEYS_FAILURE'\n\nexport default function keys(state = {}, { type, payload }) {\n switch (type) {\n case FETCH_KEYS_SUCCESS:\n return {\n ...state,\n list: payload,\n }\n case DELETE_ALL_KEYS_FAILURE:\n return {\n ...state,\n }\n case DELETE_ALL_KEYS_SUCCESS:\n return {\n ...state,\n list: payload,\n }\n\n case UPLOADING_KEYS_REQUEST: {\n return {\n ...state,\n upLoadingKeys: true,\n }\n }\n case UPLOADING_KEYS_SUCCESS: {\n return {\n ...state,\n upLoadingKeys: false,\n }\n }\n\n default:\n return state\n }\n}\n\nexport const updateSecuredKeysRequest = (\n intercomUuid,\n { secured_keys_mode, ...params }\n) => ({\n type: UPDATE_SECURED_KEYS_REQUEST,\n payload: {\n intercomUuid,\n params: {\n secured_keys_base_data: params,\n secured_keys_mode,\n },\n },\n})\n\nexport const updateKeyComment = (intercomUuid, params) => ({\n type: UPDATE_KEY_COMMENT_REQUEST,\n payload: {\n intercomUuid,\n params,\n },\n})\n\nexport const fetchKeys = (intercomUuid, params) => ({\n type: FETCH_KEYS_REQUEST,\n payload: {\n intercomUuid,\n params,\n },\n})\n\nexport const createKey = (intercomUuid, params) => ({\n type: CREATE_KEY_REQUEST,\n payload: {\n intercomUuid,\n params,\n },\n})\n\nexport const deleteAllKeys = (intercomUuid) => ({\n type: DELETE_ALL_KEYS_REQUEST,\n payload: intercomUuid,\n})\n\nexport const uploadButch = (intercomUuid, file, params) => ({\n type: UPLOAD_BUTCH_REQUEST,\n payload: {\n intercomUuid,\n file,\n params,\n },\n})\n\nfunction* updateSecuredKeysWorker({ type, payload }) {\n try {\n yield call(Api.updateSecuredKeys, payload)\n yield put({ type: UPDATE_SECURED_KEYS_SUCCESS })\n toastr.success('Успех')\n } catch (err) {\n yield put({ type: UPDATE_SECURED_KEYS_FAILURE })\n const { message } = err\n toastr.error('Что-то пошло не так!', message)\n }\n}\n\nfunction* updateKeyCommentWorker({ type, payload }) {\n try {\n yield call(Api.updateKeyComment, payload)\n yield put({ type: UPDATE_KEY_COMMENT_SUCCESS, payload })\n toastr.success('Успех')\n } catch (err) {\n yield put({ type: UPDATE_KEY_COMMENT_FAILURE })\n const { message } = err\n toastr.error('Что-то пошло не так!', message)\n }\n}\n\nfunction* fetchKeysWorker({ type, payload }) {\n try {\n const { data } = yield call(Api.fetchKeys, payload)\n yield put({ type: FETCH_KEYS_SUCCESS, payload: data })\n } catch (err) {\n yield put({ type: FETCH_KEYS_FAILURE })\n const { message } = err\n toastr.error('Что-то пошло не так!', message)\n }\n}\n\nfunction* deleteAllKeysWorker({ type, payload }) {\n try {\n yield call(Api.removeAllKeys, payload)\n yield put({\n type: DELETE_ALL_KEYS_SUCCESS,\n payload: { data: [] },\n })\n toastr.success('Ключи успешно удалены')\n return Promise.resolve()\n } catch (err) {\n yield put({\n type: DELETE_ALL_KEYS_FAILURE,\n })\n toastr.error('При удалении ключей произошла ошибка')\n return Promise.reject()\n }\n}\n\nfunction* createKeyWorker({ type, payload }) {\n try {\n const keys = yield call(Api.createKey, payload)\n yield put({ type: CREATE_KEY_SUCCESS, payload })\n // toastr.success('Успех')\n } catch (err) {\n yield put({ type: CREATE_KEY_FAILURE })\n const { message } = err\n toastr.error('Что-то пошло не так!', message)\n }\n}\n\nfunction* uploadButchWorker({ type, payload }) {\n try {\n yield put({ type: UPLOADING_KEYS_REQUEST })\n yield call(Api.uploadKeysButch, payload)\n yield put({ type: UPLOADING_KEYS_SUCCESS })\n yield put({\n type: UPLOAD_BUTCH_SUCCESS,\n payload: { ...payload },\n })\n\n toastr.success('Успех')\n } catch (err) {\n yield put({ type: UPLOADING_KEYS_SUCCESS })\n yield put({ type: UPLOAD_BUTCH_FAILURE })\n const { message } = err\n // toastr.error('Ч/то-то пошло не так!', message)\n }\n}\n\nexport function* keysSagas() {\n yield takeLatest(DELETE_ALL_KEYS_REQUEST, deleteAllKeysWorker)\n yield takeLatest(UPDATE_SECURED_KEYS_REQUEST, updateSecuredKeysWorker)\n yield takeLatest(UPDATE_KEY_COMMENT_REQUEST, updateKeyCommentWorker)\n yield takeLatest(FETCH_KEYS_REQUEST, fetchKeysWorker)\n yield takeLatest(CREATE_KEY_REQUEST, createKeyWorker)\n yield takeLatest(UPLOAD_BUTCH_REQUEST, uploadButchWorker)\n yield takeLatest(\n [\n CREATE_KEY_SUCCESS,\n REMOVE_KEY_SUCCESS,\n UPDATE_KEY_COMMENT_SUCCESS,\n UPLOAD_BUTCH_SUCCESS,\n ],\n fetchKeysWorker\n )\n // yield takeLatest(\n // [ADD_BLE_KEY_SUCCESS, REMOVE_BLE_KEY_SUCCESS],\n // getDeviceInfoShadowWorker\n // )\n}\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {\n Grid,\n List,\n Container,\n Loader,\n Form,\n Message,\n Pagination,\n Button,\n Icon,\n Input,\n Popup,\n Checkbox,\n Card,\n Modal,\n Header,\n ModalActions,\n} from 'semantic-ui-react'\nimport { Redirect } from 'react-router-dom'\nimport { toastr } from 'react-redux-toastr'\nimport { getDeviceInfoShadow, clearCurrentDeviceInfo } from 'ducks/device'\nimport {\n addKey,\n clearDeviceStatus,\n removeKey,\n downloadKeys,\n} from 'ducks/deviceActions'\nimport Dropzone from 'react-dropzone'\nimport Key from 'components/listings/Key'\nimport Navbar from 'components/global/Navbar'\nimport AddCommentModal from 'components/modals/AddComment'\nimport {\n fetchKeys,\n updateSecuredKeysRequest,\n createKey,\n updateKeyComment,\n uploadButch,\n deleteAllKeys,\n} from 'ducks/keys'\nimport { chunk } from 'helpers'\nimport styled from 'styled-components'\n\nconst StyledLoader = styled(Loader)`\n &&& {\n &::before {\n /* border-color: white; */\n border: none;\n }\n &::after {\n border-top-color: white;\n border-right-color: white;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n }\n`\nconst KEYS_PER_PAGE = 10\n\nclass KeysPage extends Component {\n state = {\n newKey: '',\n addKeyCommentModal: false,\n secured_keys_mode: this.props.securedKeysMode,\n aes_key: this.props.securedKeysData?.aes_key || '',\n sector_number: this.props.securedKeysData?.sector_number || '',\n block_number: this.props.securedKeysData?.block_number || '',\n activePage: 1,\n pageLimit: 10,\n confirmDeleteAll: false,\n }\n\n componentDidMount() {\n const { match } = this.props\n this.props.getDeviceInfoShadow(match.params.id)\n this.props.dispatch(\n fetchKeys(match.params.id, { page: this.state.activePage })\n )\n }\n\n componentWillUnmount() {\n this.props.dispatch(clearCurrentDeviceInfo())\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.success) {\n nextProps.getDeviceInfoShadow(nextProps.match.params.id)\n toastr.success('Успех!', nextProps.success)\n setTimeout(() => nextProps.clearDeviceStatus(), 1000)\n return { newKey: '', description: '', acceptedFile: null }\n }\n\n if (nextProps.error) {\n toastr.error('Что-то пошло не так...', nextProps.error)\n setTimeout(() => nextProps.clearDeviceStatus(), 1000)\n }\n\n return prevState\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.keys !== prevProps.keys) {\n this.setState({\n currentKeys: this.props.keys,\n })\n }\n if (this.props.securedKeysData !== prevProps.securedKeysData) {\n this.setState({\n aes_key: this.props.securedKeysData?.aes_key,\n sector_number: this.props.securedKeysData?.sector_number,\n block_number: this.props.securedKeysData?.block_number,\n })\n }\n\n if (\n this.props.securedKeysMode !== prevProps.securedKeysMode &&\n !this.state.secured_keys_mode\n ) {\n this.setState({\n secured_keys_mode: this.props.securedKeysMode,\n })\n }\n }\n\n onChange = (e) => {\n this.setState({ [e.target.name]: e.target.value })\n }\n\n onAdd = (e) => {\n const { match } = this.props\n console.log(this.state.acceptedFile)\n if (this.state.acceptedFile) {\n console.log('')\n this.props.dispatch(\n uploadButch(match.params.id, this.state.acceptedFile[0])\n )\n } else {\n this.props.dispatch(\n createKey(match.params.id, {\n key_data: this.state.newKey,\n description: this.state.description,\n })\n )\n }\n }\n\n downloadKeys = () => {\n const {\n match: {\n params: { id },\n },\n } = this.props\n this.props.downloadKeys(id)\n }\n\n onChange = (e) => this.setState({ [e.target.name]: e.target.value })\n\n handlePaginationChange = (e, { activePage }) => {\n // this.props.dispatch(\n // fetchKeys(this.props.match.params.id, { page: activePage })\n // )\n this.setState({ activePage })\n }\n\n deleteAllKeys = () => {\n this.setState({ confirmDeleteAll: false })\n this.props.deleteAllKeys(this.props.match.params.id)\n }\n\n render() {\n const { match, collectingKeys, secured_keys_base_data } = this.props\n const { currentKeys, activePage, pageLimit } = this.state\n\n const viewData = chunk(currentKeys, pageLimit)[activePage - 1]\n if (!match.params.id) {\n return \n }\n\n if (!collectingKeys && !currentKeys) {\n return (\n
\n \n
\n )\n }\n\n return (\n
\n \n \n \n \n \n {!collectingKeys && (\n <>\n \n Скачать .csv с ключами{' '}\n {this.props.loadingKeys && (\n \n )}\n \n }\n icon=\"cloud download\"\n labelPosition=\"right\"\n onClick={this.downloadKeys}\n // circular\n />\n {\n this.setState({ confirmDeleteAll: true })\n }}\n circular\n />\n \n )}\n \n \n {collectingKeys ? (\n \n \n \n В данный момент включен автосбор. Для добавления и удаления\n ключей выключите Автосбор\n \n \n \n ) : (\n \n \n \n
\n \n \n {\n this.setState({ secured_keys_mode: checked })\n if (!checked) {\n this.props.updateSecuredKeysRequest(\n this.props.match.params.id,\n { secured_keys_mode: checked }\n )\n }\n }}>\n \n {this.state.secured_keys_mode && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {\n this.props.updateSecuredKeysRequest(\n this.props.match.params.id,\n {\n secured_keys_mode:\n this.state.secured_keys_mode,\n aes_key: this.state.aes_key,\n sector_number: this.state.sector_number,\n block_number: this.state.block_number,\n }\n )\n }}>\n Сохранить\n \n \n )}\n \n \n

Добавить ключ

\n \n \n {\n this.setState({\n acceptedFile: accepted,\n rejectedFile: rejected,\n fileName: accepted[0].name,\n })\n }}>\n {({ getInputProps, getRootProps }) => (\n \n \n \n {this.state.fileName}\n \n }>\n )}\n \n \n }\n />\n \n \n \n \n \n Добавить{' '}\n {this.props?.upLoadingKeys && (\n \n )}\n \n
\n
\n\n \n {currentKeys?.length < 1 && (\n \n Отсутствуют ключи\n \n )}\n {viewData?.map((data, ind) => (\n \n this.setState({\n addKeyCommentModal: data,\n })\n }\n {...data}\n />\n ))}\n \n
\n
\n
\n )}\n {currentKeys?.length > 1 && (\n \n \n \n )}\n
\n
\n this.setState({ addKeyCommentModal: false })}\n defaultValue={this.state.addKeyCommentModal?.description}\n handleSubmit={(values) => {\n this.props.dispatch(\n updateKeyComment(this.props.match.params.id, {\n description: values.description,\n key_data: this.state.addKeyCommentModal.key_data,\n })\n )\n this.setState({ addKeyCommentModal: false })\n }}\n />\n this.setState({ confirmDeleteAll: false })}\n basic\n size=\"small\">\n
\n \n

Данное действие приведет к удалению ВСЕХ ключей

\n
\n \n this.setState({ confirmDeleteAll: false })}\n circular>\n Отмена\n \n\n \n \n \n
\n )\n }\n}\n\nconst mapStateToProps = ({ device, deviceActions, keys }) => ({\n keys: keys.list?.data, //.keys,\n totalPages: 1, // keys.list?.data.total_pages,\n success: deviceActions.success,\n error: deviceActions.error,\n loadingKeys: deviceActions.loadingKeys,\n upLoadingKeys: keys.upLoadingKeys,\n collectingKeys:\n device.shadowDevice.properties &&\n device.shadowDevice.properties.base.collecting_keys,\n securedKeysMode: device.shadowDevice?.properties?.base?.secured_keys_mode,\n securedKeysData:\n device.shadowDevice?.properties?.base?.secured_keys_base_data,\n})\n\nexport default connect(mapStateToProps, {\n getDeviceInfoShadow,\n addKey,\n clearDeviceStatus,\n removeKey,\n downloadKeys,\n updateSecuredKeysRequest,\n uploadButch,\n deleteAllKeys,\n})(KeysPage)\n","import React from 'react'\r\nimport { Container, Grid } from 'semantic-ui-react'\r\nimport { Link } from 'react-router-dom'\r\n\r\nconst NotFound = () => (\r\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 NotFound\r\n","import React from 'react'\nimport { Table, Dropdown } from 'semantic-ui-react'\n\nconst Emergency = ({ handleChange, emergency, position, options }) => (\n \n \n {position}\n \n \n handleChange(e, props, position)}\n value={emergency[position]}\n options={options}\n />\n \n \n)\n\nexport default Emergency\n","import React, { Component } from 'react'\nimport { Container, Loader, Table, Button } from 'semantic-ui-react'\nimport { connect } from 'react-redux'\nimport Emergency from 'components/listings/Emergency'\nimport { getDeviceInfo } from 'ducks/device'\nimport styled from 'styled-components'\nimport Navbar from 'components/global/Navbar'\n\nconst DevicePageStyled = styled.div`\n min-height: 100vh;\n\n .loading {\n height: 100vh;\n width: 100vw;\n }\n`\n\nclass EmergencyPage extends Component {\n state = {}\n\n componentDidMount() {\n const { match } = this.props\n this.props.getDeviceInfo(match.params.id)\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (\n nextProps.currentDevice &&\n nextProps.currentDevice.properties &&\n nextProps.sounds\n ) {\n const songOptions = nextProps.sounds.map(sound => ({\n text: sound.title,\n key: sound.id,\n value: sound.url\n }))\n return {\n emergency: nextProps.currentDevice.properties.emergency,\n songOptions\n }\n }\n return prevState\n }\n\n handleChange = (e, { value }, position) =>\n this.setState({ emergency: { ...this.state.emergency, [position]: value } })\n\n onSubmit = e => false\n\n render() {\n if (!this.state.emergency || !this.state.songOptions) {\n return (\n \n
\n \n
\n
\n )\n }\n\n return (\n
\n \n\n \n \n \n \n #\n Мелодия\n \n \n\n \n {Object.keys(this.state.emergency).map(position => (\n \n ))}\n \n\n \n \n \n \n \n \n \n
\n
\n
\n )\n }\n}\n\nconst mapStateToProps = ({ device }) => ({\n currentDevice: device.currentDevice,\n sounds: device.sounds\n})\n\nexport default connect(\n mapStateToProps,\n { getDeviceInfo }\n)(EmergencyPage)\n","import React, { useRef, useEffect } from 'react'\nimport { Table } from 'semantic-ui-react'\nimport * as hljs from 'highlight.js/lib'\nimport json from 'highlight.js/lib/languages/json'\nimport 'highlight.js/styles/github-gist.css'\n\nhljs.registerLanguage('json', json)\n\nconst modules = {\n log: 'Сервер',\n intercom: 'Домофон',\n api: 'API',\n}\n\nconst actions = {\n open_door: 'Команда открыть дверь',\n poll: 'Социальный опрос',\n emergency: 'Чрезвычайное происшествиe',\n online: 'Присоединение к серверу',\n offline: 'Отсоединение от сервера',\n intercom_log: 'Внутренняя операция',\n update_config: 'Обновление конфигурации',\n update_flats: 'Обновление квартир',\n reset: 'Перезагузка',\n update_user_sounds: 'Обновление звуков',\n auth_num: 'Открытие двери через код',\n}\n\nconst LogEntry = ({ entry }) => {\n const date = new Date(entry.date_time).toLocaleString('ru-RU')\n\n const codeRef = useRef()\n\n useEffect(() => {\n if (codeRef.current) {\n hljs.highlightBlock(codeRef.current)\n }\n }, [])\n\n switch (entry.module) {\n case 'api':\n return (\n \n \n {date}\n \n \n {entry.module}\n \n \n {entry.data ? actions[entry.data.action] : 'None'}\n \n \n
\n              \n                {JSON.stringify(entry, null, 2)}\n              \n            
\n
\n
\n )\n default:\n return (\n \n \n {date}\n \n \n {modules[entry.module]}\n \n \n {entry.data ? actions[entry.data.action] : 'None'}\n \n \n
\n              \n                {JSON.stringify(entry, null, 2)}\n              \n            
\n
\n
\n )\n }\n}\n\nexport default LogEntry\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Icon } from 'semantic-ui-react'\n\nconst Wrapper = styled.div`\n display: flex;\n position: fixed;\n height: 100%;\n width: 80px;\n left: 0;\n top: 0;\n background: #fbbd0823;\n z-index: 100;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n\n visibility: ${() => console.log(window.scrollY)};\n\n &:hover {\n background: #fbbd0850;\n }\n`\n\nconst GoToTop = () => (\n window.scrollTo(0, 0)}>\n \n \n)\n\nexport default GoToTop\n","import React, { Component, Fragment } from 'react'\nimport {\n Dropdown,\n Grid,\n Container,\n Loader,\n Table,\n Button,\n Message,\n Input,\n} from 'semantic-ui-react'\nimport { connect } from 'react-redux'\nimport LogEntry from 'components/listings/LogEntry'\nimport {\n getDeviceLogs,\n getDeviceInfoShadow,\n clearCurrentDeviceInfo,\n} from 'ducks/device'\nimport {\n clearDeviceStatus,\n getNetInfo,\n getURLInfo,\n getDeviceKeysCount,\n updateTimeZone,\n} from 'ducks/deviceActions'\nimport styled from 'styled-components'\nimport Navbar from 'components/global/Navbar'\nimport GoToTop from 'components/global/GoToTop'\n\nconst DevicePageStyled = styled.div`\n min-height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n`\n\nconst options = [\n { key: '1', text: '10', value: 10 },\n { key: '2', text: '25', value: 25 },\n { key: '3', text: '50', value: 50 },\n { key: '4', text: '75', value: 75 },\n]\n\nclass LogsPage extends Component {\n state = {\n logsQty: options[0].value,\n showButtons: false,\n error: false,\n activePage: 1,\n zoneValue: null,\n }\n\n componentDidMount() {\n const { match } = this.props\n this.props.getDeviceInfoShadow(match.params.id)\n this.props.getDeviceLogs(\n match.params.id,\n this.state.logsQty,\n this.state.activePage\n )\n window.addEventListener('keydown', this.showButtons)\n // this._updateIntervalId = window.setInterval(this.updateDeviceInfo, 1000)\n }\n\n componentWillUnmount() {\n this.props.dispatch(clearDeviceStatus())\n clearInterval(this._updateIntervalId)\n this.props.dispatch(clearCurrentDeviceInfo())\n window.removeEventListener('keydown', this.showButtons)\n }\n\n updateDeviceInfo = async () => {\n const { match } = this.props\n if (this.state.activePage === 1) {\n this.props.getDeviceLogs(\n match.params.id,\n this.state.logsQty,\n this.state.activePage\n )\n }\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.error) {\n props.dispatch(clearDeviceStatus())\n return { error: true }\n }\n return state\n }\n\n onChange = (e, { value }) =>\n this.setState({\n logsQty: value,\n })\n\n showButtons = (e) => {\n if (e.keyCode === 16) {\n this.setState({\n showButtons: !this.state.showButtons,\n })\n console.log(this.state.showButtons)\n console.log(e.keyCode)\n }\n }\n\n onClick = (e) =>\n this.props.getDeviceLogs(\n this.props.match.params.id,\n this.state.logsQty,\n this.state.activePage\n )\n\n changeZoneValue = (e) => {\n this.setState({ zoneValue: e.target.value })\n }\n\n handleUpdateTimeZone = () => {\n let result = this.state.zoneValue\n if (this.state.zoneValue > 0) {\n result = '+' + this.state.zoneValue.toString()\n }\n this.props.updateTimeZone(this.props.match.params.id, result)\n }\n\n nextPage = (e) => {\n this.props.getDeviceLogs(\n this.props.match.params.id,\n this.state.logsQty,\n this.state.activePage + 1\n )\n this.setState({ activePage: this.state.activePage + 1 })\n }\n\n prevPage = (e) => {\n if (this.state.activePage < 1) {\n return\n }\n this.props.getDeviceLogs(\n this.props.match.params.id,\n this.state.logsQty,\n this.state.activePage - 1\n )\n this.setState({ activePage: this.state.activePage - 1 })\n }\n\n getNetInfo = () => {\n this.props.getNetInfo({\n deviceUuid: this.props.match.params.id,\n logsQty: this.state.logsQty,\n activePage: this.state.activePage,\n })\n }\n\n getURLInfo = () => {\n this.props.getURLInfo({\n deviceUuid: this.props.match.params.id,\n logsQty: this.state.logsQty,\n activePage: this.state.activePage,\n })\n }\n\n getDeviceKeysCount = () => {\n this.props.getDeviceKeysCount({\n deviceUuid: this.props.match.params.id,\n logsQty: this.state.logsQty,\n activePage: this.state.activePage,\n })\n }\n\n render() {\n const { logs } = this.props\n\n if (this.state.error)\n return (\n \n \n \n \n Произошла ошибка при загрузке логов панели. Убедитесь, что панель\n зарегистрирована.\n \n \n \n )\n\n if (Array.isArray(logs.collection) && !logs.collection.length)\n return \n\n if (!logs.collection || logs.collection.length < 1) {\n return (\n \n
\n \n
\n
\n )\n }\n\n return (\n
\n \n \n\n \n \n \n \n \n
\n \n \n Обновить таймзону\n \n
\n\n
\n \n \n Обновить данные\n \n
\n
\n \n \n {this.state.showButtons && (\n \n \n \n \n \n )}\n \n {logs.isFetching ? (\n
\n \n
\n ) : (\n \n \n \n \n Дата\n \n \n Модуль\n \n \n Действие\n \n \n Детали\n \n \n \n\n \n {logs.collection.map((entry, i) => (\n \n ))}\n \n\n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n\n {/* */}\n \n
\n )}\n
\n \n \n \n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n logs: state.device.logs,\n error: state.device.error,\n timeZone: state.device.shadowDevice.properties?.time_zone,\n})\n\nexport default connect(mapStateToProps, {\n getDeviceLogs,\n getDeviceInfoShadow,\n getNetInfo,\n getURLInfo,\n getDeviceKeysCount,\n updateTimeZone,\n})(LogsPage)\n","import React from 'react'\nimport { List, Icon } from 'semantic-ui-react'\n\nconst ListItemStyle = {\n padding: '1rem',\n}\n\nconst Code = ({ value, description, onClick, exp_time, openCommentModal }) => (\n \n \n действует{' '}\n {exp_time ? ` до ${new Date(exp_time).toLocaleString()}` : ' бессрочно'}\n \n\n {\n e.stopPropagation()\n onClick()\n }}\n />\n\n \n \n {value?.toString().length > 3 ? value : 0 + value}\n \n {description}\n \n \n)\n\nexport default Code\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {\n Grid,\n List,\n Container,\n Loader,\n Form,\n Message,\n Pagination,\n Button,\n Icon,\n Input,\n Popup,\n Header,\n ModalActions,\n} from 'semantic-ui-react'\nimport { Redirect } from 'react-router-dom'\nimport { toastr } from 'react-redux-toastr'\nimport { getDeviceInfoShadow, clearCurrentDeviceInfo } from 'ducks/device'\nimport {\n clearDeviceStatus,\n getDeviceAccessCodes,\n addAccessCode,\n deleteAccessCode,\n updateCodeComment,\n uploadCodesButch,\n downloadCodes,\n deleteAllAccessCodes,\n} from 'ducks/deviceActions'\nimport Navbar from 'components/global/Navbar'\nimport MaskedInput from 'react-text-mask'\nimport AccessCode from 'components/listings/AccessCode'\nimport AddCommentModal from 'components/modals/AddComment'\nimport Dropzone from 'react-dropzone'\nimport { chunk } from 'helpers'\nimport { Modal } from 'semantic-ui-react'\nimport styled from 'styled-components'\n\nconst StyledLoader = styled(Loader)`\n &&& {\n &::before {\n /* border-color: white; */\n border: none;\n }\n &::after {\n border-top-color: white;\n border-right-color: white;\n border-bottom-color: transparent;\n border-left-color: transparent;\n }\n }\n`\n\nclass AccessCodesPage extends Component {\n state = {\n keyValue: '',\n expTime: '',\n description: '',\n activePage: 1,\n // totalPages: 1,\n pageLimit: 10,\n confirmDeleteAll: false,\n }\n\n componentDidMount() {\n const { match } = this.props\n this.props.getDeviceInfoShadow(match.params.id)\n this.props.getDeviceAccessCodes(match.params.id)\n }\n\n componentWillUnmount() {\n this.props.dispatch(clearCurrentDeviceInfo())\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.success) {\n nextProps.getDeviceInfoShadow(nextProps.match.params.id)\n toastr.success('Успех!', nextProps.success)\n setTimeout(() => nextProps.clearDeviceStatus(), 1000)\n return { newKey: '', acceptedFile: null }\n }\n\n if (nextProps.error) {\n toastr.error('Что-то пошло не так...', nextProps.error)\n setTimeout(() => nextProps.clearDeviceStatus(), 1000)\n }\n return prevState\n }\n\n onChange = (e) => {\n this.setState({ [e.target.name]: e.target.value })\n }\n\n handleSubmit = (e) => {\n e.preventDefault()\n\n if (this.state.acceptedFile) {\n this.props.dispatch(\n uploadCodesButch(this.props.match.params.id, this.state.acceptedFile[0])\n )\n } else {\n this.props.addAccessCode({\n deviceUuid: this.props.match.params.id,\n key: this.state.keyValue,\n expTime: this.state.expTime,\n description: this.state.description,\n })\n }\n }\n\n handleDeleteClick = (keyValue) => {\n this.props.deleteAccessCode({\n deviceUuid: this.props.match.params.id,\n key: keyValue,\n })\n }\n\n handlePaginationChange = (e, { activePage }) => {\n // this.props.getDeviceAccessCodes(this.props.match.params.id, activePage)\n\n this.setState({ activePage })\n }\n\n deleteAllCodes = () => {\n this.setState({ confirmDeleteAll: false })\n this.props.deleteAllAccessCodes(this.props.match.params.id)\n }\n\n render() {\n const { match, accessCodes } = this.props\n const { pageLimit, activePage } = this.state\n if (!match.params.id) {\n return \n }\n\n if (!accessCodes) {\n return (\n
\n \n
\n )\n }\n\n const viewData = chunk(this.props.accessCodes?.slice(0, 9999), pageLimit)[\n activePage - 1\n ] // ogranichenie 10k kodov\n\n return (\n
\n \n \n
\n \n <>\n \n Скачать .csv с кодами доступа{' '}\n {this.props?.loadingCodes && (\n \n )}\n \n }\n icon=\"cloud download\"\n labelPosition=\"right\"\n onClick={() => {\n this.props.dispatch(\n downloadCodes(this.props.match.params.id)\n )\n }}\n type=\"button\"\n />\n {\n this.setState({ confirmDeleteAll: true })\n }}\n circular\n />\n \n \n \n \n\n \n }\n />\n \n \n\n \n {\n this.setState({\n acceptedFile: accepted,\n rejectedFile: rejected,\n fileName: accepted[0].name,\n })\n }}>\n {({ getInputProps, getRootProps }) => (\n \n \n\n \n {this.state.fileName || 'Файл'}\n \n }>\n )}\n \n\n \n Добавить{' '}\n {this.props?.upLoadingCodes && (\n \n )}\n \n \n \n\n \n {accessCodes?.length < 1 && (\n \n Отсутствуют коды доступа\n \n )}\n {viewData?.map(({ value, exp_time, uuid, description }, idx) => (\n this.handleDeleteClick(uuid)}\n openCommentModal={() =>\n this.setState({\n addCommentModal: {\n uuid,\n description,\n },\n })\n }\n />\n ))}\n \n {this.props.accessCodes?.length > 1 && (\n \n \n \n )}\n
\n this.setState({ addCommentModal: false })}\n defaultValue={this.state.addCommentModal?.description}\n handleSubmit={(values) => {\n this.props.dispatch(\n updateCodeComment(this.props.match.params.id, {\n description: values.description,\n uuid: this.state.addCommentModal.uuid,\n })\n )\n this.setState({ addCommentModal: false })\n }}\n />\n this.setState({ confirmDeleteAll: false })}\n size=\"small\"\n basic>\n
\n \n

Данное действие приведет к удалению ВСЕХ кодов доступа

\n
\n \n this.setState({ confirmDeleteAll: false })}\n circular>\n Закрыть\n \n\n \n \n \n
\n )\n }\n}\n\nconst mapStateToProps = ({ device, deviceActions }) => ({\n success: deviceActions.success,\n error: deviceActions.error,\n accessCodes: deviceActions.accessCodes,\n loadingCodes: deviceActions.loadingCodes,\n upLoadingCodes: deviceActions.upLoadingCodes,\n // totalPages: deviceActions.accessCodes?.total_pages,\n})\n\nexport default connect(mapStateToProps, {\n getDeviceInfoShadow,\n clearDeviceStatus,\n getDeviceAccessCodes,\n addAccessCode,\n deleteAccessCode,\n deleteAllAccessCodes,\n})(AccessCodesPage)\n","import { put, takeLatest, call } from 'redux-saga/effects'\nimport Api from 'api/sputnikApi'\nimport { toastr } from 'react-redux-toastr'\n\nimport { getDeviceInfoShadowWorker } from './device'\n\nexport const ADD_BLE_KEY_REQUEST = 'ble/ADD_BLE_KEY_REQUEST'\nexport const ADD_BLE_KEY_SUCCESS = 'ble/ADD_BLE_KEY_SUCCESS'\nexport const ADD_BLE_KEY_FAILURE = 'ble/ADD_BLE_KEY_FAILURE'\n\nexport const REMOVE_BLE_KEY_REQUEST = 'ble/REMOVE_BLE_KEY_REQUEST'\nexport const REMOVE_BLE_KEY_SUCCESS = 'ble/REMOVE_BLE_KEY_SUCCESS'\nexport const REMOVE_BLE_KEY_FAILURE = 'ble/REMOVE_BLE_KEY_FAILURE'\n\nexport default function ble(state = {}, { type, payload }) {\n switch (type) {\n default:\n return state\n }\n}\n\nexport const addBLEKeyRequest = (intercomUuid, key) => ({\n type: ADD_BLE_KEY_REQUEST,\n payload: {\n intercomUuid,\n key,\n },\n})\nexport const addBLEKeySuccess = intercomUuid => ({\n type: ADD_BLE_KEY_SUCCESS,\n payload: intercomUuid,\n})\nexport const addBLEKeyFailure = () => ({\n type: ADD_BLE_KEY_FAILURE,\n})\n\nexport const removeBLEKeyRequest = (intercomUuid, key) => ({\n type: REMOVE_BLE_KEY_REQUEST,\n payload: {\n intercomUuid,\n key,\n },\n})\nexport const removeBLEKeySuccess = intercomUuid => ({\n type: REMOVE_BLE_KEY_SUCCESS,\n payload: intercomUuid,\n})\nexport const removeBLEKeyFailure = () => ({\n type: REMOVE_BLE_KEY_FAILURE,\n})\n\nfunction* removeBLEKeyWorker({ type, payload }) {\n try {\n yield call(Api.removeBLEKey, payload)\n yield put(removeBLEKeySuccess(payload.intercomUuid))\n toastr.success('Ключ был успешно удален')\n } catch (err) {\n yield put(removeBLEKeyFailure())\n const { message } = err\n toastr.error('При удалении ключа произошла ошибка', message)\n }\n}\n\nfunction* addBLEKeyWorker({ type, payload }) {\n try {\n yield call(Api.addBLEKey, payload)\n yield put(addBLEKeySuccess(payload.intercomUuid))\n toastr.success('Ключ был успешно добавлен')\n } catch (err) {\n yield put(addBLEKeyFailure())\n const { message } = err\n toastr.error('При удалении ключа произошла ошибка', message)\n }\n}\n\nexport function* bleKeysSagas() {\n yield takeLatest(ADD_BLE_KEY_REQUEST, addBLEKeyWorker)\n yield takeLatest(REMOVE_BLE_KEY_REQUEST, removeBLEKeyWorker)\n yield takeLatest(\n [ADD_BLE_KEY_SUCCESS, REMOVE_BLE_KEY_SUCCESS],\n getDeviceInfoShadowWorker,\n )\n}\n","import React, { Component } from 'react'\nimport { connect } from 'react-redux'\nimport {\n Grid,\n List,\n Container,\n Loader,\n Form,\n Message,\n Pagination,\n Button,\n Icon,\n Input,\n Popup,\n} from 'semantic-ui-react'\nimport { Redirect } from 'react-router-dom'\nimport { toastr } from 'react-redux-toastr'\nimport { getDeviceInfoShadow, clearCurrentDeviceInfo } from 'ducks/device'\nimport { addBLEKeyRequest, removeBLEKeyRequest } from 'ducks/ble'\nimport Key from 'components/listings/Key'\nimport Navbar from 'components/global/Navbar'\nimport MaskedInput from 'react-text-mask'\n\nconst KEYS_PER_PAGE = 10\n\nconst regEx = /^[0-9A-F]+$/i\n\nclass KeysPage extends Component {\n state = {\n newKey: '',\n activePage: 1,\n totalPages: 1,\n }\n\n componentDidMount() {\n const { match } = this.props\n this.props.getDeviceInfoShadow(match.params.id)\n }\n\n componentWillUnmount() {\n this.props.dispatch(clearCurrentDeviceInfo())\n }\n\n onChange = e => {\n this.setState({ [e.target.name]: e.target.value })\n }\n\n onAdd = e => {\n const { match } = this.props\n console.log(\n /\\_+/g.test(this.state.newKey),\n !/\\_{8}/g.test(this.state.newKey),\n )\n if (/\\_+/g.test(this.state.newKey) && !/\\_{8}/g.test(this.state.newKey))\n return toastr.error('Минимальная длина 16 символов')\n\n const keyNoMask = this.state.newKey.replace(/_/g, '')\n\n this.props.addBLEKeyRequest(match.params.id, keyNoMask)\n }\n\n render() {\n const { match, collectingKeys, keys } = this.props\n\n if (!match.params.id) {\n return \n }\n\n if (!keys) {\n return (\n
\n \n
\n )\n }\n\n return (\n
\n \n \n \n \n \n \n
\n \n regEx)}\n placeholder=\"Hex\"\n required\n />\n }\n />\n\n \n Добавить\n \n \n
\n\n \n {keys.length < 1 && (\n \n Отсутствуют BLE ключи\n \n )}\n {keys.map((hex, ind) => (\n \n this.props.removeBLEKeyRequest(match.params.id, hex)\n }\n />\n ))}\n \n
\n
\n
\n
\n
\n
\n )\n }\n}\n\nconst mapStateToProps = ({ device, deviceActions }) => ({\n keys:\n device.shadowDevice.properties && device.shadowDevice.properties.ble_keys,\n})\n\nexport default connect(mapStateToProps, {\n getDeviceInfoShadow,\n addBLEKeyRequest,\n removeBLEKeyRequest,\n})(KeysPage)\n","import { Fragment } from 'react'\nimport { Container } from 'semantic-ui-react'\nimport Navbar from './Navbar'\n\nexport default function EmptyLoad() {\n return (\n \n \n \n Тут пока ничего нет\n \n \n )\n}\n","import React, { Component, Fragment } from 'react'\nimport {\n Dropdown,\n Grid,\n Container,\n Loader,\n Table,\n Button,\n Message,\n Input,\n} from 'semantic-ui-react'\nimport { connect } from 'react-redux'\nimport LogEntry from 'components/listings/LogEntry'\nimport {\n getDeviceUserLogs,\n getDeviceInfoShadow,\n clearCurrentDeviceInfo,\n} from 'ducks/device'\nimport { clearDeviceStatus, updateTimeZone } from 'ducks/deviceActions'\nimport styled from 'styled-components'\nimport Navbar from 'components/global/Navbar'\nimport GoToTop from 'components/global/GoToTop'\nimport EmptyLoad from 'components/global/EmptyLoad'\n\nconst DevicePageStyled = styled.div`\n min-height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n`\n\nconst options = [\n { key: '1', text: '10', value: 10 },\n { key: '2', text: '25', value: 25 },\n { key: '3', text: '50', value: 50 },\n { key: '4', text: '75', value: 75 },\n]\n\nclass UserLogsPage extends Component {\n state = {\n logsQty: options[0].value,\n error: false,\n activePage: 1,\n zoneValue: null,\n }\n\n componentDidMount() {\n const { match } = this.props\n this.props.getDeviceInfoShadow(match.params.id)\n this.props.getDeviceUserLogs(\n match.params.id,\n this.state.logsQty,\n this.state.activePage\n )\n }\n\n componentWillUnmount() {\n this.props.dispatch(clearDeviceStatus())\n clearInterval(this._updateIntervalId)\n this.props.dispatch(clearCurrentDeviceInfo())\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.error) {\n props.dispatch(clearDeviceStatus())\n return { error: true }\n }\n return state\n }\n\n onChange = (e, { value }) =>\n this.setState({\n logsQty: value,\n })\n\n onClick = (e) =>\n this.props.getDeviceUserLogs(\n this.props.match.params.id,\n this.state.logsQty,\n this.state.activePage\n )\n\n changeZoneValue = (e) => {\n this.setState({ zoneValue: e.target.value })\n }\n\n handleUpdateTimeZone = () => {\n let result = this.state.zoneValue\n if (this.state.zoneValue > 0) {\n result = '+' + this.state.zoneValue.toString()\n }\n this.props.updateTimeZone(this.props.match.params.id, result)\n }\n\n nextPage = (e) => {\n this.props.getDeviceUserLogs(\n this.props.match.params.id,\n this.state.logsQty,\n this.state.activePage + 1\n )\n this.setState({ activePage: this.state.activePage + 1 })\n }\n\n prevPage = (e) => {\n if (this.state.activePage < 1) {\n return\n }\n this.props.getDeviceUserLogs(\n this.props.match.params.id,\n this.state.logsQty,\n this.state.activePage - 1\n )\n this.setState({ activePage: this.state.activePage - 1 })\n }\n\n render() {\n const { logs } = this.props\n\n if (this.state.error)\n return (\n \n \n \n \n Произошла ошибка при загрузке пользовательских логов панели.\n Убедитесь, что панель зарегистрирована.\n \n \n \n )\n\n if (Array.isArray(logs.collection) && !logs.collection.length)\n return \n\n if (!logs.collection || logs.collection.length < 1) {\n return (\n \n
\n \n
\n
\n )\n }\n\n return (\n
\n \n \n\n \n \n \n \n \n
\n \n \n Обновить таймзону\n \n
\n\n
\n \n \n Обновить данные\n \n
\n
\n \n \n\n \n {logs.isFetching ? (\n
\n \n
\n ) : (\n \n \n \n \n Дата\n \n \n Модуль\n \n \n Действие\n \n \n Детали\n \n \n \n\n \n {logs.collection.map((entry, i) => (\n \n ))}\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n
\n )}\n
\n \n \n \n )\n }\n}\n\nconst mapStateToProps = (state) => ({\n logs: state.device.userLogs,\n error: state.device.error,\n timeZone: state.device.shadowDevice.properties?.time_zone,\n})\n\nexport default connect(mapStateToProps, {\n getDeviceUserLogs,\n getDeviceInfoShadow,\n updateTimeZone,\n})(UserLogsPage)\n","import React from 'react'\nimport { Route, withRouter, Switch } from 'react-router-dom'\nimport RequireAuth from 'components/global/RequireAuth'\nimport LoginPage from 'components/pages/LoginPage'\nimport HomePage from 'components/pages/HomePage'\nimport DevicePage from 'components/pages/DevicePage'\nimport FlatsPage from 'components/pages/FlatsPage'\nimport KeysPage from 'components/pages/KeysPage'\nimport NotFound from 'components/pages/NotFound'\nimport EmergencyPage from 'components/pages/EmergencyPage'\nimport LogsPage from 'components/pages/LogsPage'\nimport AccessCodesPage from 'components/pages/AccessCodesPage'\nimport BLEKeysPage from 'components/pages/BLEKeysPage'\nimport UserLogsPage from './pages/UserLogsPage'\n\nconst App = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default withRouter(App)\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,\n ),\n)\n\nexport default function register(showUpdateToast) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location)\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl)\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://goo.gl/SC7cgQ',\n )\n })\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl, showUpdateToast)\n }\n })\n }\n}\n\nfunction registerValidSW(swUrl, showUpdateToast) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing\n const waitingServiceWorker = registration.waiting\n\n const handleRefresh = () => {\n showUpdateToast(() => {\n installingWorker.postMessage({ type: 'SKIP_WAITING' })\n window.location.reload()\n })\n }\n\n if (waitingServiceWorker) {\n waitingServiceWorker.addEventListener('statechange', event => {\n if (event.target.state === 'activated') {\n window.location.reload()\n }\n })\n handleRefresh()\n }\n\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.')\n handleRefresh()\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.')\n }\n }\n }\n }\n })\n .catch(error => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker(swUrl) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload()\n })\n })\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl)\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.',\n )\n })\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister()\n })\n }\n}\n","import { combineReducers } from 'redux'\nimport devices from './devices'\nimport auth from './auth'\nimport device from './device'\nimport deviceActions from './deviceActions'\nimport ble from './ble'\nimport keys from './keys'\nimport { reducer as toastr } from 'react-redux-toastr'\n\nimport { all, fork, spawn } from 'redux-saga/effects'\nimport { authSaga } from './auth'\nimport { devicesSaga } from './devices'\nimport { deviceSagas } from './device'\nimport { deviceActionsSagas } from './deviceActions'\nimport { bleKeysSagas } from './ble'\nimport { keysSagas } from './keys'\n\nexport default combineReducers({\n auth,\n devices,\n device,\n deviceActions,\n toastr,\n ble,\n keys,\n})\n\n//fork for \"mission critical\" tasks, i.e. \"if this task fails, please crash the whole app\",\n//and spawn for \"not critical\" tasks,\nexport function* rootSaga() {\n yield all([\n fork(authSaga),\n spawn(devicesSaga),\n spawn(deviceSagas),\n fork(deviceActionsSagas),\n fork(bleKeysSagas),\n fork(keysSagas),\n ])\n}\n","import { createStore, applyMiddleware } from 'redux'\n// import throttle from 'lodash/throttle'\nimport rootReducer from 'ducks/index'\nimport { loadState } from './localStorage'\nimport { composeWithDevTools } from 'redux-devtools-extension'\nimport createSagaMiddleware from 'redux-saga'\nimport { rootSaga } from 'ducks/index'\n\nconst sagaMiddleware = createSagaMiddleware()\n\nconst configureStore = () => {\n const persistedState = loadState()\n const middleware = [sagaMiddleware]\n const store = createStore(\n rootReducer,\n persistedState,\n composeWithDevTools(applyMiddleware(...middleware))\n )\n\n sagaMiddleware.run(rootSaga)\n\n return store\n}\n\nexport default configureStore\n","import React, { Fragment } from 'react'\nimport ReactDOM from 'react-dom'\nimport App from 'components/App'\nimport registerServiceWorker from './serviceWorker'\nimport { BrowserRouter } from 'react-router-dom'\nimport { Provider } from 'react-redux'\nimport configureStore from 'store/configureStore'\nimport ReduxToastr, { toastr } from 'react-redux-toastr'\nimport 'theme/semantic.css'\nimport 'react-redux-toastr/lib/css/react-redux-toastr.min.css'\nimport 'index.css'\nimport {\n ApolloClient,\n InMemoryCache,\n ApolloProvider,\n createHttpLink,\n from,\n} from '@apollo/client'\nimport { setContext } from '@apollo/client/link/context'\nimport { onError } from '@apollo/client/link/error'\nconst store = configureStore()\n\nconst errorLink = onError(({ graphQLErrors, networkError }) => {\n if (graphQLErrors)\n graphQLErrors.forEach(({ message, locations, path }) =>\n toastr.error('Что-то пошло не так...', message)\n )\n if (networkError) console.log(`[Network error]: ${networkError}`)\n})\n\nconst httpLink = createHttpLink({\n uri: 'https://api.sputnik.systems/query',\n})\n\nconst authLink = setContext((_, { headers }) => {\n // get the authentication token from local storage if it exists\n const token = JSON.parse(localStorage.getItem('devicesAppState'))\n // return the headers to the context so httpLink can read them\n return {\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n Authorization: token ? `Bearer ${token.auth.jwt}` : '',\n },\n }\n})\n\nconst client = new ApolloClient({\n link: from([errorLink, authLink.concat(httpLink)]),\n cache: new InMemoryCache(),\n defaultOptions: {\n query: {\n fetchPolicy: 'network-only',\n },\n },\n})\n\n\n//2125129189\nconst Root = () => (\n \n \n \n \n \n \n \n \n \n \n)\n\nReactDOM.render(, document.getElementById('root'))\n\nconst showUpdateToast = (action) =>\n toastr.info('Доступна новая версия', 'Нажмите для обновления', {\n onToastrClick: action,\n })\nregisterServiceWorker(showUpdateToast)\n"],"sourceRoot":""}