{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/_helpers/RestrictHelper.js","webpack:///./src/_helpers/CsharpEnum.js","webpack:///./src/components/common/Notification.vue?2c5d","webpack:///./src/components/events/EventHub.vue?16cb","webpack:///./src/languages/locales/en.js","webpack:///./src/languages/locales/sv.js","webpack:///./src/languages/index.js","webpack:///./src/components/dashboard/DashboardCategoryViewer.vue?99d8","webpack:///./src/_helpers/apiHelper.js","webpack:///./src/router.js","webpack:///./src/api/repositories/mqttRepository.js","webpack:///./src/App.vue?6674","webpack:///./src/App.vue","webpack:///./src/components/NavBar.vue","webpack:///./src/components/common/Notification.vue","webpack:///src/components/common/Notification.vue","webpack:///./src/components/common/Notification.vue?591f","webpack:///./src/components/common/Notification.vue?e1f0","webpack:///./src/components/dashboard/DashboardTreeSelect.vue","webpack:///src/components/dashboard/DashboardTreeSelect.vue","webpack:///./src/components/dashboard/DashboardTreeSelect.vue?e5a0","webpack:///./src/components/dashboard/DashboardTreeSelect.vue?0793","webpack:///./src/components/common/Search.vue","webpack:///src/components/common/Search.vue","webpack:///./src/components/common/Search.vue?e89c","webpack:///./src/components/common/Search.vue?5233","webpack:///src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?e0c1","webpack:///./src/components/NavBar.vue?bca4","webpack:///./src/components/events/EventHub.vue","webpack:///src/components/events/EventHub.vue","webpack:///./src/components/events/EventHub.vue?d891","webpack:///./src/components/events/EventHub.vue?6d1a","webpack:///src/App.vue","webpack:///./src/App.vue?feb9","webpack:///./src/App.vue?315a","webpack:///./src/plugins/vuetify.js","webpack:///./src/components/common/DatePicker.vue","webpack:///src/components/common/DatePicker.vue","webpack:///./src/components/common/DatePicker.vue?511c","webpack:///./src/components/common/DatePicker.vue?89a0","webpack:///./src/_helpers/moduleSettingsHelper.js","webpack:///./src/_helpers/commonHelper.js","webpack:///./src/_helpers/DateHelper.js","webpack:///./src/components/common/PhonenumberInput.vue","webpack:///src/components/common/PhonenumberInput.vue","webpack:///./src/components/common/PhonenumberInput.vue?2d6b","webpack:///./src/components/common/PhonenumberInput.vue?a203","webpack:///./src/_helpers/mapsHelper.js","webpack:///./src/main.js","webpack:///./src/components/NavBar.vue?073e","webpack:///./src/components/common/Search.vue?bc18","webpack:///./src/_helpers/DecoderHelper.js","webpack:///./src/components/common/IconSelector.vue?63a3","webpack:///./src/api/repositories/usersRepository.js","webpack:///./src/api/repositories/companyRepository.js","webpack:///./src/api/repositories/applicationRepository.js","webpack:///./src/api/repositories/tagDataRepository.js","webpack:///./src/api/repositories/tagRepository.js","webpack:///./src/api/repositories/alarmRepository.js","webpack:///./src/api/repositories/scriptRepository.js","webpack:///./src/api/repositories/reportRepository.js","webpack:///./src/api/repositories/dashboardRepository.js","webpack:///./src/api/repositories/moduleRepository.js","webpack:///./src/api/repositories/logRepository.js","webpack:///./src/api/repositories/notificationRepository.js","webpack:///./src/api/repositories/signalTestRepository.js","webpack:///./src/api/repositories/licenseRepository.js","webpack:///./src/api/repositories/gatewayRepository.js","webpack:///./src/api/repositories/downlinkRepository.js","webpack:///./src/api/repositories/roleRepository.js","webpack:///./src/api/RepositoryFactory.js","webpack:///./src/stores/modules/accessToken.js","webpack:///./src/stores/modules/alarm.js","webpack:///./src/stores/modules/alert.js","webpack:///./src/stores/modules/application.js","webpack:///./src/stores/modules/company.js","webpack:///./src/api/repositories/settingRepository.js","webpack:///./src/stores/modules/configuration.js","webpack:///./src/stores/modules/dashboard.js","webpack:///./src/stores/modules/downlinks.js","webpack:///./src/stores/modules/event.js","webpack:///./src/stores/modules/gateway.js","webpack:///./src/stores/modules/language.js","webpack:///./src/_helpers/metricHelper.js","webpack:///./src/stores/modules/log.js","webpack:///./src/stores/modules/modules.js","webpack:///./src/stores/modules/mqtt.js","webpack:///./src/stores/modules/notification.js","webpack:///./src/stores/modules/report.js","webpack:///./src/stores/modules/roles.js","webpack:///./src/stores/modules/scripts.js","webpack:///./src/stores/modules/settings.js","webpack:///./src/stores/modules/signalTest.js","webpack:///./src/stores/modules/tag.js","webpack:///./src/stores/modules/tagdata.js","webpack:///./src/stores/modules/user.js","webpack:///./src/stores/store.js","webpack:///./src/api/repositories/integrationsRepository.js","webpack:///./src/components/dashboard/DashboardCategoryViewer.vue","webpack:///./src/components/common/IconSelector.vue","webpack:///src/components/common/IconSelector.vue","webpack:///./src/components/common/IconSelector.vue?a137","webpack:///./src/components/common/IconSelector.vue?b02f","webpack:///src/components/dashboard/DashboardCategoryViewer.vue","webpack:///./src/components/dashboard/DashboardCategoryViewer.vue?740d","webpack:///./src/components/dashboard/DashboardCategoryViewer.vue?0cdc","webpack:///./src/_helpers/Role.js","webpack:///./src/plugins/i18n.js","webpack:///./src/api/Repository.js","webpack:///./src/components/NavBar.vue?ac78"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","whiteLabelSettings","methods","mapActions","isSuperAdmin","this","permitted","allowed","route","roles","role","store","state","users","currentUser","charAt","substring","routeArr","split","router","options","routes","forEach","path","children","meta","authorize","includes","owns","oid","cmpId","getters","permission","prefix","fullPermission","filter","resourceIdentifier","allowedToEdit","targetRole","Roles","Admin","SuperAdmin","CompanyAdmin","limitedToWhiteLabel","license","WHITE_LABEL","whiteLabelActive","computed","mapState","whiteLabel","toLowerCase","DaysOfWeek","sunday","monday","tuesday","wednesday","thursday","friday","saturday","Priority","A","B","C","LimitType","LOW","HIGH","ContactType","SMS","EMAIL","BOTH","ModuleType","CHART","GAUGE","TEXT","IMAGE","MAP","COMPANYINFO","IFRAME","WEATHER","SINGLE","RAWTABLE","MULTICHART","IMAGEMAP","FUNCTIONBUTTON","INFOCARD","TRENDCHART","SENSOROVERVIEW","TILTCHART","FILLINDICATOR","CONTROLSLIDERS","LogType","label","i18n","color","colors","blue","accent1","green","accent3","yellow","red","CompanySettingFieldType","STRING","NUMBER","DATE","SELECT","CHECKBOX","PASSWORD","FunctionTypes","SCRIPT","VALUEINPUT","DASHBOARD","DOWNLINK","ONOFFSWITCH","ConditionTypes","SENSORVALUE","text","icon","EMPTY","home","login","register","registerCompany","logout","company","dashboard","application","alarm","user","tagdata","report","contact","apiRef","shop","manual","userEdit","settings","signalTest","gateway","news","superadmin","toolbarTitle","permissionCounts","missingRecommendedTitle","missingRecommendedButton","pickPermissionsTitle","pickPermissionsDesc","layerTypes","0","1","2","fields","permissionCount","isDefault","isSuper","eventhub","waiting","events","endpoint","downlinks","editorTitle","validation","port","conditionTree","selectValueTypeTitle","selectType","selectValue","chooseSensor","textInputPlaceholder","numberInputPlaceholder","types","3","4","ops","greater","less","equal","greaterOrEqual","lessOrEqual","notEqual","accessToken","title","newToken","cardNewTitle","cardTitle","id","token","isCompany","cannotGetNews","toolbar","bestGw","pickLocationButton","macAddress","latitude","longitude","createdAt","startTest","endTest","peekTest","createToolbar","rawData","updateTimer","testId","description","active","avgSnr","avgRssi","rssi","snr","lat","lng","tab","map","trend","res","week","day","hour","five","notifications","clearNotifications","noNotifications","landing","slogan","or","5","6","usecases","12","help","sensors","api","siencepark","address","postal","country","phoneTitle","phonenumber","phonenumber2","emailTitle","email","imageMap","chooseTag","log","sms","app","warning","userevent","logTable","activeAlarms","activeUsersTable","status","lastAction","lastSeen","messageSent","common","yes","no","on","off","timestamp","lang","edit","delete","reset","purge","submit","update","run","link","height","width","new","newValue","nothingToSee","next","editLabel","explanation","clear","previousStep","hours","mintues","search","close","cancel","success","password","confirmPassword","newPassword","forgotPassword","updatedAt","save","show","updated","created","deleted","back","send","refresh","preview","previewSpacing","saveColor","alarmColorPrecedence","add","noTagOrAppChoosen","noDataFound","darkTheme","notActive","sent","notSent","loginOrRegister","copy","verify","verifyDelete","disagree","accept","switchCompany","inactiveSensors","activeSensors","sensorStatus","sensorName","updatesPending","pickLocationConfirm","toFewBytes","byteInputRequired","getMorePages","searchType","TAG","ALARM","APPLICATION","GATEWAY","time","quarterHour","minute","days","dateRange","staticinformation","datapoints","datapointsLastWeek","weekday","errors","getDecoders","backendConnection","actions","createCategory","editCategory","remove","createDashboard","copyDashboard","iconSelector","selectIcon","searchPlaceholder","userSettings","themes","toolbarTransparancy","stickySideMenu","global","branding","powered_by","SMS_PROVIDER","SMS_IP1_FROM","SMS_IP1_USERNAME","SMS_IP1_PASSWORD","SMS_TWILIO_ACCOUNTSID","SMS_TWILIO_ACCESSTOKEN","SMS_TWILIO_NUMBER","companysetting","field","smsprovider","alarmTitle","inactivityAlarmContact","hint","ip1","username","from","twilio","number","accountSid","setPosFormTitle","selectDashboard","createTitleClean","copyDeleteTitle","createTitle","chooseTitle","changeTitle","navigationTitle","nameReq","categories","tooltip","public","createNew","copiedSuccessful","copiedUnsuccessful","URL","host","expiresAt","expired","copyAction","dashboardName","metas","chart","line","area","bar","scatter","vertical","mapMarkers","node","sensor","opacity","paletteToModuleMode","paletteToCardMode","valueMatch","styles","textcolor","background","titleBackground","single","sparkline","sparklineLabel","cardBackground","titleText","valueBackground","valueText","fontStyleTypes","content","keys","value_match","sufix","deveui","maxheight","scriptid","tagkey","tagkey_x","tagkey_y","tagkey_x_max","tagkey_y_max","forceColors","decimal_rounding","dashboard_id","sync_y","zoom_slider","digital","alarm_id","so_chart_type","so_ignore_body","min_value","max_value","axis_label","default_timespan","font_size","hide_trend_icon","horizontel_single_title","so_hide_node_info","font_style_large","so_single_sparkline","gauge_180","button_label","button_label_on","button_label_off","hide_title","chart_type","ignoreBody","size","weight","desc","sm","md","min","max","image","url","sync_chart","enum","xs","lg","7","8","9","10","11","13","14","15","16","17","18","functionButtonTypes","input","navigation","downlink","onoffSwitch","weather","temp","windDir","windSpeed","humidity","thunder","date","precipitation","descriptionTitle","phoneOne","phoneTwo","locationSiencepark","locationStreet","locationPostalcode","locationCountry","orgNumber","companyInfo","addUser","invite","inviteSent","inviteFailed","shareApp","postalAdress","deliveryAdress","contactPhonenumber","invoiceAdress","refrenceNmuber","nameRequired","nameMax","orgNumberRequired","orgNumberFormatError","emailRequired","emailFormatError","passwordMissmatch","refrenceDateDesc","exportDownload","export","downloadFailed","noData","tempo","refrenceDate","reportContacts","lastSent","regular","tagsTitle","placeHolderContent","examples","helpTitle","interval","lastRun","enabled","boundTag","intervalRequired","intervalMinValue","userInfo","loginFailed","signInFailed","loginSuccessful","updateFailed","firstName","lastName","phoneNumber","passwordConfirm","phoneNumerHint","noCompanyError","applicationCreated","choose","owner","affirmation","history","activeAlarm","test","priority","a","b","alarmDelay","tagDataKey","limitHigh","limitLow","contactType","alarmContacts","activeDays","limit","triggered","signalType","digitalTrigger","triggerHigh","triggerLow","advanced","batteryStatus","levels","amount","notation","latestactivity","latestvalue","defaultKey","chooseDecoder","decoder","details","removeImage","chooseKey","saveKeyAsDefault","newKey","generateId","uploadExplanation","uploadExplanationHint","exampleLink","createSteps","step1","step2","step3","step4","step5","finish","picker","tagPool","hide","hiddenTags","take","appKey","appEui","applicationId","profile","long","latAndLng","battery","activeData","latestValue","location","dataPoints","nodeType","nodeTypes","licensee","coveredFeatures","maxCompanies","decoderIncluded","required","requiredSingle","toLong","contryCodeError","deveuiConflict","mqtt","settingsTabTitle","brokerListTitle","updateTitle","selectBroker","testBroker","topicCreateTitle","topicDescription","topicAdd","topicAlreadyExists","createTopicTitle","topic","publishTopic","publishTopicHint","sslmodes","versions","notfound","hostname","version","sslmode","CACertificate","ClientCertificate","ClientKey","KeyPassPhrase","useAuth","isGlobal","metrics","messages","total","publish","nextStep","welcome","addSlider","sv","en","getAuthHeader","Authorization","HttpStatus","ok","accepted","no_content","bad_request","unauthorized","forbidden","not_found","conflict","checkForConflict","response","Deveui","Home","CommonParent","CleanDashboard","AdminDashboard","Company","CompanyUsers","CompanyEdit","CompanyCreate","CreateUser","CompanyApps","UserCompanyRegister","EditUser","ForgotPassword","ForgotPasswordComponent","NewPassword","Application","ApplicationCreate","ApplicationEdit","Tag","TagList","TagCreate","TagPool","TagDetail","Alarm","AlarmCreate","AlarmEdit","AlarmList","ActiveAlarms","Login","Register","Logout","ScriptView","ScriptList","ScriptCreate","ScriptEdit","Report","ReportList","ReportCreate","ReportEdit","DashboardModule","DashboardPublic","Contact","News","SettingView","Settings","SingalTest","PeekSignalTest","GatewayView","GatewayList","GatewayCreate","RoleContainer","RoleList","RoleCreate","RoleEdit","Vue","use","Router","component","CompanyOrUser","permit","duplicateNavigationPolicy","beforeEach","to","languages","language","locale","dispatch","navigator","root","restrictHelper","resource","getBrokers","companyId","config","headers","Repository","getBrokersWithMetrics","getBroker","brokerId","createBroker","payload","post","updateBroker","put","deleteBroker","getMqttMeta","mqttMetaId","createMqttMeta","updateMqttMeta","deleteTopic","topicId","staticStyle","$router","class","sientificLight","sientificDark","backgdark","_vm","darkmode","_c","alertType","model","callback","expression","attrs","staticRenderFns","render","darkSientific","lightSientific","lightDrawer","darkDrawer","primary","drawer","manualLink","staticClass","_v","_s","$t","$$v","notificationTray","beforeDestroy","clearInterval","watch","fn","dialog","components","DashboardCategoryViewer","showResults","items","style","typeColor","getRoute","_e","hub","searchTerm","debounceTimer","loading","newResult","blur","navigate","item","duplicateNav","checkDuplicateNavigation","connect","withUrl","skipNegotiation","transport","accessTokenFactory","configureLogging","withAutomaticReconnect","build","unmounted","props","sync","showManualLink","showShopLink","temporaryNavBar","appBarColor","setDarkmode","getBaseUrl","companies","storeCompany","viewableLinks","links","guestLinks","authLinks","permitBackend","apiLink","externalRoute","sensorShopLink","Notification","DashboardTreeSelect","Search","searchTags","scopedSlots","filterNodes","domProps","containerWidth","updateInterval","filteredEvents","addToEvent","openWindow","addEvent","syntaxHighlight","json","replace","cls","NavBar","EventHub","favi","clearAlert","Vuetify","opts","iconfont","theme","dark","light","accent","info","amber","darken3","secondary","darken1","lightBlue","accent4","ranges","displayName","default","isPresetValue","start","end","setRanges","index","range","changeRange","storeTimeOffset","timeOffset","addModuleSetting","getModuleSettingsTimeOffset","moduleSettings","isInsideDashboard","reg","$route","match","humanDate","formatString","format","Date","timeFromDays","timeFromHours","timeFromMinutes","minutes","timeWithinMinutes","date1","date2","timeWithinHours","timeWithinDays","distanceAgo","formatDistance","toApiDate","_self","validate","phoneNumberValid","countryCallingCode","phoneNumberRules","v","phoneValidation","getAddress","latLng","geocoder","mixinGoogleMaps","maps","Geocoder","geocode","results","formatted_address","reverseGeoCode","gmapApi","CanvasRenderer","BarChart","LineChart","GaugeChart","PieChart","GridComponent","TooltipComponent","TitleComponent","LegendComponent","DataZoomComponent","MarkLineComponent","ScatterChart","PolarComponent","ECharts","PhonenumberInput","VueFriendlyIframe","DatePicker","mixin","ModuleSettingHelper","DateHelper","RestrictHelper","GoogleMapsHelper","CommonHelper","productionTip","Particles","VueScrollTo","container","duration","easing","offset","force","cancelable","onStart","onDone","onCancel","x","y","VueGoogleMaps","load","plugins","process","installComponents","VCalendar","componentPrefix","vuetify","h","App","$mount","decoders","getAll","getById","userId","getCompany","updateRole","targetUserId","createUserWithCompany","forgotPasswordUpdate","guid","getCompanyById","getCompanyUsers","getCompanyApplications","getCompanyTagData","header","getTagDataWithMetrics","getTagDataDefaults","getTagDataPoints","createUser","userPayload","postImage","deleteImage","latestActivity","getBatteryStatuses","getLatestTagData","getDatapointsLastWeek","getDatapointsLastDay","getSensorDatapointsLastDay","getTagsWithInformation","getShared","applicationPayload","getKeys","getTrendDataForTag","tagId","tagKey","getCurrentTagdata","getCurrentsForDevice","decoderResource","getByCompanyId","uploadImage","setDefaultKey","encodeURIComponent","getTagPool","updateTagPoolStatus","addTagKey","updateTagKey","deleteTagKey","getKeyLabel","setData","getDetails","companyResource","alarmId","alarmPayload","getActiveAlarms","getAlarmHistory","setActiveAlarmStatus","activeAlarmId","duplicate","testSettings","getScripts","getScript","scriptId","execute","getReport","reportId","getReports","multiExport","responseType","getDashboards","getDashboard","dashboardId","createForCompany","setDefault","getDefault","createPublicDashboard","getPublicDashboards","getPublicDashboard","publicDashboardId","deletePublicDashboard","getDashboardCategories","createDashboardCategories","updateDashboardCategories","categoryId","updateDashboardIndexes","removeDashboardIndexes","moduleResource","getModule","updateModules","getTagDataForModule","getTagDataForModuleByLimit","getLatestTagDataForModule","copyModule","getActiveUsers","getDatapoints","deactivate","notificationId","deactivateAll","getTests","peek","getTest","deleteTest","getTerms","gatewayPayload","gatewayId","getByCompany","updatePosition","position","getForTag","removeDownlink","downlinkQueueId","createDownlink","getAllByCompany","getPermissions","getRecommendedPermissions","getUserPermissionsByUserId","userRoleId","repositories","UsersRepository","CompanyRepository","applications","AppsRepository","TagDataRepository","TagRepository","AlarmRepository","ScriptRepository","ReportRepository","DashboardRepository","ModuleRepository","LogRepository","notification","NotificationRepository","SignalTestRepository","LicenseRepository","gateways","GatewayRepository","integrations","IntegrationsRepository","DownlinkRepository","RoleRepository","RepositoryFactory","IntegrationRepository","accessTokens","namespaced","getAccessTokens","rootState","userCompany","deleteAccessToken","tokenId","deleteToken","createToken","mutations","alarms","currentAlarm","settingResponse","commit","catch","getAlarms","createAlarm","credentials","updateAlarm","setCurrentAlarm","getAlarmById","setAlarmStatus","resetState","removeAlarm","duplicateAlarm","clearTestResponse","LOADING","SET_CURRENT","GET_ALARM","GET_ACTIVE_ALARM","CREATE_ALARM","SET_SETTING_RESPONSE","RESET_STATE","alert","AppRepository","currentApplication","tags","tagData","loggedIn","createApplication","deleteApplication","getApplication","setApplication","CREATE_APPLICATION","DELETE_APPLICATION","GET_TAG_DATA","SET_APPLICATION","shared","companyUsers","companyApps","editCompany","createCompany","getLatestActivity","activity","statuses","SET_LATEST_ACTIVITY","GET_COMPANIES","GET_COMPANY_APPLICATION","GET_COMPANY_USERS","GET_SHARED","CREATE_COMPANY","EDIT_COMPANY","getSharedName","rootGetters","set","getGlobal","setGlobal","getCompanyFields","setCompany","configuration","SO_API_BASE_URL","toolbarTransparent","globalSettings","companyFields","companySettings","fetch","envConfig","envJson","VUE_APP_SO_API_BASE_URL","getLicenseTerms","getUserSettings","SettingRepository","setUserSettings","getGlobalSettings","setGlobalSettings","setCompanySettings","getCompanySettings","setCompanySettingLocal","SET_DARKMODE","SET_BASE_URL","SET_USER_SETTINGS","SET_LICENSE","SET_GLOBAL_SETTINGS","SET_COMPANY","SET_COMPANY_FIELDS","SET_COMPANY_SETTING","keyValue","dashboards","currentDashboard","defaultDashboard","publicDashboard","publicDashboards","hasDefault","setDashboard","updateDashboardCategoryIndexes","removeDashboardCategory","SET_DASHBOARD_CATEGORIES","SET_PUBLIC_DASHBOARD","SET_PUBLIC_DASHBOARDS","SET_DEFAULT","entries","SET_DASHBOARDS","SET_DASHBOARD","GET_DOWNLINKS","SET_EVENT","unshift","pop","lastEvent","Gateway","currentGateway","createGateway","deleteGateway","getGateway","getGateways","CREATE_GATEWAY","SET_GATEWAY","SET_GATEWAYS","VueLocalStorage","supportedLanguages","getOwnPropertyNames","Languages","localStorage","SET_LANGUAGE","setLanguage","find","sl","RegExp","getMetricsUrlParams","params","k","Array","isArray","join","logs","staticLogs","activeUsers","lastRequestLogs","clearLog","MetricHelper","points","GET_DATAPOINTS","GET_ALARMS","GET_STATIC_LOGS","GET_LOGS","reverse","len","GET_ACTIVEUSERS","CLEAR_LOG","currentModule","getModules","dashboardModuleId","mod","setModules","CsharpEnum","updateIndex","ADD_MODULE","SET_MODULES","brokers","brokersWithMetrics","mqttMeta","MqttRepository","SET_BROKERS","SET_BROKERS_WITH_METRICS","getNotifications","deactivateNotification","deactivateAllNotifications","GET_NOTIFICATIONS","reports","currentReport","saveAs","Blob","GET_REPORTS","GET_CURRENT","recommended","permissions","getRolesByCompany","getRoleById","createRole","ids","setRole","SET_ROLE","SET_ROLES","SET_RECOMMENDED","SET_PERMISSIONS","defaultsWithPermissions","permittedRoles","scripts","currentScript","validScript","valid","msg","setCurrentScript","resetValidScript","GET_SCRIPTS","SET_VALIDSCRIPT","googleMapsZoom","googleMapsLatLng","googleMapsViewType","imageMapZoom","setGoogleMapsZoom","level","setLatnLng","latnlng","setMapType","viewType","setImageMapZoom","ADD_MODULE_SETTING","SET_GOOGLEMAPS_ZOOM","SET_LAT_LNG","latnLng","SET_VIEW_TYPE","SET_IMAGE_MAP_ZOOM","Repo","signalTests","currentTest","testData","SET_TEST","SET_TEST_DATAS","datas","SET_TESTS","tests","currentTag","currentLabel","tagsWithInformation","tagsWithKeys","batteryStatuses","tagsInPool","detail","apiErrors","getTags","getTagAsync","createTag","ApiHelper","updateTag","deleteTag","setTag","getKeysForTag","getKeysForTagAsync","getTagWithKeys","uploadTagImage","setBatteryStatuses","companyRepository","getLatestForCompany","tagDeveui","vdd","latestTime","DecoderHelper","setTagData","SET_TAGPOOL","SET_BATTERY_STATUSES","GET_TAGS","CREATED_TAG","DELETED_TAG","SET_TAG","SET_LABEL","SET_TAG_WITH_KEY","SET_ERRORS","CLEAR_ERRORS","SET_DECODERS","SET_TAGS_WITH_INFORMATION","SET_DETAIL","currentTagData","currents","tagsWithData","tdKeys","defaults","tagDataCount","hasDefaults","dataLoading","getTagData","getTagDataKeys","getTagDataAsync","tagDatas","getTagDataWithMultiTag","getTagDataWithMultiTagAsync","td","resetDefaults","setTagDataDefaults","getTagdataDatapoints","getTime","toISOString","count","setTagDataKeys","clearTagData","getCurrentsForTag","SET_META","TAGLOADING","SET_TAG_DATA","SET_CURRENT_TAGDATA","SET_CURRENTS","Set","GET_TAG_DATA_MULTI","GET_TAG_DATA_KEYS","GET_DEFAULTS","SET_DEFAULTS","GET_TOTAL_DP","dp","RESET_DEFAULTS","CLEAR_TAGDATA","UserRepository","hasCompany","getUserCompany","setUserCompany","setUserByPublicDashboard","editUser","getUserPermissionsByCurrentUser","createUserAndCompany","GET_USER","GET_USERS","GET_USER_COMPANY","SET_CREDENTIALS","EDIT_USER","LOGIN_USER","LOGIN_FAILED","val","LOGOUT_USER","companyName","Vuex","Store","createPersistedState","tokenResource","seedNordpool","year","month","goToDashboard","isLeaf","editMode","showMenu","displayActions","action","$event","preventDefault","handleCreate","showCreateDialog","showRemoveDialog","showDashboardCreateOrCopy","setValue","open","iconValue","display","page","avaliableIcons","icons","toggleDisplay","isDashboard","currentNode","storeCategories","createAction","editAction","removeAction","createDashboardAction","copyDashboardAction","shouldDisplay","updateIndexes","handleDashboardCopyOrCreate","deleteConfirmed","onNodeRightClicked","tree","getCategoryItems","updateDraggable","SlVueTree","IconSelector","User","Guest","PublicDashboard","AdminOrUser","AdminOrCompanyAdmin","VueI18n","fallbackLocale","axiosConnection","axios","interceptors","baseURL"],"mappings":"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uBACA,oCAEA,aACAA,gCACA,UArBAA,kCAwBAw1B,gBACA,oBACA,gBACAx1B,kCAGAi1B,qBACA,eACA,OACA,qCACA,OACA,2CACA,OACA,yCACA,OACA,kBACA,OACA,sCACA,OACA,0CAGA,WAGAQ,uBAAA,4JACA,GAAAn4B,mBAEAo4B,uCAAA,+BACA,WAAApE,wBAAA,OACA,kBAAAtnB,oBAAA,OAGA,gBACA,iBACAhK,8BACA4C,gBACA+yB,qCACA,kBACA,6DAdA,IAiBAC,qCACA,QACA,UACA,OACAv0B,UACA,MACA,OACAA,gBACA,MACA,OACAA,cACA,MACA,OACAA,aACA,MACA,OACAA,WACA,MACA,OACAA,eACA,MAGA,qCAGAw0B,mBAAA,0JAcA,OAbAlW,oBACAA,iBAEA,oBACAmW,WACAC,mBACAC,6BACAC,8BAAA,8BAEAC,sCACAC,yBACAC,QAEA,iDACA,wDAfA,IAkBApB,sBACA,UACA,UACA,gBACA,YACA,gBACA,kBACA,gBACA,gBACA,gBACA,cACA,gBACA,aACA,gBAGA,YAIA7vB,yDACAC,qDACAA,uDACAA,yCAGAsP,mBAAA,oKACA,sDADA,IAIA2hB,qBACA,2DAEA,+CACA,kBCrOgT,MCQ5S,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QC8HA,IACfh2B,cAEAi2B,eAEAC,QAEAr7B,gBACA,OACA44B,UACAxe,mCACAtL,WACAwsB,uBACAC,qBACAC,mBACAC,iBAIAr0B,sFACAC,gBACAq0B,wCACAC,yCAEAt0B,mEACAA,4CACAA,yDAEAuQ,kBAAA,oKACA,WAAAwe,sBAAA,OACA,kBAAAtnB,yBAEA,qBACA,6BAGA,yDARA,IAWAxH,wBACA,wBACA,SACA,4CACA,iCAUA2C,wEACAC,gCACA,kBACA,eACA,aAEAA,gEACAA,4BACA0xB,sBACAC,0BACA,IAEApyB,iBACA,eAGAqyB,yBAAA,WACA,KACA,yBACA,yCACA,uCAEA,eACA,gCACA,0BAGAC,mBAEAA,kBAGA,UAGAC,sBACA,OACA,CACAztB,gBACAD,4BACA5G,UACA6tB,cAEA,CACAhnB,qCACAD,4BACA5G,cACA6tB,cAEA,CACAhnB,iBACAD,6BACA5G,eACA6tB,gBAKA0G,qBACA,OACA,CACA1tB,gBACAD,4BACA5G,UACA6tB,cAGA,CACAhnB,qCACAD,4BACA5G,cACA6tB,cAGA,CACAhnB,0BACAD,iCACA5G,mBACA6tB,yBAEA,CACAhnB,kBACAD,+BACA5G,iBACA6tB,uBAGA,CACAhnB,6BACAD,6BACA5G,eACA6tB,qBAGA,CACAhnB,gBACAD,mCACA5G,qBACA6tB,2BAEA,CACAhnB,sBACAD,2BACA5G,aACA6tB,mBAEA,CACAhnB,yBACAD,oCACA5G,kBACA6tB,uBAEA,CACAhnB,wBACAD,+BACA5G,kBACA6tB,wBAEA,CACAhnB,iBACAD,6BACA5G,eACA6tB,qBAEA,CACAhnB,mCACAD,kCACA5G,oBACA6tB,0BAEA,CACAhnB,+BACAD,8BACA5G,gBACA6tB,sBAGA,CACAhnB,uBACAD,8BACA5G,gBACA6tB,sBAGA,CACAhnB,uBACAD,+BACA5G,iBACAyC,cACAorB,cAGA,CACAhnB,wBACAD,uCACA5G,kBACAw0B,6CAGA,CACA3tB,eACAD,gCACA5G,kBACAw0B,sCAGA,CACA3tB,kBACAD,8BACA5G,gBACA6tB,gBAKA4G,mBAEA,2BACA,OACA5tB,eACAD,8BACA8tB,kBAIAvD,sBACA,OACAtqB,6BACAD,8BACA8tB,iDAIAC,0BACA,OACA9tB,iBACAD,4BACA8tB,4DAKA5iB,mBAAA,oKACA,sCACA,2BAEA,oBACA,WACA,yBACA,8BACA,YACA,aACA,0CAVA,IAaA8f,OACAlf,sBAGA,OAFA,2BACA,oBACA,0BAGAyhB,yBACA,iBAIApC,YACA6C,eACAC,sBACAC,YC5aoS,MCShS,I,oBAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,OAIa,M,6DCpB6I,W,IAAO,OAACpE,EAAK,EAAC,S,OAAC,EAAK,MAAG,W,YAAW,mC,YAAU,CAAC,MAAQ,O,MAA2B,CAAW,OAAG,MAAC,GAAC,KAAO,G,MAAyBP,gBAAgB,SAAC,UAA0DiB,IA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,6BACA,uBACA,uBACA,6BACA,uBACA,8BACA,wBACA,2BACA,qBACA,0BACA,qBACA,oBACA,sBACA,eACA,oCACA,4BACA,YACA,oBACA,aACA,wBACA,gBACA,gBACA,WACA,iBACA,sBACA,cACA,sBACA,kBACA,0BACA,6BACA,yBACA,2BACA,2BACA,2BACA,oBACA,mBACA,6BACA,qCACA,6BACA,qBACA,qBACA,qBACA,kBACA,8BACA,wBACA,4BACA,4BACA,4BACA,sBACA,sBACA,oBACA,oBACA,oBACA,oBACA,0BACA,0BACA,0BACA,0BACA,0BACA,0BACA,0BACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBACA,uBAKAz5C,UACA05C,iBAAA,WACA,iDACA,2EACA,sBAIAv8C,SACAi8C,qBACA,iBACA,wBAGAO,yBACA,6BAIAtqB,OACA/qB,iBACA,kBAGA+0C,iBACA,mBC5KsT,I,wBCQlTjuB,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,yCCoLA,GACflwB,+BACAnF,gBACA,OACAikC,IACAC,IACAgW,SACA1iC,QACAiD,QACAmoC,YACAiB,eACAX,oBACAC,oBACAC,6BACAT,YACA51C,gBACAiT,iBACA4W,SACArkB,SACAhE,yBACAxB,iBAEA+2C,eACAzkC,cACA5C,SACA,CACAlK,+CACAuwC,yBACAU,iBAEA,CACAjxC,6CACAuwC,uBACAU,iBAEA,CACAjxC,gDACAuwC,kCACAU,iBAEA,CACAjxC,8CACAuwC,gCACAU,iBAEA,CACAjxC,uCACAuwC,yBACAU,oBAMAv5C,0CACAC,6BAAA65C,gCAAA,IAEAlB,0BAAA,WACA,+CACA,+BAIAp5C,iBACA,iBAIArC,yCACAC,6BACA,yBACA,4BACA,4BACA,iCACA,0BACA,SACA,SACA,eACA,IAEA28C,wBACA,qBACA,yBACA,iBACA,cAGAC,sBACA,0CACA,6CACA,+CACA,8BACA,yBACA,iBACA,cAGAC,wBAAA,oJACA,gEADA,IAIAC,iCACA,kCACA,iBACA,cAGAC,+BACA,kCACA,iBACA,cAGAC,0BACA,wBACA,KAGA,MAGAC,yBAAA,wJACA,6EACA,yFAFA,IAKArB,wBAAA,oJAGA,GADA,+BACA,6DAEA,2HAEA,6BACAjZ,kDACApT,oBACA,OAKA,OAHA,WACArkB,SACAhE,0BACA,UAEA,6BACA,sBACA,qDAnBA,IAsBAg2C,uCAAA,wJACA,4BAEA,mCACA,uGAKA,aACAnb,2CACAxS,SAAAzxB,wBACA,6CAEA,UACAyxB,SACAzxB,qBACA6kC,qDAEA,wBAGA,6BACA,+BACA,qDAxBA,IA2BAwa,2BAAA,wJACA,8CACA,sFAEA,0BACA,wCACA,uBAGA,4BACA,sBACA,sBACA,qDAZA,IAeAC,iCACAriD,mBAEA,sBAEAsiD,iBAEA,mBACA,0BACA,WACA,WACA,kBAGAC,4BAAA,oKACA,kCACA,wCACA,0EAHA,IAMAC,4BACA,gBAEA,EAFA,iBAEAvlC,GAAA,8CACA7Z,4BACAA,6BACA,kCACA,iCAGAi9C,0BACA,2CACA,0CACA,0BAIAjpC,mBAAA,oKACA,+DADA,IAIAigB,YACAorB,cACAC,gBAGAxrB,OACAvsB,kBACA,eACA,8BACA,2BAIA41C,uBACA,MACA,yCC7biU,ICQ7T,G,UAAY,eACd,EACA,EACAtqB,GACA,EACA,KACA,KACA,OAIa,S,kECnBf,kCAAO,IAAM5uB,EAAQ,CACnBC,MAAO,QACPq7C,KAAM,OACNC,MAAO,QACPp7C,aAAc,eACdD,WAAY,aACZs7C,gBAAiB,kBAEjBC,YAAa,CAAC,QAAS,eAAgB,cACvC5vB,cAAe,CAAC,QAAS,eAAgB,OAAQ,cACjD6vB,oBAAqB,CAAC,QAAS,eAAgB,gB,kCCVjD,wCAIAjwB,aAAIC,IAAIiwB,QAEO,WAAIA,OAAQ,CACzBvvB,OAAQ,KACRwvB,eAAgB,KAChB/0B,mB,kCCTF,qCAGIg1B,EAAkBC,IAAMh/C,SAE5B++C,EAAgBE,aAAa9hD,QAAQyxB,KAAI,SAACkB,GAExC,OADAA,EAAOovB,QAAU,GAAH,OAAM59C,OAAMC,MAAMkqC,cAAcC,gBAAe,QACtD5b,KAGMivB,U,yDCVf,W","file":"js/app.ead93295.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0f5abfe9\":\"ef7d23fd\",\"chunk-179798b4\":\"815032ea\",\"chunk-1a6c1e29\":\"2dbc7955\",\"chunk-1f1da650\":\"9d172ce9\",\"chunk-20c90825\":\"a81dff61\",\"chunk-24460b74\":\"d42b05a1\",\"chunk-284375f3\":\"3727090f\",\"chunk-bc5b7dea\":\"dc3ed2f1\",\"chunk-3b8c250a\":\"c827480f\",\"chunk-bc874758\":\"c177c088\",\"chunk-292f98e6\":\"1fc36e4c\",\"chunk-2b552467\":\"f5635a15\",\"chunk-2d0aaf55\":\"8856f68d\",\"chunk-2d0ceb52\":\"e364e8ac\",\"chunk-2d0d6d35\":\"d0333954\",\"chunk-2d20813a\":\"7e4947e5\",\"chunk-2d215fa4\":\"adc87f41\",\"chunk-2d216988\":\"76a6ee31\",\"chunk-2d225be7\":\"ccd40990\",\"chunk-2d22c101\":\"89703db2\",\"chunk-2d22dbaa\":\"808e262a\",\"chunk-31711006\":\"3b8e18e7\",\"chunk-339156c9\":\"9ac6e11a\",\"chunk-355d8890\":\"ff119ad3\",\"chunk-35d542bf\":\"de54d16c\",\"chunk-d7fe899a\":\"3feadafd\",\"chunk-360401a8\":\"c480078a\",\"chunk-3e50b9dc\":\"5c5a95ee\",\"chunk-3f30bcb0\":\"9020be80\",\"chunk-4ed0db16\":\"48b2e295\",\"chunk-4f91ce06\":\"1d7101c0\",\"chunk-70caee82\":\"9a79b3f2\",\"chunk-209a3d91\":\"e12c21a1\",\"chunk-3e3c126b\":\"5b03fff0\",\"chunk-17fdd91c\":\"6b42fea7\",\"chunk-b262cb2e\":\"6009b5fd\",\"chunk-ead7d876\":\"5acbbefe\",\"chunk-42fc24ff\":\"1522d072\",\"chunk-2d0cebfe\":\"ff93cd18\",\"chunk-2d0d0029\":\"3c979d05\",\"chunk-2d0d61d1\":\"0ab70d56\",\"chunk-2d0f11b4\":\"b9db23bc\",\"chunk-2d2170db\":\"5eb4d1dc\",\"chunk-31b81abd\":\"c0c011a9\",\"chunk-7af6eaf4\":\"c0108c90\",\"chunk-258b2602\":\"a03f68ef\",\"chunk-7afc096c\":\"a98d5f9c\",\"chunk-44336e19\":\"7e58b57f\",\"chunk-796c2356\":\"b9f0bcba\",\"chunk-7ceb724b\":\"f3d091d3\",\"chunk-7ded2f46\":\"96c4c877\",\"chunk-9aeee5b2\":\"a4e566a5\",\"chunk-9d5450ba\":\"fe0ee4b8\",\"chunk-2d0b1c3f\":\"ea37d620\",\"chunk-66a70124\":\"f71295dc\",\"chunk-8f39bdc0\":\"64518cb8\",\"chunk-9502a794\":\"0520b38a\",\"chunk-9b88896c\":\"87c2a55c\",\"chunk-b81ec0ae\":\"30898d46\",\"chunk-c121d2e4\":\"bca64ac5\",\"chunk-2d0d9f9f\":\"8a080cfc\",\"chunk-614d23b5\":\"51b05360\",\"chunk-c2b4d8da\":\"22fb5d50\",\"chunk-ef0f9c7e\":\"880b7994\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0f5abfe9\":1,\"chunk-179798b4\":1,\"chunk-1a6c1e29\":1,\"chunk-1f1da650\":1,\"chunk-284375f3\":1,\"chunk-bc5b7dea\":1,\"chunk-3b8c250a\":1,\"chunk-bc874758\":1,\"chunk-31711006\":1,\"chunk-339156c9\":1,\"chunk-355d8890\":1,\"chunk-35d542bf\":1,\"chunk-d7fe899a\":1,\"chunk-360401a8\":1,\"chunk-3e50b9dc\":1,\"chunk-3f30bcb0\":1,\"chunk-4ed0db16\":1,\"chunk-70caee82\":1,\"chunk-209a3d91\":1,\"chunk-3e3c126b\":1,\"chunk-17fdd91c\":1,\"chunk-b262cb2e\":1,\"chunk-ead7d876\":1,\"chunk-42fc24ff\":1,\"chunk-31b81abd\":1,\"chunk-7af6eaf4\":1,\"chunk-258b2602\":1,\"chunk-7afc096c\":1,\"chunk-796c2356\":1,\"chunk-7ceb724b\":1,\"chunk-7ded2f46\":1,\"chunk-9aeee5b2\":1,\"chunk-9d5450ba\":1,\"chunk-66a70124\":1,\"chunk-9502a794\":1,\"chunk-9b88896c\":1,\"chunk-b81ec0ae\":1,\"chunk-c121d2e4\":1,\"chunk-c2b4d8da\":1,\"chunk-ef0f9c7e\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0f5abfe9\":\"663f8951\",\"chunk-179798b4\":\"3ab7a86c\",\"chunk-1a6c1e29\":\"3ab7a86c\",\"chunk-1f1da650\":\"3ab7a86c\",\"chunk-20c90825\":\"31d6cfe0\",\"chunk-24460b74\":\"31d6cfe0\",\"chunk-284375f3\":\"4d9d63af\",\"chunk-bc5b7dea\":\"3ab7a86c\",\"chunk-3b8c250a\":\"fe5fe05a\",\"chunk-bc874758\":\"1999d003\",\"chunk-292f98e6\":\"31d6cfe0\",\"chunk-2b552467\":\"31d6cfe0\",\"chunk-2d0aaf55\":\"31d6cfe0\",\"chunk-2d0ceb52\":\"31d6cfe0\",\"chunk-2d0d6d35\":\"31d6cfe0\",\"chunk-2d20813a\":\"31d6cfe0\",\"chunk-2d215fa4\":\"31d6cfe0\",\"chunk-2d216988\":\"31d6cfe0\",\"chunk-2d225be7\":\"31d6cfe0\",\"chunk-2d22c101\":\"31d6cfe0\",\"chunk-2d22dbaa\":\"31d6cfe0\",\"chunk-31711006\":\"f80181b2\",\"chunk-339156c9\":\"fca02344\",\"chunk-355d8890\":\"1a277322\",\"chunk-35d542bf\":\"6aa76c4d\",\"chunk-d7fe899a\":\"aec2049f\",\"chunk-360401a8\":\"3ab7a86c\",\"chunk-3e50b9dc\":\"fca02344\",\"chunk-3f30bcb0\":\"f80181b2\",\"chunk-4ed0db16\":\"72f0d432\",\"chunk-4f91ce06\":\"31d6cfe0\",\"chunk-70caee82\":\"18bc4a4a\",\"chunk-209a3d91\":\"cb866668\",\"chunk-3e3c126b\":\"3ab7a86c\",\"chunk-17fdd91c\":\"8496c8a8\",\"chunk-b262cb2e\":\"151ccfaa\",\"chunk-ead7d876\":\"897e8021\",\"chunk-42fc24ff\":\"cb242ebe\",\"chunk-2d0cebfe\":\"31d6cfe0\",\"chunk-2d0d0029\":\"31d6cfe0\",\"chunk-2d0d61d1\":\"31d6cfe0\",\"chunk-2d0f11b4\":\"31d6cfe0\",\"chunk-2d2170db\":\"31d6cfe0\",\"chunk-31b81abd\":\"3ab7a86c\",\"chunk-7af6eaf4\":\"fe6c3991\",\"chunk-258b2602\":\"8d145223\",\"chunk-7afc096c\":\"fc47a565\",\"chunk-44336e19\":\"31d6cfe0\",\"chunk-796c2356\":\"fca02344\",\"chunk-7ceb724b\":\"693491d7\",\"chunk-7ded2f46\":\"fca02344\",\"chunk-9aeee5b2\":\"199aaf18\",\"chunk-9d5450ba\":\"4304080c\",\"chunk-2d0b1c3f\":\"31d6cfe0\",\"chunk-66a70124\":\"8ead1f2e\",\"chunk-8f39bdc0\":\"31d6cfe0\",\"chunk-9502a794\":\"3ab7a86c\",\"chunk-9b88896c\":\"1a277322\",\"chunk-b81ec0ae\":\"2950fdfd\",\"chunk-c121d2e4\":\"d7da65cf\",\"chunk-2d0d9f9f\":\"31d6cfe0\",\"chunk-614d23b5\":\"31d6cfe0\",\"chunk-c2b4d8da\":\"3ab7a86c\",\"chunk-ef0f9c7e\":\"3ab7a86c\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import router from \"@/router\";\r\nimport store from \"@/stores/store\";\r\nimport { mapActions, mapState } from \"vuex\";\r\nimport { Roles } from \"@/_helpers/Role\";\r\n\r\nexport default {\r\n data() {\r\n return {\r\n whiteLabelSettings: [\"powered_by\", \"branding\"],\r\n };\r\n },\r\n methods: {\r\n ...mapActions(\"configuration\", [\"getLicenseTerms\"]),\r\n\r\n isSuperAdmin() {\r\n return this.permitted(\"SuperAdmin\");\r\n },\r\n\r\n allowed(route, roles = null) {\r\n if (roles == \"all\")\r\n // TODO: This is a hack fix this\r\n return true;\r\n\r\n var role = store.state.users.currentUser.role;\r\n\r\n var allowed = false;\r\n\r\n if (route !== null) {\r\n if (route.charAt(0) === \"/\") {\r\n route = route.substring(1, route.length);\r\n }\r\n\r\n var routeArr = route.split(\"/\");\r\n\r\n if (routeArr.length > 0) {\r\n router.options.routes.forEach((e) => {\r\n if (e.path === \"/\" + routeArr[0]) {\r\n if (e.children) {\r\n e.children.forEach((c) => {\r\n if (c.path === routeArr[1]) {\r\n if (c.meta) {\r\n if (!c.meta.authorize) allowed = true;\r\n\r\n allowed = c.meta.authorize.includes(role);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n } else if (roles !== null) {\r\n allowed = roles.includes(role);\r\n }\r\n\r\n return allowed;\r\n },\r\n\r\n // Check if the current state company owns the requested resource\r\n owns(oid) {\r\n var cmpId = store.getters[\"users/companyId\"];\r\n if (cmpId == null) return false;\r\n\r\n return oid == cmpId;\r\n },\r\n\r\n permitted(permission, prefix = \"Frontend.SO.\") {\r\n if (permission == \"ALL\") return true;\r\n\r\n var fullPermission = prefix + permission;\r\n var result = store.getters[\"users/permissions\"].filter(\r\n (e) => e.resourceIdentifier == fullPermission\r\n );\r\n return result == null || result.length <= 0 ? false : true;\r\n },\r\n\r\n // Check if the user is allowed to be edited by the current user\r\n allowedToEdit(role, targetRole) {\r\n let allowed = false;\r\n\r\n if (role === Roles.Admin || role === Roles.SuperAdmin) {\r\n allowed = targetRole !== Roles.SuperAdmin;\r\n }\r\n\r\n if (role === Roles.CompanyAdmin) {\r\n allowed =\r\n targetRole !== Roles.Admin &&\r\n targetRole !== Roles.SuperAdmin &&\r\n targetRole !== Roles.CompanyAdmin;\r\n }\r\n\r\n return allowed;\r\n },\r\n\r\n // Returns true if access is restricted to setting due to white labeling not being included in the license\r\n limitedToWhiteLabel(key) {\r\n if (this.license.WHITE_LABEL) return false;\r\n\r\n return this.whiteLabelSettings.includes(key);\r\n },\r\n\r\n whiteLabelActive() {\r\n return this.license.WHITE_LABEL;\r\n },\r\n },\r\n\r\n computed: {\r\n ...mapState(\"configuration\", [\"userSettings\", \"license\"]),\r\n\r\n whiteLabel() {\r\n if (\r\n this.license.WHITE_LABEL == undefined ||\r\n this.license.WHITE_LABEL == null\r\n )\r\n return false;\r\n\r\n return this.license.WHITE_LABEL.toLowerCase() == \"true\";\r\n },\r\n },\r\n};\r\n","import i18n from \"@/plugins/i18n\";\r\nimport { colors } from \"vuetify/lib\";\r\n\r\nexport default {\r\n DaysOfWeek: {\r\n sunday: 0,\r\n monday: 1,\r\n tuesday: 2,\r\n wednesday: 3,\r\n thursday: 4,\r\n friday: 5,\r\n saturday: 6,\r\n },\r\n\r\n Priority: {\r\n A: 0,\r\n B: 1,\r\n C: 2,\r\n },\r\n\r\n LimitType: {\r\n LOW: 0,\r\n HIGH: 1,\r\n },\r\n\r\n ContactType: {\r\n SMS: 0,\r\n EMAIL: 1,\r\n BOTH: 2,\r\n },\r\n\r\n ModuleType: {\r\n CHART: 0,\r\n GAUGE: 1,\r\n TEXT: 2,\r\n IMAGE: 3,\r\n MAP: 4,\r\n COMPANYINFO: 5,\r\n IFRAME: 6,\r\n WEATHER: 7,\r\n SINGLE: 8,\r\n RAWTABLE: 9,\r\n MULTICHART: 10,\r\n IMAGEMAP: 11,\r\n FUNCTIONBUTTON: 12,\r\n INFOCARD: 13,\r\n TRENDCHART: 14,\r\n SENSOROVERVIEW: 15,\r\n TILTCHART: 16,\r\n FILLINDICATOR: 17,\r\n CONTROLSLIDERS: 18,\r\n },\r\n\r\n LogType: [\r\n { type: \"SMS\", label: i18n.t(\"log.type.sms\"), color: colors.blue.accent1 },\r\n {\r\n type: \"APP\",\r\n label: i18n.t(\"log.type.app\"),\r\n color: colors.green.accent3,\r\n },\r\n {\r\n type: \"WARNING\",\r\n label: i18n.t(\"log.type.warning\"),\r\n color: colors.yellow.accent1,\r\n },\r\n {\r\n type: \"ERROR\",\r\n label: i18n.t(\"log.type.error\"),\r\n color: colors.red.accent1,\r\n },\r\n {\r\n type: \"USEREVENT\",\r\n label: i18n.t(\"log.type.userevent\"),\r\n color: colors.green.accent1,\r\n },\r\n {\r\n type: \"LOGIN\",\r\n label: i18n.t(\"log.type.login\"),\r\n color: colors.blue.accent1,\r\n },\r\n ],\r\n\r\n CompanySettingFieldType: {\r\n STRING: 0,\r\n NUMBER: 1,\r\n DATE: 2,\r\n SELECT: 3,\r\n CHECKBOX: 4,\r\n PASSWORD: 5,\r\n },\r\n\r\n FunctionTypes: {\r\n SCRIPT: 0,\r\n VALUEINPUT: 1,\r\n DASHBOARD: 2,\r\n DOWNLINK: 3,\r\n ONOFFSWITCH: 4,\r\n },\r\n\r\n ConditionTypes: {\r\n SENSORVALUE: {\r\n value: 0,\r\n text: i18n.t(\"conditionTree.types.0\"),\r\n icon: \"mdi-thermometer\",\r\n },\r\n TEXT: { value: 1, text: i18n.t(\"conditionTree.types.1\"), icon: \"mdi-text\" },\r\n NUMBER: {\r\n value: 2,\r\n text: i18n.t(\"conditionTree.types.2\"),\r\n icon: \"mdi-counter\",\r\n },\r\n DATE: {\r\n value: 3,\r\n text: i18n.t(\"conditionTree.types.3\"),\r\n icon: \"mdi-calendar-range\",\r\n },\r\n EMPTY: {\r\n value: 4,\r\n text: i18n.t(\"conditionTree.types.4\"),\r\n icon: \"mdi-circle-off-outline\",\r\n },\r\n },\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notification.vue?vue&type=style&index=0&id=3d3ef689&prod&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventHub.vue?vue&type=style&index=0&id=78e960c6&prod&lang=scss&\"","export default {\r\n routes: {\r\n home: \"Home\",\r\n login: \"Login\",\r\n register: \"Register\",\r\n registerCompany: \"New Company\",\r\n logout: \"Logout\",\r\n\r\n company: \"Company\",\r\n dashboard: \"Dashboard\",\r\n application: \"Applications\",\r\n alarm: \"Alarm Management\",\r\n\r\n user: \"Users\",\r\n tagdata: \"Data\",\r\n tag: \"Nodes\",\r\n script: \"Script Engine\",\r\n report: \"Reports\",\r\n contact: \"Contact\",\r\n apiRef: \"API-Documentation\",\r\n shop: \"Buy nodes\",\r\n manual: \"Manual\",\r\n userEdit: \"Account\",\r\n settings: \"Settings\",\r\n signalTest: \"Field testing\",\r\n gateway: \"Gateways\",\r\n news: \"News\",\r\n roles: \"Roles\",\r\n\r\n superadmin: \"Admin\",\r\n },\r\n\r\n roles: {\r\n toolbarTitle: \"Roles\",\r\n permissionCounts: \"Permissions\",\r\n\r\n missingRecommendedTitle:\r\n \"Seems like you are missing some Recommended permissions do you want to add them?\",\r\n missingRecommendedButton: \"Click Me!\",\r\n\r\n pickPermissionsTitle: \"Pick Permissions for this Role\",\r\n pickPermissionsDesc:\r\n \"When picking Permissions you might encounter Orange Permissions. These Permissions are Recommended to make the base functionallity work. You can choose one of the default roles below to use them as a template.\",\r\n\r\n layerTypes: {\r\n 0: \"Frontend Essentials\",\r\n 1: \"Frontend\",\r\n 2: \"Backend\",\r\n },\r\n\r\n fields: {\r\n name: \"Role Name\",\r\n permissionCount: \"Number of Permissions\",\r\n isDefault: \"Is Default\",\r\n isSuper: \"Is Admin\",\r\n },\r\n },\r\n\r\n eventhub: {\r\n waiting: \"Waiting for new events...\",\r\n\r\n events: {\r\n data: \"New Data\",\r\n endpoint: \"Endpoint event\",\r\n },\r\n },\r\n\r\n downlinks: {\r\n editorTitle: \"Downlinks\",\r\n\r\n validation: {\r\n port: \"Port must be greater than 0\",\r\n },\r\n },\r\n\r\n conditionTree: {\r\n selectValueTypeTitle: \"Select value type\",\r\n selectType: \"Select type\",\r\n selectValue: \"Select value\",\r\n chooseSensor: \"Select Sensor\",\r\n\r\n textInputPlaceholder: \"Text value\",\r\n numberInputPlaceholder: \"Number value\",\r\n\r\n types: {\r\n 0: \"Sensor Value\",\r\n 1: \"Text\",\r\n 2: \"Number\",\r\n 3: \"Time\",\r\n 4: \"No Value\",\r\n },\r\n\r\n ops: {\r\n greater: \"Greater than\",\r\n less: \"Less than\",\r\n equal: \"Equal to\",\r\n greaterOrEqual: \"Greater or equal than\",\r\n lessOrEqual: \"Less or equal than\",\r\n notEqual: \"Not\",\r\n },\r\n },\r\n\r\n accessToken: {\r\n title: \"Access Tokens\",\r\n newToken: \"Create a Token\",\r\n cardNewTitle: \"New Token\",\r\n cardTitle: \"Access Token\",\r\n fields: {\r\n id: \"Id\",\r\n label: \"Title\",\r\n token: \"Token\",\r\n isCompany: \"Company Token\",\r\n },\r\n },\r\n\r\n news: {\r\n cannotGetNews: \"Could not fetch the news from IoT AB.\",\r\n },\r\n\r\n gateway: {\r\n toolbar: \"Gateways\",\r\n toolbarTitle: \"Gateways\",\r\n bestGw: \"Best gateway\",\r\n\r\n pickLocationButton: \"Set latitude and longitude\",\r\n fields: {\r\n name: \"Name\",\r\n macAddress: \"GatewayEUI\",\r\n latitude: \"Latitude\",\r\n longitude: \"Longitude\",\r\n createdAt: \"Created\",\r\n },\r\n },\r\n\r\n signalTest: {\r\n toolbarTitle: \"Field tests\",\r\n startTest: \"Start a new test\",\r\n endTest: \"Complete test\",\r\n peekTest: \"Look at test\",\r\n createToolbar: \"Start a new test\",\r\n rawData: \"Raw data\",\r\n updateTimer: \"Update timer\",\r\n\r\n fields: {\r\n testId: \"Test ID\",\r\n description: \"Description\",\r\n startTest: \"Start\",\r\n endTest: \"End\",\r\n active: \"Active\",\r\n\r\n avgSnr: \"Average SNR\",\r\n avgRssi: \"Average RSSI\",\r\n\r\n data: {\r\n rssi: \"RSSI\",\r\n snr: \"SNR\",\r\n lat: \"LATITUDE\",\r\n lng: \"LONGITUDE\",\r\n createdAt: \"TIME\",\r\n },\r\n },\r\n\r\n tab: {\r\n map: \"MAP\",\r\n data: \"STATS\",\r\n },\r\n },\r\n\r\n trend: {\r\n res: {\r\n week: \"Resolution: Week\",\r\n day: \"Resolution: Day\",\r\n hour: \"Resolution: Hour\",\r\n five: \"Resolution: 5 Hours\",\r\n },\r\n },\r\n\r\n notifications: {\r\n clearNotifications: \"Mark all as read\",\r\n noNotifications: \"You are all up to date.\",\r\n },\r\n\r\n landing: {\r\n slogan: \"VISUALIZATION MADE EASY\",\r\n or: \"OR\",\r\n key: {\r\n title: \"Key features\",\r\n 1: \"Nodemanagement\",\r\n 2: \"Visualization\",\r\n 3: \"Custom dashboards\",\r\n 4: \"Alarm management\",\r\n 5: \"Personnel management\",\r\n 6: \"Script engine\",\r\n\r\n description: {\r\n 1: \"Manage sensors for handling data\",\r\n 2: \"Get your sensor data visualized the way you like to observe the data\",\r\n 3: \"Create your own dashboard specialized for YOUR area of use\",\r\n 4: \"Alarm management for critical use cases\",\r\n 5: \"To manage the personnel of your company\",\r\n 6: \"Advanced users can use the script engine to manipulate data\",\r\n },\r\n },\r\n\r\n usecases: {\r\n title: \"Use cases\",\r\n 1: \"Environment sensors\",\r\n 2: \"Electricity sensors\",\r\n 3: \"Movement sensors\",\r\n 4: \"Temperature sensors\",\r\n\r\n description: {\r\n 1: \"Great fit for smart farming solutions like Ljusgarda making use of the portal. The alarm feature of SENSORONLINE is the key to keeping your assets safe.\",\r\n 12: \"Read more about Ljusgarda\",\r\n 2: \"Measure current for streetlights in your city. With the script engine to make sense of the data gathered.\",\r\n 3: \"Measure how many people or cars are leaving or entering your facility.\",\r\n 4: \"Of course temperature measurements are a key part of our platform. Many companies use and keep track of their asset's temperatures.\",\r\n },\r\n },\r\n\r\n help: {\r\n title: \"Contact us\",\r\n\r\n sensors: {\r\n title: \"Need to get some new nodes?\",\r\n description:\r\n \"If you need any help to solve a problem, be it what sensor to use or how you could visualize your data in a better way. Don't be afraid to reach out to us so we can make your life easier. \\n You can check out our portfolio of \",\r\n store: \"nodes that we sell here at IoT AB.\",\r\n },\r\n\r\n api: {\r\n title: \"API for your convenience\",\r\n description:\r\n \"You can of course get or insert data from your other applications to the platform, check out our API endpoints \",\r\n },\r\n\r\n contact: {\r\n title: \"Are you interested? Contact us!\",\r\n siencepark: \"Skövde Science Park\",\r\n address: \"Kaplansgatan 16B\",\r\n postal: \"521 32 Skövde\",\r\n country: \"Sweden\",\r\n phoneTitle: \"Phone\",\r\n phonenumber: \"+46 (0) 500 600 022\",\r\n phonenumber2: \"+46 (0) 733 165 100\",\r\n emailTitle: \"Email\",\r\n email: \"info@sensor-online.se\",\r\n },\r\n },\r\n },\r\n\r\n imageMap: {\r\n chooseTag: \"Choose type of marker\",\r\n },\r\n\r\n log: {\r\n type: {\r\n sms: \"SMS\",\r\n app: \"Application\",\r\n warning: \"Warning\",\r\n error: \"Error\",\r\n userevent: \"User event\",\r\n login: \"Login\",\r\n },\r\n\r\n logTable: {\r\n title: \"Log\",\r\n },\r\n\r\n activeAlarms: {\r\n title: \"Active alarms\",\r\n },\r\n\r\n activeUsersTable: {\r\n title: \"Logged in users\",\r\n },\r\n\r\n fields: {\r\n type: \"Type\",\r\n user: \"User\",\r\n message: \"Message\",\r\n createdAt: \"Created\",\r\n\r\n status: \"Status\",\r\n lastAction: \"Event\",\r\n lastSeen: \"Timestamp\",\r\n\r\n alarm: {\r\n name: \"Name\",\r\n value: \"Value\",\r\n messageSent: \"Sent notification\",\r\n },\r\n },\r\n },\r\n common: {\r\n yes: \"Yes\",\r\n no: \"No\",\r\n on: \"On\",\r\n off: \"Off\",\r\n timestamp: \"Timestamp\",\r\n lang: \"Language\",\r\n error: \"An error occured, try again later\",\r\n edit: \"Edit\",\r\n delete: \"Delete\",\r\n reset: \"Reset\",\r\n purge: \"Erase\",\r\n submit: \"Send\",\r\n create: \"Create\",\r\n update: \"Update\",\r\n get: \"Get\",\r\n run: \"Run\",\r\n address: \"Address\",\r\n link: \"Link\",\r\n height: \"Height\",\r\n width: \"Width\",\r\n new: \"New\",\r\n value: \"Value\",\r\n newValue: \"New Value\",\r\n nothingToSee: \"Nothing to see here\",\r\n next: \"Next\",\r\n label: \"Label\",\r\n editLabel: \"Edit Label\",\r\n explanation: \"Explanation\",\r\n clear: \"Clear\",\r\n\r\n previousStep: \"Back\",\r\n hours: \"Hours\",\r\n mintues: \"Minutes\",\r\n\r\n search: \"Search\",\r\n close: \"Close\",\r\n cancel: \"Cancel\",\r\n success: \"Successful!\",\r\n\r\n login: \"Login\",\r\n register: \"Enroll\",\r\n email: \"Email\",\r\n password: \"Password\",\r\n confirmPassword: \"Confirm Password\",\r\n newPassword: \"New Password\",\r\n forgotPassword: \"Forgot Password\",\r\n\r\n createdAt: \"Created\",\r\n updatedAt: \"Updated\",\r\n\r\n save: \"Save\",\r\n show: \"Show\",\r\n updated: \"Updated\",\r\n created: \"Created\",\r\n deleted: \"Erased\",\r\n back: \"Return\",\r\n send: \"Send\",\r\n refresh: \"Refresh\",\r\n\r\n preview: \"Preview\",\r\n previewSpacing: \"Space for other modules\",\r\n\r\n saveColor: \"Save color\",\r\n alarmColorPrecedence:\r\n \"Alarm colors will always take precedence over manually picked colors, force override in attributes if this is not what you want.\",\r\n\r\n add: \"Add\",\r\n\r\n settings: \"Setup\",\r\n\r\n noTagOrAppChoosen: \"Node and/or application missing\",\r\n noDataFound: \"No data found\",\r\n darkTheme: \"Dark theme\",\r\n\r\n active: \"Active\",\r\n notActive: \"Inactive\",\r\n\r\n sent: \"Sent\",\r\n notSent: \"Unsent\",\r\n\r\n loginOrRegister: \"Login or enroll\",\r\n\r\n copy: \"Copy\",\r\n verify: \"Are you sure you want to continue?\",\r\n verifyDelete: \"Are you sure you want to remove this resource?\",\r\n\r\n disagree: \"No\",\r\n accept: \"Yes\",\r\n\r\n or: \"Or\",\r\n\r\n registerCompany: \"Create new company\",\r\n\r\n dashboard: \"Go to Dashboard\",\r\n switchCompany: \"Switch Company\",\r\n\r\n inactiveSensors: \"Inactive Sensors\",\r\n activeSensors: \"Active Sensors\",\r\n sensorStatus: \"Node-status\",\r\n sensorName: \"Node-name\",\r\n\r\n updatesPending: \"Changes awaiting refresh\",\r\n pickLocationConfirm: \"Do you want to save the position of this resource?\",\r\n\r\n toFewBytes: \"To few bytes\",\r\n byteInputRequired: \"You need to fill this field\",\r\n\r\n getMorePages: \"Load more\",\r\n\r\n searchType: {\r\n TAG: \"Nodes\",\r\n ALARM: \"Alarms\",\r\n APPLICATION: \"Applications\",\r\n DASHBOARD: \"Dashboards\",\r\n GATEWAY: \"Gateways\",\r\n SCRIPT: \"Scripts\",\r\n },\r\n\r\n time: {\r\n day: \"Day\",\r\n hour: \"Hour\",\r\n quarterHour: \"Quarter-hour\",\r\n minute: \"Minute\",\r\n },\r\n\r\n days: {\r\n monday: \"Monday\",\r\n tuesday: \"Tuesday\",\r\n wednesday: \"Wednesday\",\r\n thursday: \"Thursday\",\r\n friday: \"Friday\",\r\n saturday: \"Saturday\",\r\n sunday: \"Sunday\",\r\n },\r\n\r\n dateRange: {\r\n 0: \"Last hour\",\r\n 1: \"Last 5 hours\",\r\n 2: \"Last 24 hours\",\r\n 3: \"Last 7 days\",\r\n 4: \"Last 30 days\",\r\n },\r\n\r\n staticinformation: {\r\n datapoints: \"Datapoints last 24 hours\",\r\n inactiveSensors: \"Inactive sensors\",\r\n activeAlarms: \"Active alarms\",\r\n datapointsLastWeek: \"Datapoints last week by day\",\r\n weekday: \"Weekday\",\r\n },\r\n\r\n errors: {\r\n getDecoders: \"Could not fetch decoders\",\r\n backendConnection: \"No connection to backend could be established.\",\r\n },\r\n\r\n actions: {\r\n createCategory: \"Create Category\",\r\n editCategory: \"Edit Category\",\r\n remove: \"Remove\",\r\n\r\n createDashboard: \"Create Dashboard\",\r\n copyDashboard: \"Copy Dashboard\",\r\n },\r\n\r\n iconSelector: {\r\n selectIcon: \"Choose Icon\",\r\n searchPlaceholder: \"Search for Icons\",\r\n },\r\n },\r\n\r\n settings: {\r\n title: \"Settings\",\r\n userSettings: \"User Settings\",\r\n themes: \"Themes\",\r\n\r\n company: {\r\n title: \"Company Settings\",\r\n },\r\n\r\n data: {\r\n toolbarTransparancy: \"Transparent toolbar\",\r\n stickySideMenu: \"Sticky sidemenu\",\r\n },\r\n\r\n global: {\r\n name: \"Global Settings\",\r\n branding: \"Branding\",\r\n powered_by: \"Powered By\",\r\n SMS_PROVIDER: \"SMS Provider\",\r\n SMS_IP1_FROM: \"IP1 Sender name\",\r\n SMS_IP1_USERNAME: \"IP1 Username\",\r\n SMS_IP1_PASSWORD: \"IP1 Password\",\r\n SMS_TWILIO_ACCOUNTSID: \"Twilio AccountSID\",\r\n SMS_TWILIO_ACCESSTOKEN: \"Twilio AccessToken\",\r\n SMS_TWILIO_NUMBER: \"Twilio Number\",\r\n },\r\n },\r\n\r\n companysetting: {\r\n field: {\r\n smsprovider: \"SMS Provider\",\r\n alarmTitle: \"Alarm\",\r\n\r\n inactivityAlarmContact: \"Mail for inactivity alarm\",\r\n\r\n hint: {\r\n inactivityAlarmContact:\r\n \"Email address to recieve alarms when nodes have been inactive for at least 6 hours\",\r\n },\r\n\r\n ip1: {\r\n username: \"IP1 Username\",\r\n password: \"IP1 AccessToken / Password\",\r\n from: \"Sender Name\",\r\n hint: {\r\n from: \"This is a name that will be used when SensorOnline is sending SMS\",\r\n username:\r\n \"If you want to find your username please visit the documentation: https://docs.sensor-online.se\",\r\n password:\r\n \"If you want to find your username please visit the documentation: https://docs.sensor-online.se\",\r\n },\r\n },\r\n\r\n twilio: {\r\n number: \"Twilio Number\",\r\n accountSid: \"Twilio AccountSID\",\r\n accessToken: \"Twilio AccessToken\",\r\n hint: {\r\n number:\r\n \"A number you own on twilio that you are able to send messages with.\",\r\n accountSid:\r\n \"You can find more information where to find AccountSID in our documentation: https://docs.sensor-online.se\",\r\n accessToken:\r\n \"You can find more information where to find AccessToken in our documentation: https://docs.sensor-online.se\",\r\n },\r\n },\r\n },\r\n },\r\n\r\n map: {\r\n setPosFormTitle: \"Choose sensor to change position\",\r\n },\r\n\r\n dashboard: {\r\n name: \"Dashboards\",\r\n selectDashboard: \"Dashboards\",\r\n createTitleClean: \"Create new Dashboard\",\r\n copyDeleteTitle: \"Delete or copy dashboard\",\r\n createTitle: \"Or create a new dashboard\",\r\n chooseTitle: \"Choose dashboard\",\r\n changeTitle: \"Switch dashboard\",\r\n navigationTitle: \"Navigation menu\",\r\n\r\n fields: { name: \"Name\" },\r\n nameReq: \"This field must be filled in\",\r\n\r\n categories: {\r\n create: \"Create Category\",\r\n title: \"Title\",\r\n icon: \"Icon\",\r\n },\r\n\r\n copy: {\r\n tooltip: \"Kopiera widget\",\r\n },\r\n\r\n public: {\r\n title: \"Public dashboards\",\r\n create: \"Create a public dashboard\",\r\n createNew: \"Create a new public dashboard\",\r\n copiedSuccessful: \"Copied link to clipboard\",\r\n copiedUnsuccessful: \"Could not copy link {link}\",\r\n URL: \"Dashboard URL\",\r\n yes: \"Yes\",\r\n no: \"No\",\r\n remove: \"Remove\",\r\n\r\n fields: {\r\n host: \"Host\",\r\n expiresAt: \"Valid until\",\r\n expired: \"Active\",\r\n copyAction: \"Link\",\r\n dashboardName: \"Dashboard\",\r\n },\r\n },\r\n },\r\n module: {\r\n create: \"Create a new element\",\r\n edit: \"Edit element\",\r\n metas: \"Attributes\",\r\n\r\n chart: {\r\n types: {\r\n line: \"Line\",\r\n area: \"Area\",\r\n bar: \"Bar\",\r\n scatter: \"Scatter\",\r\n vertical: \"Vertical\",\r\n },\r\n },\r\n\r\n mapMarkers: {\r\n node: \"Pin with node info\",\r\n sensor: \"Text label with latest sensor value\",\r\n },\r\n\r\n meta: {\r\n label: \"Attributes\",\r\n save: \"Save attributes\",\r\n opacity: \"Opacity\",\r\n\r\n paletteToModuleMode: \"Change Module Colors\",\r\n paletteToCardMode: \"Change Card Colors\",\r\n\r\n valueMatch: \"Attribute 1\",\r\n value: \"Attribute 2\",\r\n key: \"Sensor\",\r\n icon: \"Icon\",\r\n\r\n styles: {\r\n text: {\r\n textcolor: \"Text Color\",\r\n background: \"Background - Content\",\r\n titleBackground: \"Background - Title\",\r\n },\r\n\r\n single: {\r\n textcolor: \"Text Color\",\r\n background: \"Background - Content\",\r\n titleBackground: \"Background - Title\",\r\n sparkline: \"Sparkline\",\r\n sparklineLabel: \"Sparkline label\",\r\n },\r\n\r\n color: {\r\n cardBackground: \"Card Background\",\r\n titleBackground: \"Title Background\",\r\n titleText: \"Title Text\",\r\n valueBackground: \"Value Background\",\r\n valueText: \"Value Text\",\r\n },\r\n },\r\n\r\n fontStyleTypes: {\r\n title: \"Title\",\r\n value: \"Value\",\r\n content: \"Content\",\r\n },\r\n\r\n keys: {\r\n value_match: \"Value name\",\r\n icon: \"Suffix icon\",\r\n sufix: \"Suffix\",\r\n prefix: \"Prefix\",\r\n deveui: \"Node\",\r\n maxheight: \"Max height\",\r\n scriptid: \"Script ID\",\r\n target: \"Target\",\r\n tagkey: \"Sensor\",\r\n tagkey_x: \"Sensor X\",\r\n tagkey_y: \"Sensor Y\",\r\n tagkey_x_max: \"Sensor X Max\",\r\n tagkey_y_max: \"Sensor X Min\",\r\n forceColors: \"Force colors\",\r\n decimal_rounding: \"Decimal rounding\",\r\n dashboard_id: \"Dashboard ID\",\r\n sync_y: \"Synchronize Y-axis\",\r\n zoom_slider: \"Zoom Slider\",\r\n digital: \"Squarewave\",\r\n alarm_id: \"Alarmlimits\",\r\n so_chart_type: \"Chart Type\",\r\n so_ignore_body: \"Only title\",\r\n min_value: \"Minimum Value\",\r\n max_value: \"Maximum Value\",\r\n axis_label: \"Axis Label\",\r\n default_timespan: \"Default Timespan\",\r\n font_size: \"Font Size\",\r\n hide_trend_icon: \"Hide Trend Icon\",\r\n horizontel_single_title: \"Horizontal title\",\r\n so_hide_node_info: \"Hide Node Information\",\r\n font_style_large: \"Font Style\",\r\n so_single_sparkline: \"Sparkline\",\r\n gauge_180: \"180° Gauge\",\r\n button_label: \"Button Label\",\r\n button_label_on: \"Label On-button\",\r\n button_label_off: \"Label Off-button\",\r\n hide_title: \"Hide Title\",\r\n },\r\n\r\n fields: {\r\n value_match: \"Value\",\r\n name: \"Name\",\r\n icon: \"Suffix icon\",\r\n sufix: \"Suffix\",\r\n prefix: \"Prefix\",\r\n deveui: \"Node\",\r\n maxheight: \"Max height (e.g. 300 for 300px)\",\r\n scriptid: \"Script ID\",\r\n target: \"Target\",\r\n tagkey: \"Sensor\",\r\n tagkey_x: \"Sensor X\",\r\n tagkey_y: \"Sensor Y\",\r\n tagkey_x_max: \"Sensor X Max\",\r\n tagkey_y_max: \"Sensor X Min\",\r\n forceColors: \"Force colors\",\r\n decimal_rounding: \"Digits\",\r\n dashboard_id: \"Dashboard ID\",\r\n sync_y: \"Synchronize Y-axis\",\r\n zoom_slider: \"Show Zoom Slider\",\r\n digital: \"Squarewave\",\r\n alarm_id: \"Alarmlimits\",\r\n chart_type: \"Chart Type\",\r\n ignoreBody: \"Only title\",\r\n min_value: \"Minimum Value\",\r\n max_value: \"Maximum Value\",\r\n axis_label: \"Axis Label\",\r\n default_timespan: \"Default Timespan\",\r\n font_style_large: {\r\n type: \"Type\",\r\n size: \"Size\",\r\n weight: \"Weight\",\r\n },\r\n },\r\n\r\n desc: {\r\n forceColors:\r\n \"Force the selected colors to take precedence over alarm colors\",\r\n },\r\n },\r\n\r\n fields: {\r\n title: \"Title\",\r\n types: \"Type\",\r\n content: \"Content\",\r\n sm: \"Size on small screen\",\r\n md: \"Size on mid-sized screen\",\r\n min: \"Min value\",\r\n max: \"Max value\",\r\n image: \"Image\",\r\n url: \"URL\",\r\n sync_chart: `Synchronize all series on the X-axis\r\n(when you have widely differing data formats)`,\r\n },\r\n\r\n enum: {\r\n size: { xs: \"XSMALL\", sm: \"SMALL\", md: \"MEDIUM\", lg: \"LARGE\" },\r\n types: {\r\n 0: \"Chart\",\r\n 1: \"Gauge\",\r\n 2: \"Text\",\r\n 3: \"Image\",\r\n 4: \"Google Map\",\r\n 5: \"Company information\",\r\n 6: \"IFrame\",\r\n 7: \"SMHI\",\r\n 8: \"Latest value\",\r\n 9: \"Raw table\",\r\n 10: \"Chart\",\r\n 11: \"Image map\",\r\n 12: \"Function Button\",\r\n 13: \"Node-Info\",\r\n 14: \"Trend Chart\",\r\n 15: \"Node-Overview\",\r\n 16: \"360° Tilt Visualizer\",\r\n 17: \"Fill Level Indicator\",\r\n 18: \"Value Setting Sliders\",\r\n },\r\n },\r\n\r\n functionButtonTypes: {\r\n script: \"Script Execution\",\r\n input: \"Direct Value Input\",\r\n navigation: \"Dashboard Link\",\r\n downlink: \"Downlinks\",\r\n onoffSwitch: \"ON/OFF switch\",\r\n },\r\n },\r\n\r\n weather: {\r\n title: \"SMHI Weather forecast\",\r\n icon: \"Weather\",\r\n temp: \"Temperature\",\r\n windDir: \"Wind direction\",\r\n windSpeed: \"Wind speed\",\r\n humidity: \"Moisture\",\r\n thunder: \"Thunder\",\r\n date: \"Date\",\r\n precipitation: \"Precipitation\",\r\n },\r\n\r\n contact: {\r\n title: \"Contact us\",\r\n descriptionTitle: \"Sensor-Online\",\r\n description:\r\n \"We know it can be hard to get started, Dont hesitate to contact us and we will help answer your questions\",\r\n emailTitle: \"Email\",\r\n email: \"info@sensor-online.se\",\r\n phoneTitle: \"Phone\",\r\n phoneOne: \"+46 (0) 500 6000 22\",\r\n phoneTwo: \"+46 (0) 733 165 100\",\r\n locationSiencepark: \"Skövde Science Park\",\r\n locationStreet: \"Kaplansgatan 16B\",\r\n locationPostalcode: \"521 32 Skövde\",\r\n locationCountry: \"Sweden\",\r\n },\r\n\r\n company: {\r\n name: \"Company name\",\r\n orgNumber: \"Organization number\",\r\n\r\n companyInfo: \"Company information\",\r\n\r\n addUser: \"Add new user\",\r\n\r\n invite: \"Invite new user\",\r\n inviteSent: \"Invitation sent\",\r\n inviteFailed:\r\n \"Could not find the user, Make sure the user is registrered before!\",\r\n\r\n shareApp: \"Share Application\",\r\n\r\n fields: {\r\n name: \"Company name\",\r\n orgNumber: \"Organization number\",\r\n postalAdress: \"Postal adress\",\r\n deliveryAdress: \"Delivery adress\",\r\n contactPhonenumber: \"Contact phone number\",\r\n invoiceAdress: \"Email for contact\",\r\n refrenceNmuber: \"Reference number\",\r\n image: \"Company logotype\",\r\n },\r\n\r\n validation: {\r\n nameRequired: \"You must enter a company name\",\r\n nameMax: \"Company name must not be more than 255 characters\",\r\n\r\n orgNumberRequired: \"You have to fill in you company VAT number\",\r\n orgNumberFormatError: \"Wrong format VAT number\",\r\n\r\n emailRequired: \"You have to fill in email address\",\r\n emailFormatError: \"Add valid email adress\",\r\n\r\n passwordMissmatch: \"Passwords do not match\",\r\n },\r\n },\r\n\r\n report: {\r\n title: \"Reports\",\r\n refrenceDateDesc:\r\n \"The reference day is the day referred to when sending a report, if the interval is monthly, select the day on which it is sent (1st of each month, for example). Or weekly (where day is Mon - Fri for when the report is to be sent out).\",\r\n create: \"Create report subscription\",\r\n update: \"Update report subscription\",\r\n exportDownload: \"Report download\",\r\n export: \"Export\",\r\n downloadFailed: \"The report could not be fetched, try again later!\",\r\n noData: \"There was no data found in the selected time span\",\r\n fields: {\r\n name: \"Report name\",\r\n type: \"Type\",\r\n tempo: \"Interval\",\r\n createdAt: \"Created\",\r\n updatedAt: \"Updated\",\r\n id: \"ID\",\r\n refrenceDate: \"Reference day\",\r\n reportContacts: \"Report contacts\",\r\n lastSent: \"Last Sent\",\r\n },\r\n\r\n tempo: {\r\n desc: {\r\n 0: \"Send the daily report from now on at 03:00\",\r\n 1: \"Send the weekly report on mondays with the previous week's data.\",\r\n 2: \"Send the monthly report on the 1st day of the month for the previous month.\",\r\n },\r\n\r\n 0: \"Daily\",\r\n 1: \"Weekly\",\r\n 2: \"Monthly\",\r\n },\r\n\r\n types: {\r\n regular: \"Regular\",\r\n trend: \"Trend\",\r\n },\r\n },\r\n\r\n script: {\r\n name: \"Scripts\",\r\n create: \"Create a new Script\",\r\n edit: \"Edit Script\",\r\n tagsTitle: \"Node ID and Sensors\",\r\n placeHolderContent: ` // Convert the temperature to fahrenheit \r\n var tempToFahrenheit = Data.Read(\"INSERT-DEVEUI\", \"INSERT-KEY\") * 9/5 + 32;\r\n\r\n // Write the new value to a new key\r\n Data.Write(\"INSERT-DEVEUI\", \"INSERT-KEY\", tempToFahrenheit);`,\r\n examples: \"Examples\",\r\n helpTitle: \"Examples and help\",\r\n\r\n type: {\r\n 0: \"Looping Script\",\r\n 1: \"Invoked Script\",\r\n 2: \"Triggered Script\",\r\n },\r\n\r\n fields: {\r\n name: \"Name\",\r\n type: \"Type\",\r\n interval: \"Interval\",\r\n lastRun: \"Last run time\",\r\n enabled: \"Enabled\",\r\n boundTag: \"Triggering tag\",\r\n },\r\n\r\n validation: {\r\n intervalRequired: \"This field must be filled\",\r\n intervalMinValue: \"The minimum value for the interval is 0\",\r\n },\r\n },\r\n\r\n user: {\r\n name: \"User\",\r\n\r\n email: \"Email\",\r\n role: \"Role\",\r\n\r\n userInfo: \"Personal information\",\r\n\r\n loginFailed: \"Login failed\",\r\n signInFailed: \"Email/password do not match try again.\",\r\n loginSuccessful: \"Logged in\",\r\n updateFailed: \"Update failed\",\r\n edit: \"Edit\",\r\n forgotPassword: \"Forgot password?\",\r\n\r\n fields: {\r\n firstName: \"First name\",\r\n lastName: \"Last name\",\r\n phoneNumber: \"Phone number\",\r\n email: \"Email\",\r\n password: \"Password\",\r\n newPassword: \"New Password\",\r\n passwordConfirm: \"Confirm Password\",\r\n\r\n phoneNumerHint:\r\n \"Hint: Use international formatting. Ex for a Swedish number (46703292943)\",\r\n },\r\n },\r\n\r\n application: {\r\n name: \"Application | Applications\",\r\n noCompanyError: \"You must register a company first to create applications\",\r\n applicationCreated: \"Your new application has been created\",\r\n choose: \"Choose a Application\",\r\n create: \"Create a new Application\",\r\n validation: {\r\n nameRequired: \"Your application must have a name\",\r\n nameMax: \"Name must be fewer than 255 characters\",\r\n },\r\n fields: {\r\n id: \"ID\",\r\n name: \"Name\",\r\n createdAt: \"Created\",\r\n owner: \"Owner\",\r\n },\r\n },\r\n\r\n alarm: {\r\n name: \"Alarm\",\r\n create: \"Add new alarm rule\",\r\n affirmation: \"Confirm\",\r\n history: \"Alarm history\",\r\n\r\n activeAlarm: \"Alarm warnings\",\r\n\r\n test: {\r\n title: \"Test of settings\",\r\n settings: \"Test email and sms settings\",\r\n email: \"Email address\",\r\n phonenumber: \"Phonenumber (46....)\",\r\n },\r\n\r\n priority: {\r\n desc: {\r\n a: \"Send both email and SMS\",\r\n b: \"Send only SMS\",\r\n c: \"Send only mail notification\",\r\n },\r\n },\r\n\r\n fields: {\r\n id: \"ID\",\r\n name: \"Name\",\r\n priority: \"Priority\",\r\n alarmDelay: \"Delay time before alarm is raised\",\r\n active: \"Alarm status\",\r\n tagDataKey: \"Sensor\",\r\n tag: \"Node\",\r\n message: \"Alarm message\",\r\n limitHigh: \"High Threshold\",\r\n limitLow: \"Low Threshold\",\r\n contactType: \"Contact type\",\r\n alarmContacts: \"Alarm contacts\",\r\n activeDays: \"Days activated\",\r\n limit: \"Low and high alarm thresholds\",\r\n activeAlarms: \"Alarm warnings\",\r\n messageSent: \"Alarm message sent\",\r\n reset: \"Reset\",\r\n triggered: \"Triggered\",\r\n user: \"Reset by\",\r\n value: \"Triggering value\",\r\n signalType: \"Signal Type\",\r\n digitalTrigger: \"Trigger On\",\r\n triggerHigh: \"Signal High\",\r\n triggerLow: \"Signal Low\",\r\n advanced: \"Advanced alarm\",\r\n },\r\n\r\n validation: {\r\n nameRequired: \"This field must be filled in\",\r\n max: \"Max characters is 255\",\r\n },\r\n },\r\n\r\n batteryStatus: {\r\n levels: \"Battery level\",\r\n value: \"Value\",\r\n lastSeen: \"The latest value\",\r\n label: \"Battery voltage\",\r\n },\r\n\r\n tagdata: {\r\n name: \"Data\",\r\n amount: \"Number of data points collected:\",\r\n notation: \"{0}\",\r\n latestactivity: \"Latest activity\",\r\n latestvalue: \"Latest value\",\r\n defaultKey: \"Standard key\",\r\n\r\n fields: {\r\n id: \"ID\",\r\n name: \"Name\",\r\n key: \"Sensor\",\r\n value: \"Value\",\r\n createdAt: \"Created\",\r\n label: \"Label\",\r\n },\r\n },\r\n\r\n tag: {\r\n choose: \"Choose Node\",\r\n search: \"Search Node\",\r\n chooseDecoder: \"Choose a decoder\",\r\n decoder: \"Decoder\",\r\n name: \"Nodes\",\r\n amount: \"Number of nodes:\",\r\n notation: \"{0}\",\r\n details: \"Sensor details\",\r\n removeImage: \"Delete image\",\r\n chooseKey: \"Choose key\",\r\n saveKeyAsDefault: \"Default\",\r\n newKey: \"New Sensor\",\r\n filter: \"Filter Nodes\",\r\n generateId: \"Generate ID\",\r\n\r\n uploadExplanation: \"Drag your Csv file or click here to upload Nodes\",\r\n uploadExplanationHint: \"You can download a example csv file here: \",\r\n exampleLink: \"CSV Example\",\r\n\r\n createSteps: {\r\n step1: \"Type of Node\",\r\n step2: \"Choose Application\",\r\n step3: \"Choose Decoder\",\r\n step4: \"Set Keys\",\r\n step5: \"MQTT\",\r\n finish: \"Done\",\r\n },\r\n\r\n picker: {\r\n step1: \"Select a Node\",\r\n step2: \"Select a Sensor\",\r\n },\r\n\r\n tagPool: {\r\n tagPool: \"Nodes pool\",\r\n deveui: \"Deveui\",\r\n createdAt: \"Created\",\r\n hide: \"Hide from list\",\r\n show: \"Show in default list\",\r\n hiddenTags: \"Hidden nodes\",\r\n take: \"Add sensor\",\r\n },\r\n\r\n fields: {\r\n id: \"ID\",\r\n name: \"Name\",\r\n deveui: \"DevEUI\",\r\n appKey: \"AppKey\",\r\n appEui: \"AppEUI\",\r\n applicationId: \"Application\",\r\n profile: \"Profile\",\r\n lat: \"Latitude\",\r\n long: \"Longitude\",\r\n latAndLng: \"Latitude and Longitude\",\r\n image: \"Image of sensor installation\",\r\n battery: \"Battery Level\",\r\n activeAlarm: \"Alarm\",\r\n activeData: \"Active\",\r\n latestValue: \"Latest Value\",\r\n location: \"Location\",\r\n dataPoints: \"Datapoints/24h\",\r\n type: \"Type\",\r\n nodeType: \"Node Type\",\r\n },\r\n\r\n nodeTypes: {\r\n 0: \"LORA\",\r\n 1: \"API\",\r\n 2: \"MQTT\",\r\n 3: \"NR\",\r\n },\r\n },\r\n\r\n license: {\r\n license: \"License\",\r\n licensee: \"License Holder\",\r\n coveredFeatures: \"Covered Features\",\r\n fields: {\r\n email: \"Email\",\r\n name: \"Name\",\r\n maxCompanies: \"Max Companies\",\r\n decoderIncluded: \"Decoder Included\",\r\n whiteLabel: \"White-Label\",\r\n },\r\n },\r\n\r\n validation: {\r\n required: \"{0} must be filled in\",\r\n max: \"{0} must be {1} characters\",\r\n requiredSingle: \"This field must be filled in\",\r\n toLong: \"This field contains too many characters\",\r\n contryCodeError:\r\n \"Don't forget that the phone number must have country code (e.g. 4607xxxxxxxx)\",\r\n passwordMissmatch: \"Passwords do not match\",\r\n deveuiConflict: \"Node with this DevEUI already exists on this server\",\r\n },\r\n\r\n warning: {\r\n amount: \"Active Alarms:\",\r\n notation: \"{0}\",\r\n },\r\n\r\n mqtt: {\r\n settingsTabTitle: \"MQTT Brokers\",\r\n brokerListTitle: \"MQTT Brokers\",\r\n createTitle: \"Add a new MQTT Broker\",\r\n updateTitle: \"Update MQTT Broker\",\r\n selectBroker: \"Select a MQTT Broker\",\r\n testBroker: \"Test Configuration\",\r\n topicCreateTitle: \"MQTT Topics\",\r\n topicDescription:\r\n \"The topics selected will be subscribed to through the configured broker. The topics should be specific to the device, if wildcard is used (+) it should be a single level wildcard. Multilevel wildcards (#) will be transformed into single level wildcards.\",\r\n topicAdd: \"Add a new Topic\",\r\n topicAlreadyExists: \"The selected topic already exists\",\r\n createTopicTitle: \"Create a new Subscription\",\r\n\r\n meta: {\r\n fields: {\r\n topic: \"Topic\",\r\n publishTopic: \"Publish Topic (Optional)\",\r\n publishTopicHint: \"Cannot be the same as any of the Subscribe Topics\",\r\n },\r\n },\r\n\r\n sslmodes: {\r\n 0: \"None\",\r\n 1: \"CA Signed server certificate\",\r\n 2: \"Self-signed server certificate\",\r\n },\r\n\r\n versions: {\r\n 0: \"3.1.1\",\r\n 1: \"3.1.0\",\r\n },\r\n\r\n validation: {\r\n notfound: \"Could not find Broker\",\r\n },\r\n\r\n fields: {\r\n status: \"Status\",\r\n hostname: \"Hostname\",\r\n port: \"Port\",\r\n version: \"MQTT Version\",\r\n sslmode: \"SSL/TLS Mode\",\r\n CACertificate: \"CA Certificate\",\r\n ClientCertificate: \"Client Certificate\",\r\n ClientKey: \"Client Key\",\r\n KeyPassPhrase: \"Key Passphrase (Optional)\",\r\n useAuth: \"Use Authentication\",\r\n username: \"Username\",\r\n password: \"Password\",\r\n isGlobal: \"Is Global Broker\",\r\n\r\n metrics: {\r\n messages: {\r\n total: \"Total Messages\",\r\n week: \"Messages this Week\",\r\n day: \"Messages this Day\",\r\n },\r\n\r\n publish: {\r\n total: \"Total Published\",\r\n week: \"Week Published\",\r\n day: \"Day Published\",\r\n },\r\n },\r\n },\r\n },\r\n};\r\n","export default {\r\n routes: {\r\n home: \"Hem\",\r\n login: \"Login\",\r\n register: \"Registrera\",\r\n registerCompany: \"Nytt Konto\",\r\n logout: \"Logout\",\r\n\r\n company: \"Företag\",\r\n dashboard: \"Dashboard\",\r\n application: \"Applikationer\",\r\n alarm: \"Larmhantering\",\r\n\r\n user: \"Användare\",\r\n tagdata: \"Data\",\r\n tag: \"Noder\",\r\n script: \"Script-motor\",\r\n report: \"Rapport\",\r\n contact: \"Kontakt\",\r\n apiRef: \"API-Dokumentation\",\r\n shop: \"Köp noder\",\r\n manual: \"Manual\",\r\n settings: \"Inställningar\",\r\n signalTest: \"Fälttestare\",\r\n gateway: \"Gateways\",\r\n news: \"Nyheter\",\r\n roles: \"Roller\",\r\n\r\n userEdit: \"Konto\",\r\n\r\n superadmin: \"Admin\",\r\n },\r\n\r\n roles: {\r\n toolbarTitle: \"Roller\",\r\n permissionCounts: \"Rättigheter\",\r\n\r\n missingRecommendedTitle: \"Alla rekommenderade rättigheter ej valda.\",\r\n missingRecommendedButton: \"Klicka här för att lägga till saknade\",\r\n\r\n pickPermissionsTitle: \"Rättighetsväljare\",\r\n pickPermissionsDesc:\r\n \"Du kan välja en basroll att basera den nya rollen på nedan eller börja helt från noll. Om du väljer rättigheter som behöver andra kommer du rekommenderas dessa. De visas i listan med Orange färg.\",\r\n\r\n fields: {\r\n name: \"Namn\",\r\n permissionCount: \"Antal Rättigheter\",\r\n isDefault: \"Är Basroll\",\r\n isSuper: \"Är Admin\",\r\n },\r\n\r\n layerTypes: {\r\n 0: \"Grundrättigheter För Gränssnittet\",\r\n 1: \"Huvudrättigheter För Gränssnittet\",\r\n 2: \"Rättigheter Till API\",\r\n },\r\n },\r\n\r\n eventhub: {\r\n waiting: \"Väntar på nya events...\",\r\n\r\n events: {\r\n data: \"Ny data\",\r\n endpoint: \"ENDPOINT\",\r\n },\r\n },\r\n\r\n downlinks: {\r\n editorTitle: \"Downlinks\",\r\n\r\n validation: {\r\n port: \"Port måste vara över 0\",\r\n },\r\n },\r\n\r\n conditionTree: {\r\n selectValueTypeTitle: \"Välj värdes typ\",\r\n selectType: \"Välj typ\",\r\n selectValue: \"Välj värde\",\r\n chooseSensor: \"Välj Sensor\",\r\n\r\n textInputPlaceholder: \"Text Värde\",\r\n numberInputPlaceholder: \"Nummer Värde\",\r\n\r\n types: {\r\n 0: \"Sensor Value\",\r\n 1: \"Text\",\r\n 2: \"Number\",\r\n 3: \"Time\",\r\n 4: \"Inget Värde\",\r\n },\r\n\r\n ops: {\r\n greater: \"Större än\",\r\n less: \"Mindre än\",\r\n equal: \"Samma som\",\r\n greaterOrEqual: \"Större eller lika än\",\r\n lessOrEqual: \"Mindre eller lika än\",\r\n notEqual: \"Inte\",\r\n },\r\n },\r\n\r\n accessToken: {\r\n title: \"Åtkomsttoken\",\r\n newToken: \"Skapa en ny token\",\r\n cardNewTitle: \"Ny token\",\r\n cardTitle: \"Åtkomsttoken\",\r\n fields: {\r\n id: \"Id\",\r\n label: \"Titel\",\r\n token: \"Token\",\r\n isCompany: \"Företagstoken\",\r\n },\r\n },\r\n\r\n news: {\r\n cannotGetNews: \"Kunde inte hämta nyheterna från IoT AB.\",\r\n },\r\n\r\n gateway: {\r\n toolbar: \"Gateways\",\r\n toolbarTitle: \"Gateways\",\r\n bestGw: \"Bästa gateway\",\r\n\r\n pickLocationButton: \"Ange position\",\r\n fields: {\r\n name: \"Namn\",\r\n macAddress: \"GatewayEUI\",\r\n latitude: \"Latitude\",\r\n longitude: \"Longitude\",\r\n createdAt: \"Skapad\",\r\n },\r\n },\r\n\r\n signalTest: {\r\n toolbarTitle: \"Fälttestare\",\r\n startTest: \"Starta ett nytt test\",\r\n endTest: \"Avsluta test\",\r\n peekTest: \"Titta på test\",\r\n createToolbar: \"Starta ett nytt test\",\r\n rawData: \"Rådata\",\r\n updateTimer: \"Uppdateringstimer\",\r\n\r\n fields: {\r\n testId: \"Test-ID\",\r\n description: \"Beskrivning\",\r\n startTest: \"Start\",\r\n endTest: \"Slut\",\r\n active: \"Aktiv\",\r\n\r\n avgSnr: \"Genomsnittlig SNR\",\r\n avgRssi: \"Genomsnittlig RSSI\",\r\n\r\n data: {\r\n rssi: \"RSSI\",\r\n snr: \"SNR\",\r\n lat: \"LATITUDE\",\r\n lng: \"LONGITUDE\",\r\n createdAt: \"TID\",\r\n },\r\n },\r\n\r\n tab: {\r\n map: \"MAP\",\r\n data: \"STATISTIK\",\r\n },\r\n },\r\n\r\n trend: {\r\n res: {\r\n week: \"Upplösning: Vecka\",\r\n day: \"Upplösning: Dag\",\r\n hour: \"Upplösning: 1 Timme\",\r\n five: \"Upplösning: 5 Timmar\",\r\n },\r\n },\r\n\r\n notifications: {\r\n clearNotifications: \"Markera alla som lästa\",\r\n noNotifications: \"Det finns inga nya notiser.\",\r\n },\r\n\r\n landing: {\r\n slogan: \"VISUALIZATION MADE EASY\",\r\n or: \"ELLER\",\r\n key: {\r\n title: \"Funktioner\",\r\n 1: \"Nodhantering\",\r\n 2: \"Visualisering\",\r\n 3: \"Flera Dashboards\",\r\n 4: \"Alarmhantering\",\r\n 5: \"Personalhantering\",\r\n 6: \"Skriptmotor\",\r\n\r\n description: {\r\n 1: \"Hantera sensorer för datahantering.\",\r\n 2: \"Få din sensordata visualiserad på det sätt du vill se din information.\",\r\n 3: \"Skapa egna dashboards för ditt användningsområde.\",\r\n 4: \"Alarmhantering för kritiska användningsområden.\",\r\n 5: \"Hantera användarkonton för ditt företag.\",\r\n 6: \"Avancerade användare kan skapa script för att manipulera data.\",\r\n },\r\n },\r\n\r\n usecases: {\r\n title: \"Applikation\",\r\n 1: \"Miljösensorer\",\r\n 2: \"Elsensorer\",\r\n 3: \"Rörelsesensorer\",\r\n 4: \"Temperatursensor\",\r\n\r\n description: {\r\n 1: \"SENSORONLINE passar otroligt bra för smarta jordbrukslösningar så som de på Ljusgårda redan bygger.\",\r\n 12: \"Läs mer om Ljusgårda.\",\r\n 2: \"Mät ström för gatlyktor i din stad. Med skriptmotorn kan du göra så att datan blir lätt att tyda.\",\r\n 3: \"Mät hur många människor som kommer och går från din anläggning.\",\r\n 4: \"Självklart är temperatur-visualisering en nyckel för SENSORONLINE-platformen. Företag väljer att mäta och hantera sina temperaturer med SENSORONLINE.\",\r\n },\r\n },\r\n\r\n help: {\r\n title: \"KONTAKTA OSS\",\r\n\r\n sensors: {\r\n title: \"Behöver du några nya sensorer?\",\r\n description:\r\n \"Om du behöver hjälp med att lösa ett problem eller få mer kontroll på dina tillgångar. Eller hur du kan visualisera dina sensorer på ett sätt som underlättar för din verksamhet. Tveka inte att höra av dig till oss för att få hjälp. \\n Du kan kolla vårt portfolio av \",\r\n store: \"noder som vi säljer hos IoT AB.\",\r\n },\r\n\r\n api: {\r\n title: \"Använd vårt API\",\r\n description:\r\n \"Du kan givetvis använda vårt API för att sätta in data eller hämta data från och till befintliga system. \",\r\n },\r\n\r\n contact: {\r\n title: \"Är du intresserad? Ta kontakt!\",\r\n siencepark: \"Skövde Science Park\",\r\n address: \"Kaplansgatan 16B\",\r\n postal: \"521 32 Skövde\",\r\n country: \"Sverige\",\r\n phoneTitle: \"Telefon\",\r\n phonenumber: \"+46 (0) 500 600 022\",\r\n phonenumber2: \"+46 (0) 733 165 100\",\r\n emailTitle: \"Email\",\r\n email: \"info@sensor-online.se\",\r\n },\r\n },\r\n },\r\n\r\n imageMap: {\r\n chooseTag: \"Välj typ av markör\",\r\n },\r\n\r\n log: {\r\n type: {\r\n sms: \"SMS\",\r\n app: \"Applikation\",\r\n warning: \"Varning\",\r\n error: \"Error\",\r\n userevent: \"Userevent\",\r\n login: \"Login\",\r\n },\r\n\r\n logTable: {\r\n title: \"Logg\",\r\n },\r\n\r\n activeAlarms: {\r\n title: \"Aktiva larm\",\r\n },\r\n\r\n activeUsersTable: {\r\n title: \"Inloggade användare\",\r\n },\r\n\r\n fields: {\r\n type: \"Typ\",\r\n user: \"Användare\",\r\n message: \"Meddelande\",\r\n createdAt: \"Skapad\",\r\n\r\n status: \"Status\",\r\n lastAction: \"Event\",\r\n lastSeen: \"Timestamp\",\r\n\r\n alarm: {\r\n name: \"Namn\",\r\n value: \"Värde\",\r\n messageSent: \"Skickat notifikation\",\r\n },\r\n },\r\n },\r\n\r\n common: {\r\n yes: \"Ja\",\r\n no: \"Nej\",\r\n on: \"På\",\r\n off: \"Av\",\r\n timestamp: \"Tidsstämpel\",\r\n lang: \"Språk\",\r\n error: \"Ett fel uppstod försök igen senare\",\r\n edit: \"Redigera\",\r\n delete: \"Ta bort\",\r\n reset: \"Återställ\",\r\n purge: \"Radera\",\r\n submit: \"Skicka\",\r\n create: \"Skapa\",\r\n update: \"Uppdatera\",\r\n get: \"Hämta\",\r\n run: \"Kör\",\r\n address: \"Adress\",\r\n link: \"Länk\",\r\n height: \"Höjd\",\r\n width: \"Bredd\",\r\n new: \"Ny\",\r\n value: \"Värde\",\r\n newValue: \"Nytt Värde\",\r\n nothingToSee: \"Inget att se här\",\r\n next: \"Nästa\",\r\n label: \"Label\",\r\n editLabel: \"Redigera Label\",\r\n explanation: \"Förklaring\",\r\n\r\n hours: \"Timmar\",\r\n mintues: \"Minuter\",\r\n\r\n search: \"Sök\",\r\n close: \"Stäng\",\r\n cancel: \"Avbryt\",\r\n\r\n login: \"Logga in\",\r\n register: \"Registrera dig\",\r\n email: \"Email\",\r\n password: \"Lösenord\",\r\n confirmPassword: \"Upprepa lösenord\",\r\n newPassword: \"Nytt lösenord\",\r\n forgotPassword: \"Glömt lösenord\",\r\n\r\n createdAt: \"Skapad\",\r\n updatedAt: \"Uppdaterad\",\r\n\r\n save: \"Spara\",\r\n show: \"Visa\",\r\n updated: \"Uppdaterad\",\r\n created: \"Skapad\",\r\n deleted: \"Raderad\",\r\n back: \"Tillbaka\",\r\n send: \"Skicka\",\r\n refresh: \"Uppdatera\",\r\n preview: \"Preview\",\r\n previewSpacing: \"Plats för andra komponenter\",\r\n saveColor: \"Spara färg\",\r\n alarmColorPrecedence:\r\n \"Larmfärger kommer alltid väljas före de manuellt valda färgerna, tvinga överskrivning i attributer om detta inte är vad som önskas.\",\r\n\r\n add: \"Lägg till\",\r\n clear: \"Rensa\",\r\n success: \"OK!\",\r\n\r\n settings: \"Inställningar\",\r\n\r\n noTagOrAppChoosen: \"Noder och/eller Applikation saknas\",\r\n noDataFound: \"Ingen data funnen\",\r\n darkTheme: \"Mörkt tema\",\r\n\r\n active: \"Aktiverat\",\r\n notActive: \"Avstängt\",\r\n\r\n sent: \"Skickat\",\r\n notSent: \"Inte Skickat\",\r\n\r\n loginOrRegister: \"Logga in eller registrera dig\",\r\n\r\n or: \"Eller\",\r\n\r\n dashboard: \"Gå till Dashboard\",\r\n switchCompany: \"Växla Företag\",\r\n\r\n copy: \"Kopiera\",\r\n disagree: \"Nej\",\r\n verify: \"Är du säker att du vill fortsätta?\",\r\n verifyDelete: \"Är du säker att du vill ta bort denna resurs?\",\r\n\r\n accept: \"Ja\",\r\n\r\n registerCompany: \"Skapa nytt konto\",\r\n\r\n inactiveSensors: \"Inaktiva sensorer\",\r\n activeSensors: \"Aktiva sensorer\",\r\n sensorStatus: \"Nod-status\",\r\n sensorName: \"Nod-namn\",\r\n\r\n updatesPending: \"Ändringar sker vid sidomladdning\",\r\n pickLocationConfirm: \"Vill du spara positionen på denna resurs?\",\r\n\r\n getMorePages: \"Ladda mer\",\r\n\r\n nextStep: \"Nästa\",\r\n previousStep: \"Tillbaka\",\r\n\r\n toFewBytes: \"För lite bytes\",\r\n byteInputRequired: \"Du måste fylla i detta fält\",\r\n\r\n searchType: {\r\n TAG: \"Noder\",\r\n ALARM: \"Alarm\",\r\n APPLICATION: \"Applikationer\",\r\n DASHBOARD: \"Dashboards\",\r\n GATEWAY: \"Gateways\",\r\n SCRIPT: \"Scripts\",\r\n },\r\n\r\n time: {\r\n day: \"Dag\",\r\n hour: \"Timma\",\r\n quarterHour: \"Kvart\",\r\n minute: \"Minut\",\r\n },\r\n\r\n days: {\r\n monday: \"Måndag\",\r\n tuesday: \"Tisdag\",\r\n wednesday: \"Onsdag\",\r\n thursday: \"Torsdag\",\r\n friday: \"Fredag\",\r\n saturday: \"Lördag\",\r\n sunday: \"Söndag\",\r\n },\r\n\r\n dateRange: {\r\n 0: \"Senaste timmen\",\r\n 1: \"Senaste 5 timmarna\",\r\n 2: \"Senaste 24 timmarna\",\r\n 3: \"Senaste 7 dagarna\",\r\n 4: \"Senaste 30 dagarna\",\r\n },\r\n\r\n staticinformation: {\r\n datapoints: \"Datapunkter senaste 24 timmarna\",\r\n inactiveSensors: \"Inaktiva sensorer\",\r\n activeAlarms: \"Aktiva alarm\",\r\n datapointsLastWeek: \"Datapunkter under senaste veckan\",\r\n weekday: \"Veckodag\",\r\n },\r\n\r\n welcome: \"Hej, {user} !\",\r\n\r\n errors: {\r\n getDecoders: \"Kunde inte hämta decoders\",\r\n backendConnection: \"Ingen anslutning till backend kunde upprättas\",\r\n },\r\n\r\n actions: {\r\n createCategory: \"Skapa Kategori\",\r\n editCategory: \"Redigera Kategori\",\r\n remove: \"Ta bort\",\r\n\r\n createDashboard: \"Skapa Dashboard\",\r\n copyDashboard: \"Kopiera Dashboard\",\r\n },\r\n\r\n iconSelector: {\r\n selectIcon: \"Välj ikon\",\r\n searchPlaceholder: \"Sök på ikoner (ex. weather)\",\r\n },\r\n },\r\n\r\n settings: {\r\n title: \"Inställningar\",\r\n userSettings: \"Användarinställningar\",\r\n themes: \"Teman\",\r\n\r\n company: {\r\n title: \"Företagsinställningar\",\r\n },\r\n\r\n data: {\r\n toolbarTransparancy: \"Transparent toolbar\",\r\n stickySideMenu: \"Sticky sidmeny\",\r\n },\r\n\r\n global: {\r\n name: \"Globala inställningar\",\r\n branding: \"Märkning\",\r\n powered_by: \"Powered By\",\r\n SMS_PROVIDER: \"SMS Leverantör\",\r\n SMS_IP1_FROM: \"Avsändarnamn\",\r\n SMS_IP1_USERNAME: \"IP1 Användarnamn\",\r\n SMS_IP1_PASSWORD: \"IP1 Password\",\r\n SMS_TWILIO_ACCOUNTSID: \"Twilio AccountSID\",\r\n SMS_TWILIO_ACCESSTOKEN: \"Twilio AccessToken\",\r\n SMS_TWILIO_NUMBER: \"Twilio Number\",\r\n },\r\n },\r\n\r\n companysetting: {\r\n field: {\r\n smsprovider: \"SMS Leverantör\",\r\n alarmTitle: \"Larm\",\r\n\r\n inactivityAlarmContact: \"Mail för inaktivitets larm\",\r\n hint: {\r\n inactivityAlarmContact:\r\n \"Mailaddress för att få mail när sensorer har varit inaktiva i mer än 6 timmar\",\r\n },\r\n\r\n ip1: {\r\n from: \"Avsändarnamn\",\r\n username: \"IP1 Användarnamn\",\r\n password: \"IP1 AccessToken / Lösenord\",\r\n hint: {\r\n from: \"Detta är ett namn som kommer användas som avsändare av sms från SensorOnline\",\r\n username:\r\n \"Vill du hitta ditt användarnamn finns dokumentation här: https://docs.sensor-online.se\",\r\n password:\r\n \"Vill du hitta Access Token / Lösenord kan du se dokumentationen här https://docs.sensor-online.se\",\r\n },\r\n },\r\n\r\n twilio: {\r\n number: \"Twilio Nummer\",\r\n accountSid: \"Twilio AccountSID\",\r\n accessToken: \"Twilio AccessToken\",\r\n hint: {\r\n number:\r\n \"Detta är det nummer du vill skicka dina meddelanden från och som du har på Twilio\",\r\n accountSid:\r\n \"Du kan hitta ditt AccountSid genom att följa vår dokumentation här: https://docs.sensor-online.se\",\r\n accessToken:\r\n \"Du kan hitta din AccessToken genom att följa vår dokumentation här: https://docs.sensor-online.se\",\r\n },\r\n },\r\n },\r\n },\r\n\r\n map: {\r\n setPosFormTitle: \"Välj sensor för position\",\r\n },\r\n\r\n dashboard: {\r\n name: \"Dashboards\",\r\n createTitleClean: \"Skapa ny Dashboard\",\r\n copyDeleteTitle: \"Ta bort eller kopiera Dashboard\",\r\n createTitle: \"Eller skapa ett nytt Dashboard\",\r\n chooseTitle: \"Välj Dashboard\",\r\n changeTitle: \"Byt Dashboard\",\r\n selectDashboard: \"Dashboards\",\r\n navigationTitle: \"Navigationsmeny\",\r\n\r\n fields: { name: \"Namn\" },\r\n nameReq: \"Detta fält måste vara ifyllt\",\r\n\r\n categories: {\r\n create: \"Skapa Kategori\",\r\n title: \"Titel\",\r\n icon: \"Ikon\",\r\n },\r\n\r\n copy: {\r\n tooltip: \"Kopiera widget\",\r\n },\r\n\r\n public: {\r\n title: \"Publika dashboards\",\r\n create: \"Skapa en publik dashboard\",\r\n createNew: \"Skapa en ny publik dashboard\",\r\n copiedSuccessful: \"Kopierade länk till clipboard\",\r\n copiedUnsuccessful: \"Kunde inte kopiera {link}\",\r\n URL: \"Dashboard-URL\",\r\n yes: \"Ja\",\r\n no: \"Nej\",\r\n remove: \"Ta bort\",\r\n\r\n fields: {\r\n host: \"Ansvarig\",\r\n expiresAt: \"Giltig till\",\r\n expired: \"Aktiv\",\r\n copyAction: \"Länk\",\r\n dashboardName: \"Dashboard\",\r\n },\r\n },\r\n },\r\n\r\n module: {\r\n create: \"Skapa ett nytt element\",\r\n edit: \"Redigera elementet\",\r\n metas: \"Attribut\",\r\n\r\n chart: {\r\n types: {\r\n line: \"Linje\",\r\n area: \"Area\",\r\n bar: \"Stapeldiagram\",\r\n scatter: \"Spridningsdiagram\",\r\n vertical: \"Vertikal\",\r\n },\r\n },\r\n\r\n mapMarkers: {\r\n node: \"Nål med Nodinformation\",\r\n sensor: \"Label med senast sensorvärde\",\r\n },\r\n\r\n meta: {\r\n label: \"Attribut\",\r\n save: \"Spara attribut\",\r\n addSlider: \"Lägg till slider\",\r\n opacity: \"Opacitet\",\r\n\r\n paletteToModuleMode: \"Ändra Modulfärger\",\r\n paletteToCardMode: \"Ändra Kortfärger\",\r\n\r\n valueMatch: \"Attribut 1\",\r\n value: \"Attribut 2\",\r\n key: \"Sensor\",\r\n icon: \"Ikon\",\r\n\r\n styles: {\r\n text: {\r\n textcolor: \"Textfärg\",\r\n background: \"Bakgrund - Innehåll\",\r\n titleBackground: \"Bakgrund - Titel\",\r\n },\r\n\r\n single: {\r\n textcolor: \"Textfärg\",\r\n background: \"Bakgrund - Innehåll\",\r\n titleBackground: \"Bakgrund - Titel\",\r\n sparkline: \"Sparkline\",\r\n sparklineLabel: \"Sparkline textfärg\",\r\n },\r\n\r\n color: {\r\n cardBackground: \"Kortbakgrund\",\r\n titleBackground: \"Titelbakgrund\",\r\n titleText: \"Titeltext\",\r\n valueBackground: \"Värdesbakgrund\",\r\n valueText: \"Värdestext\",\r\n },\r\n },\r\n\r\n fontStyleTypes: {\r\n title: \"Titel\",\r\n value: \"Värde\",\r\n content: \"Innehåll\",\r\n },\r\n\r\n keys: {\r\n value_match: \"Namn för värde\",\r\n icon: \"Ikon-suffix\",\r\n sufix: \"Suffix\",\r\n prefix: \"Prefix\",\r\n deveui: \"Nod\",\r\n maxheight: \"Maxhöjd\",\r\n scriptid: \"Skript-ID\",\r\n target: \"Börvärde\",\r\n tagkey: \"Sensor\",\r\n tagkey_x: \"Sensor X-led\",\r\n tagkey_y: \"Sensor Y-led\",\r\n tagkey_x_max: \"Sensor Max X-led\",\r\n tagkey_y_max: \"Sensor Max Y-led\",\r\n forceColors: \"Tvinga färger\",\r\n decimal_rounding: \"Decimalavrundning\",\r\n dashboard_id: \"Dashboard-ID\",\r\n sync_y: \"Synkronisera Y-axel\",\r\n zoom_slider: \"Zoom-reglage\",\r\n digital: \"Fyrkantsvåg\",\r\n alarm_id: \"Larmgränser\",\r\n so_chart_type: \"Diagramtyp\",\r\n so_ignore_body: \"Endast titel\",\r\n min_value: \"Minimumvärde\",\r\n max_value: \"Maxvärde\",\r\n axis_label: \"Axel-etikett\",\r\n default_timespan: \"Standardtidsspann\",\r\n font_size: \"Textstorlek\",\r\n hide_trend_icon: \"Göm Trend Ikon\",\r\n horizontel_single_title: \"Horisontell titel\",\r\n so_hide_node_info: \"Göm Nodinformation\",\r\n font_style_large: \"Typsnitt\",\r\n so_single_sparkline: \"Sparkline\",\r\n gauge_180: \"180°-visning\",\r\n button_label: \"Knapptext\",\r\n button_label_on: \"Text Påknapp\",\r\n button_label_off: \"Text Avknapp\",\r\n hide_title: \"Göm Titel\",\r\n },\r\n\r\n desc: {\r\n forceColors:\r\n \"Tvingar de valda färgerna att ha prioritet över larmfärger\",\r\n },\r\n\r\n fields: {\r\n value_match: \"Matchande värde\",\r\n name: \"Text\",\r\n icon: \"Ikon-suffix\",\r\n sufix: \"Suffix\",\r\n prefix: \"Prefix\",\r\n deveui: \"Nod\",\r\n maxheight: \"Maxhöjd (ex 300 för 300px)\",\r\n scriptid: \"Skript ID\",\r\n target: \"Börvärde\",\r\n tagkey: \"Sensor\",\r\n tagkey_x: \"Sensor X-led\",\r\n tagkey_y: \"Sensor Y-led\",\r\n tagkey_x_max: \"Sensor Max X-led\",\r\n tagkey_y_max: \"Sensor Max Y-led\",\r\n forceColors: \"Tvinga färger\",\r\n decimal_rounding: \"Antal Siffror\",\r\n dashboard_id: \"Dashboard-ID\",\r\n sync_y: \"Synkronisera Y-axel\",\r\n zoom_slider: \"Visa zoom-reglage\",\r\n digital: \"Fyrkantsvåg\",\r\n alarm_id: \"Visa Larmgränser\",\r\n chart_type: \"Diagramtyp\",\r\n ignoreBody: \"Endast titel\",\r\n min_value: \"Minimumvärde\",\r\n max_value: \"Maxvärde\",\r\n axis_label: \"Axel-etikett\",\r\n default_timespan: \"Standardtidsspann\",\r\n font_style_large: {\r\n type: \"Typ\",\r\n size: \"Storlek\",\r\n weight: \"Tjocklek\",\r\n },\r\n },\r\n },\r\n\r\n fields: {\r\n title: \"Titel\",\r\n types: \"Typ\",\r\n content: \"Content\",\r\n sm: \"Storlek liten skärm\",\r\n md: \"Storlek medelstor skärm\",\r\n min: \"Min-värde\",\r\n max: \"Max-värde\",\r\n image: \"Bild\",\r\n url: \"URL\",\r\n sync_chart: `Synkronisera X-axeln för alla dataserier\r\n(när du har olika dataformat i samma graf)`,\r\n },\r\n\r\n enum: {\r\n size: { xs: \"XSMALL\", sm: \"SMALL\", md: \"MEDIUM\", lg: \"LARGE\" },\r\n types: {\r\n 0: \"Graf\",\r\n 1: \"Visarinstrument\",\r\n 2: \"Text\",\r\n 3: \"Bild\",\r\n 4: \"Karta\",\r\n 5: \"Företagsinformation\",\r\n 6: \"IFrame\",\r\n 7: \"SMHI\",\r\n 8: \"Senaste värdet\",\r\n 9: \"Tabell rådata\",\r\n 10: \"Graf\",\r\n 11: \"Bild-karta\",\r\n 12: \"Funktionsknapp\",\r\n 13: \"Nod-info\",\r\n 14: \"Förändringsgraf\",\r\n 15: \"Nod-översikt\",\r\n 16: \"360°-tiltvisare\",\r\n 17: \"Fyllnadsgrad\",\r\n 18: \"Börvärdessättare\",\r\n },\r\n },\r\n\r\n functionButtonTypes: {\r\n script: \"Skriptkörning\",\r\n input: \"Värdeinput\",\r\n navigation: \"Dashboard-länk\",\r\n downlink: \"Downlinks\",\r\n onoffSwitch: \"ON/OFF-switch\",\r\n },\r\n },\r\n\r\n weather: {\r\n title: \"SMHI Väderdata\",\r\n icon: \"Väder\",\r\n temp: \"Temperatur\",\r\n windDir: \"Vindriktning\",\r\n windSpeed: \"Vind\",\r\n humidity: \"Fukt\",\r\n thunder: \"Åska\",\r\n date: \"Datum\",\r\n precipitation: \"Nederbörd\",\r\n },\r\n\r\n contact: {\r\n title: \"Kontakta oss\",\r\n descriptionTitle: \"Sensor-Online\",\r\n description:\r\n \"Vi på SensorOnline vet att det kan vara svårt att komma igång med dina sensorer. Tveka inte att kontakta oss vid frågor eller för rådgivning.\",\r\n emailTitle: \"Email\",\r\n email: \"info@sensor-online.se\",\r\n phoneTitle: \"Telefon\",\r\n phoneOne: \"+46 (0) 500 6000 22\",\r\n phoneTwo: \"+46 (0) 733 165 100\",\r\n locationSiencepark: \"Skövde Science Park\",\r\n locationStreet: \"Kaplansgatan 16B\",\r\n locationPostalcode: \"521 32 Skövde\",\r\n locationCountry: \"Sweden\",\r\n },\r\n\r\n company: {\r\n name: \"Företag\",\r\n orgNumber: \"Organisationsnummer\",\r\n\r\n companyInfo: \"Företagsinformation\",\r\n\r\n addUser: \"Lägg till användare\",\r\n\r\n invite: \"Bjud in en användare\",\r\n inviteSent: \"Inbjudan skickad\",\r\n inviteFailed:\r\n \"Kunde inte hitta användaren. Se till att användaren är registrerad och inte redan tillhör ett företag!\",\r\n\r\n shareApp: \"Dela Applikation\",\r\n\r\n fields: {\r\n name: \"Företagsnamn\",\r\n orgNumber: \"Organisationsnummer\",\r\n postalAdress: \"Postadress\",\r\n deliveryAdress: \"Leveransadress\",\r\n contactPhonenumber: \"Kontakt telefonnummer\",\r\n invoiceAdress: \"Epost för faktura\",\r\n refrenceNmuber: \"Referensnummer\",\r\n image: \"Företagslogotyp\",\r\n },\r\n\r\n validation: {\r\n nameRequired: \"Du måste fylla i Företagsnamn\",\r\n nameMax: \"Företagsnamn kan högst vara 255 tecken\",\r\n\r\n orgNumberRequired: \"Du måste fylla i Organisationsnummer\",\r\n orgNumberFormatError: \"Fel format på Organisationsnummer\",\r\n\r\n emailRequired: \"Du måste fylla i Email\",\r\n emailFormatError: \"Ange giltig Email-address\",\r\n\r\n passwordMissmatch: \"Lösenorden matchar inte\",\r\n },\r\n },\r\n\r\n report: {\r\n title: \"Rapporter\",\r\n refrenceDateDesc:\r\n \"Referensdagen är den dagen som refereras till vid utskick av rapport, om intervallen är månadsvis väljer du dagen som den ska skickas på(1:a varje månad till exempel). Eller veckovis (vilken dag mån - fre som rapporten ska skickas ut).\",\r\n create: \"Skapa Rapport-prenumeration\",\r\n update: \"Uppdatera Rapport-prenumeration\",\r\n exportDownload: \"Raportnedladdning\",\r\n export: \"Exportera\",\r\n downloadFailed: \"Det gick inte att hämta rapporten, försök igen senare.\",\r\n noData: \"Ingen data hittades i det valda tidsspannet\",\r\n fields: {\r\n name: \"Namn\",\r\n type: \"Typ\",\r\n tempo: \"Intervall\",\r\n createdAt: \"Skapad\",\r\n updatedAt: \"Uppdaterad\",\r\n id: \"ID\",\r\n refrenceDate: \"Referensdag\",\r\n reportContacts: \"Rapport-kontakter\",\r\n lastSent: \"Senast skickad\",\r\n },\r\n\r\n tempo: {\r\n desc: {\r\n 0: \"Skickas varje dag med rapport för dagen.\",\r\n 1: \"Skickas varje måndag med rapport för veckan innan.\",\r\n 2: \"Skickas 1:a varje månad med rapport för månaden innan.\",\r\n },\r\n\r\n 0: \"Dagligen\",\r\n 1: \"Veckovis\",\r\n 2: \"Månadsvis\",\r\n },\r\n\r\n types: {\r\n regular: \"Standard\",\r\n trend: \"Förbrukning\",\r\n },\r\n },\r\n\r\n script: {\r\n name: \"Skript\",\r\n create: \"Skapa nytt Skript\",\r\n edit: \"Redigera Skript\",\r\n tagsTitle: \"Nod-ID och Sensorer\",\r\n placeHolderContent: ` // Convert the temperature to fahrenheit \r\n var tempToFahrenheit = Data.Read(\"INSERT-DEVEUI\", \"INSERT-KEY\") * 9/5 + 32;\r\n\r\n // Write the new value to a new key\r\n Data.Write(\"INSERT-DEVEUI\", \"INSERT-KEY\", tempToFahrenheit);`,\r\n examples: \"Exempel\",\r\n helpTitle: \"Exempel och hjälp\",\r\n\r\n type: {\r\n 0: \"Loopat Skript\",\r\n 1: \"Anropat Skript\",\r\n 2: \"Triggat Skript\",\r\n },\r\n\r\n fields: {\r\n name: \"Namn\",\r\n type: \"Typ\",\r\n interval: \"Intervall\",\r\n lastRun: \"Senaste körning\",\r\n enabled: \"Aktiverat\",\r\n boundTag: \"Triggande tag\",\r\n },\r\n\r\n validation: {\r\n intervalRequired: \"Detta fält måste vara ifyllt\",\r\n intervalMinValue: \"Det minsta värdet för Intervall är 0\",\r\n },\r\n },\r\n\r\n user: {\r\n name: \"Användare\",\r\n\r\n email: \"Email\",\r\n role: \"Roll\",\r\n\r\n userInfo: \"Personliga uppgifter\",\r\n\r\n loginFailed: \"Inloggning misslyckades\",\r\n signInFailed: \"Email/lösenord matchar inte försök igen\",\r\n loginSuccessful: \"Inloggad\",\r\n updateFailed: \"Uppdateringen misslyckades\",\r\n edit: \"Redigera\",\r\n forgotPassword: \"Glömt lösenord?\",\r\n\r\n fields: {\r\n firstName: \"Förnamn\",\r\n lastName: \"Efternamn\",\r\n phoneNumber: \"Telefonnummer\",\r\n email: \"Email\",\r\n password: \"Lösenord\",\r\n newPassword: \"Nytt Lösenord\",\r\n passwordConfirm: \"Bekräfta Lösenord\",\r\n\r\n phoneNumerHint:\r\n \"Hint: Använd internationell formatering. Ex för Svenskt nummer (46703292943)\",\r\n },\r\n },\r\n\r\n application: {\r\n name: \"Applikation | Applikationer\",\r\n noCompanyError: \"För att skapa en Applikation måste du ha ett företag\",\r\n applicationCreated: \"En ny applikation har skapats\",\r\n choose: \"Välj en Applikation\",\r\n create: \"Skapa en ny Applikation\",\r\n validation: {\r\n nameRequired: \"Din applikation måste ha ett namn\",\r\n nameMax: \"Namn kan högst vara 255 tecken\",\r\n },\r\n fields: {\r\n id: \"ID\",\r\n name: \"Namn\",\r\n createdAt: \"Skapad\",\r\n owner: \"Ägare\",\r\n },\r\n },\r\n\r\n alarm: {\r\n name: \"Larm\",\r\n create: \"Lägg till nytt larm\",\r\n affirmation: \"Bekräfta\",\r\n history: \"Larmhistorik\",\r\n\r\n activeAlarm: \"Alarm-varningar\",\r\n\r\n test: {\r\n title: \"Test av inställningar\",\r\n settings: \"Testa mejl och sms inställningar\",\r\n email: \"Email adress\",\r\n phonenumber: \"Telefonnummer (46....)\",\r\n },\r\n\r\n priority: {\r\n desc: {\r\n a: \"Skickar både email och sms\",\r\n b: \"Skickar endast sms\",\r\n c: \"Skickar endast email\",\r\n },\r\n },\r\n\r\n fields: {\r\n id: \"ID\",\r\n name: \"Namn\",\r\n priority: \"Prioritet\",\r\n alarmDelay: \"Fördröjning innan larm\",\r\n active: \"Larmstatus\",\r\n tagDataKey: \"Sensor\",\r\n tag: \"Nod\",\r\n message: \"Larm-meddelande\",\r\n limitHigh: \"Hög larmgräns\",\r\n limitLow: \"Låg larmgräns\",\r\n contactType: \"Kontakttyp\",\r\n alarmContacts: \"Alarm-kontakter\",\r\n activeDays: \"Aktiva dagar\",\r\n limit: \"Låg och Hög larmgräns\",\r\n activeAlarms: \"Okvitterade Larm\",\r\n messageSent: \"Skickat meddelande\",\r\n reset: \"Kvitterat\",\r\n triggered: \"Utlöst\",\r\n user: \"Kvitterat av\",\r\n value: \"Utlösande värde\",\r\n signalType: \"Typ av Signal\",\r\n digitalTrigger: \"Utlös Vid\",\r\n triggerHigh: \"Hög Signal\",\r\n triggerLow: \"Låg Signal\",\r\n advanced: \"Avancerat larm\",\r\n },\r\n\r\n validation: {\r\n nameRequired: \"Detta fält måste vara ifyllt\",\r\n max: \"Maxgränsen är 255\",\r\n },\r\n },\r\n\r\n batteryStatus: {\r\n levels: \"Batterinivåer\",\r\n value: \"Värde\",\r\n lastSeen: \"Senaste värdet\",\r\n label: \"Batterispänning\",\r\n },\r\n\r\n tagdata: {\r\n name: \"Data\",\r\n amount: \"Antal datapunkter:\",\r\n notation: \"{0} st\",\r\n latestactivity: \"Senaste aktivitet\",\r\n latestvalue: \"Senaste värdet\",\r\n defaultKey: \"Standardnyckel\",\r\n\r\n fields: {\r\n id: \"ID\",\r\n name: \"Namn\",\r\n key: \"Sensor\",\r\n value: \"Värde\",\r\n createdAt: \"Skapad\",\r\n label: \"Label\",\r\n },\r\n },\r\n\r\n tag: {\r\n choose: \"Sensor väljare\",\r\n search: \"Sök Nod\",\r\n chooseDecoder: \"Välj en decoder\",\r\n decoder: \"Decoder\",\r\n name: \"Noder\",\r\n amount: \"Antal noder:\",\r\n notation: \"{0} st\",\r\n details: \"Sensordetaljer\",\r\n removeImage: \"Ta bort bild\",\r\n chooseKey: \"Välj nyckel\",\r\n saveKeyAsDefault: \"Standard\",\r\n newKey: \"Ny Sensor\",\r\n filter: \"Filtrera Noder\",\r\n generateId: \"Generera ID\",\r\n\r\n uploadExplanation:\r\n \"Dra in din csv fil eller klicka här för att ladda upp Noder\",\r\n uploadExplanationHint: \"Du kan ladda ner en exempel fil på formatet här: \",\r\n exampleLink: \"CSV Exempel\",\r\n\r\n createSteps: {\r\n step1: \"Typ av Nod\",\r\n step2: \"Välj Application\",\r\n step3: \"Välj Decoder\",\r\n step4: \"Ange Nycklar\",\r\n step5: \"MQTT\",\r\n finish: \"Klar\",\r\n },\r\n\r\n picker: {\r\n step1: \"Välj en Nod\",\r\n step2: \"Välj en Sensor\",\r\n },\r\n\r\n tagPool: {\r\n tagPool: \"Nod-pool\",\r\n deveui: \"Deveui\",\r\n createdAt: \"Created\",\r\n hide: \"Göm från lista\",\r\n take: \"Lägg till sensor\",\r\n show: \"Visa i listan\",\r\n hiddenTags: \"Gömda noder\",\r\n },\r\n\r\n fields: {\r\n id: \"ID\",\r\n name: \"Namn\",\r\n deveui: \"DevEUI\",\r\n appKey: \"AppKey\",\r\n appEui: \"AppEUI\",\r\n applicationId: \"Applikation\",\r\n profile: \"Profil\",\r\n lat: \"Latitud\",\r\n long: \"Longitud\",\r\n latAndLng: \"Latitud och Longitud\",\r\n image: \"Bild på installation\",\r\n battery: \"Batterinivå\",\r\n activeAlarm: \"Larmar\",\r\n activeData: \"Aktiv\",\r\n latestValue: \"Senaste Värde\",\r\n location: \"Placering\",\r\n dataPoints: \"Datapunkter/24h\",\r\n type: \"Typ\",\r\n nodeType: \"Nod Typ\",\r\n },\r\n\r\n nodeTypes: {\r\n 0: \"LORA\",\r\n 1: \"API\",\r\n 2: \"MQTT\",\r\n 3: \"NR\",\r\n },\r\n },\r\n\r\n license: {\r\n license: \"Licens\",\r\n licensee: \"Licenshavare\",\r\n coveredFeatures: \"Täckt Funktionalitet\",\r\n fields: {\r\n email: \"Email\",\r\n name: \"Namn\",\r\n maxCompanies: \"Max Antal Företag\",\r\n decoderIncluded: \"Decoder Inkluderad\",\r\n whiteLabel: \"White-Label\",\r\n },\r\n },\r\n\r\n validation: {\r\n required: \"{0} måste vara ifylld\",\r\n max: \"{0} får max vara {1} tecken\",\r\n requiredSingle: \"Detta fält måste vara ifyllt\",\r\n toLong: \"Detta fält överstiger maxlängd\",\r\n contryCodeError:\r\n \"Glöm inte att telefonnumret måste ha en landskod (ex 4607xxxxxxxx)\",\r\n passwordMissmatch: \"Lösenorden matchar inte\",\r\n deveuiConflict: \"Nod med detta DevEUI finns redan på servern\",\r\n },\r\n\r\n warning: {\r\n amount: \"Aktiva Larm:\",\r\n notation: \"{0} st\",\r\n },\r\n\r\n mqtt: {\r\n settingsTabTitle: \"MQTT Brokers\",\r\n brokerListTitle: \"MQTT Brokers\",\r\n createTitle: \"Lägg till MQTT Broker\",\r\n updateTitle: \"Uppdatera MQTT Broker\",\r\n selectBroker: \"Välj en MQTT Broker\",\r\n testBroker: \"Testa anslutning\",\r\n topicCreateTitle: \"MQTT Topics\",\r\n topicDescription:\r\n \"Dem topics som är valda kommer prenumereras på genom den valda MQTT Broker. Varje topic ska vara specifik för Noden, om wildcards (+) används i topic bör det inte vara ett 'Multilevel Wildcard (#)', om det används kommer det ändras till ett vanligt wildcard.\",\r\n topicAdd: \"Lägg till en Topic\",\r\n topicAlreadyExists: \"Den valda Topicen finns redan på denna enheten\",\r\n createTopicTitle: \"Skapa en ny Prenumeration\",\r\n\r\n meta: {\r\n fields: {\r\n topic: \"Topic\",\r\n publishTopic: \"Publicerings Topic (Valfri)\",\r\n publishTopicHint: \"Kan inte vara samma Topic som en prenumeration\",\r\n },\r\n },\r\n\r\n sslmodes: {\r\n 0: \"None\",\r\n 1: \"CA Signed server certificate\",\r\n 2: \"Self-signed server certificate\",\r\n },\r\n\r\n versions: {\r\n 0: \"3.1.1\",\r\n 1: \"3.1.0\",\r\n },\r\n\r\n validation: {\r\n notfound: \"Kunde inte hitta Broker\",\r\n },\r\n\r\n fields: {\r\n status: \"Status\",\r\n hostname: \"Hostnamn\",\r\n port: \"Port\",\r\n version: \"MQTT Version\",\r\n sslmode: \"SSL/TLS Mode\",\r\n CACertificate: \"CA Certificate\",\r\n ClientCertificate: \"Client Certificate\",\r\n ClientKey: \"Client Key\",\r\n KeyPassPhrase: \"Key Passphrase (Optional)\",\r\n useAuth: \"Använd Autentisering\",\r\n username: \"Användarnamn\",\r\n password: \"Lösenord\",\r\n isGlobal: \"Är Global Broker\",\r\n\r\n metrics: {\r\n messages: {\r\n total: \"Totalt antal Meddelanden\",\r\n week: \"Meddelanden denna Vecka\",\r\n day: \"Meddelanden denna Dag\",\r\n },\r\n\r\n publish: {\r\n total: \"Totalt antal Publicerade\",\r\n week: \"Publicerat denna Vecka\",\r\n day: \"Publicerat denna Dag\",\r\n },\r\n },\r\n },\r\n },\r\n};\r\n","import en from \"./locales/en\";\r\nimport sv from \"./locales/sv\";\r\n\r\nexport default {\r\n sv,\r\n en\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardCategoryViewer.vue?vue&type=style&index=0&id=a4dca53a&prod&lang=css&\"","export default {\r\n HttpStatus: {\r\n ok: 200,\r\n created: 201,\r\n accepted: 202,\r\n no_content: 204,\r\n bad_request: 400,\r\n unauthorized: 401,\r\n forbidden: 403,\r\n not_found: 404,\r\n conflict: 409,\r\n },\r\n\r\n checkForConflict(response) {\r\n if (\r\n response.status === this.HttpStatus.bad_request &&\r\n response.data.errors != null &&\r\n response.data.errors.Deveui != null\r\n )\r\n return true;\r\n else return false;\r\n },\r\n};\r\n\r\nexport function getAuthHeader(user) {\r\n return {\r\n \"Access-Control-Allow-Origin\": true,\r\n Authorization: `Bearer ${user.token}`,\r\n \"Content-Type\": \"application/json\",\r\n };\r\n}\r\n","import Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport store from \"@/stores/store\";\r\nimport i18n from \"@/plugins/i18n.js\";\r\nimport restrictHelper from \"./_helpers/RestrictHelper.js\"\r\n\r\n// Import components\r\n// const Home = () => import(\"@/views/Home.vue\");\r\nconst Home = () => import(\"@/views/Landing.vue\");\r\nconst CommonParent = () => import(\"@/views/CommonParent.vue\");\r\nconst CleanDashboard = () => import(\"@/views/CleanDashboard.vue\");\r\nconst AdminDashboard = () => import(\"@/views/AdminDashboard.vue\");\r\n\r\nconst Company = () => import(\"@/views/company/Company.vue\");\r\nconst CompanyUsers = () => import(\"@/components/company/Users.vue\");\r\nconst CompanyEdit = () => import(\"@/components/company/Edit.vue\");\r\nconst CompanyCreate = () => import(\"@/components/company/Create.vue\");\r\nconst CreateUser = () => import(\"@/components/company/CreateUser.vue\");\r\nconst CompanyApps = () => import(\"@/components/company/Applications.vue\");\r\n\r\nconst UserCompanyRegister = () => import(\"@/components/user/Register\");\r\nconst EditUser = () => import(\"@/components/user/Detail\");\r\n\r\nconst ForgotPassword = () => import(\"@/views/ForgotPassword.vue\");\r\nconst ForgotPasswordComponent = () =>\r\n import(\"@/components/password/ForgotPasswordComponent.vue\");\r\nconst NewPassword = () => import(\"@/components/password/NewPassword.vue\");\r\n\r\nconst Application = () => import(\"@/views/Application.vue\");\r\nconst ApplicationCreate = () => import(\"@/components/application/Create.vue\");\r\nconst ApplicationEdit = () => import(\"@/components/application/Edit.vue\");\r\n\r\nconst Tag = () => import(\"@/views/Tag.vue\");\r\nconst TagList = () => import(\"@/components/tag/Tag.vue\");\r\nconst TagCreate = () => import(\"@/components/tag/Create.vue\");\r\nconst TagPool = () => import(\"@/components/tag/TagPool.vue\");\r\n\r\nconst TagDetail = () => import(\"@/views/TagDetail.vue\");\r\n\r\nconst Alarm = () => import(\"@/views/Alarm.vue\");\r\nconst AlarmCreate = () => import(\"@/components/alarm/Create.vue\");\r\nconst AlarmEdit = () => import(\"@/components/alarm/Edit.vue\");\r\nconst AlarmList = () => import(\"@/components/alarm/AlarmList.vue\");\r\nconst ActiveAlarms = () => import(\"@/components/alarm/ActiveAlarms.vue\");\r\n\r\nconst Login = () => import(\"@/views/Login.vue\");\r\nconst Register = () => import(\"@/views/Register.vue\");\r\nconst Logout = () => import(\"@/views/Logout.vue\");\r\n\r\nconst ScriptView = () => import(\"@/views/Script.vue\");\r\nconst ScriptList = () => import(\"@/components/script/ScriptList.vue\");\r\nconst ScriptCreate = () => import(\"@/components/script/ScriptCreate.vue\");\r\nconst ScriptEdit = () => import(\"@/components/script/ScriptEdit.vue\");\r\n\r\nconst Report = () => import(\"@/views/Report.vue\");\r\nconst ReportList = () => import(\"@/components/report/ReportList.vue\");\r\nconst ReportCreate = () => import(\"@/components/report/ReportCreate.vue\");\r\nconst ReportEdit = () => import(\"@/components/report/ReportEdit.vue\");\r\nconst DashboardModule = () => import(\"@/components/common/ModuleGrid\");\r\nconst DashboardPublic = () => import(\"@/views/DashboardPublic.vue\");\r\n\r\nconst Contact = () => import(\"@/views/Contact.vue\");\r\nconst News = () => import(\"@/views/News.vue\");\r\nconst SettingView = () => import(\"@/views/Setting.vue\");\r\nconst Settings = () => import(\"@/components/setting/SettingEdit.vue\");\r\n\r\nconst SingalTest = () => import(\"@/views/SignalTest.vue\");\r\nconst PeekSignalTest = () =>\r\n import(\"@/components/signaltest/PeekSignalTest.vue\");\r\n\r\nconst GatewayView = () => import(\"@/views/Gateway.vue\");\r\nconst GatewayList = () => import(\"@/components/gateway/GatewayList.vue\");\r\nconst GatewayCreate = () => import(\"@/components/gateway/CreateGateway.vue\");\r\n\r\nconst RoleContainer = () => import(\"@/views/RolesContainer.vue\");\r\nconst RoleList = () => import(\"@/components/roles/RoleList.vue\");\r\nconst RoleCreate = () => import(\"@/components/roles/RoleCreate.vue\");\r\nconst RoleEdit = () => import(\"@/components/roles/RoleEdit.vue\");\r\n\r\n\r\nimport { Roles } from \"@/_helpers/Role\";\r\n\r\nVue.use(Router);\r\n\r\nconst router = new Router({\r\n routes: [\r\n {\r\n path: \"/\",\r\n name: \"home\",\r\n component: Home,\r\n meta: { authorize: [] },\r\n },\r\n\r\n {\r\n path: \"/settings\",\r\n component: SettingView,\r\n meta: { authorize: Roles.CompanyOrUser },\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"setting/edit\",\r\n component: Settings,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/dashboard\",\r\n name: \"dashboardChooser\",\r\n component: CleanDashboard,\r\n meta: { permit: \"Dashboard.View\" },\r\n },\r\n\r\n {\r\n path: \"/dashboard/:id\",\r\n component: DashboardModule,\r\n meta: { permit: \"Dashboard.View\" },\r\n },\r\n\r\n {\r\n path: \"/public/:id\",\r\n component: DashboardPublic,\r\n meta: { permit: \"ALL\" },\r\n },\r\n\r\n {\r\n path: \"/alarm\",\r\n component: Alarm,\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"alarm\",\r\n component: AlarmList,\r\n meta: { permit: \"Alarm.View\" },\r\n },\r\n {\r\n path: \"active\",\r\n component: ActiveAlarms,\r\n meta: { permit: \"Alarm.View\" },\r\n },\r\n {\r\n path: \"create\",\r\n component: AlarmCreate,\r\n meta: { permit: \"Alarm.Create\" },\r\n },\r\n {\r\n path: \":id\",\r\n component: AlarmEdit,\r\n meta: { permit: \"Alarm.Update\" },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/gateways\",\r\n component: GatewayView,\r\n children: [\r\n {\r\n path: \"\",\r\n component: GatewayList,\r\n meta: { permit: \"Gateway.View\" },\r\n },\r\n {\r\n path: \"create\",\r\n component: GatewayCreate,\r\n meta: { permit: \"Gateway.Create\" },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/signaltest\",\r\n component: CommonParent,\r\n meta: { permit: \"SignalTest.View\" },\r\n children: [\r\n {\r\n path: \"\",\r\n component: SingalTest,\r\n meta: { permit: \"SignalTest.View\" },\r\n },\r\n {\r\n path: \"peek/:id\",\r\n component: PeekSignalTest,\r\n meta: { permit: \"SignalTest.View\" },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/script\",\r\n component: ScriptView,\r\n children: [\r\n {\r\n path: \"\",\r\n component: ScriptList,\r\n meta: { permit: \"Script.View\" },\r\n },\r\n\r\n {\r\n path: \"create\",\r\n component: ScriptCreate,\r\n meta: { permit: \"Script.Create\" },\r\n },\r\n\r\n {\r\n path: \":id\",\r\n component: ScriptEdit,\r\n meta: { permit: \"Script.Update\" },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/company\",\r\n component: Company,\r\n children: [\r\n {\r\n path: \"\",\r\n component: CompanyUsers,\r\n meta: { permit: \"Company.View\" },\r\n },\r\n {\r\n path: \"edit\",\r\n component: CompanyEdit,\r\n meta: { permit: \"Company.Update\" },\r\n },\r\n {\r\n path: \"create\",\r\n component: CompanyCreate,\r\n meta: { permit: \"Company.Create\" },\r\n },\r\n {\r\n path: \"applications\",\r\n component: CompanyApps,\r\n meta: { permit: \"Application.View\" },\r\n },\r\n {\r\n path: \"usercreate\",\r\n component: CreateUser,\r\n meta: { permit: \"User.Create\" },\r\n },\r\n {\r\n path: \"user/:id\",\r\n component: EditUser,\r\n meta: { permit: \"User.Update\" },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/forgot\",\r\n component: ForgotPassword,\r\n children: [\r\n {\r\n path: \"\",\r\n component: ForgotPasswordComponent,\r\n },\r\n {\r\n path: \":id\",\r\n component: NewPassword,\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/application\",\r\n component: Application,\r\n children: [\r\n {\r\n path: \"\",\r\n component: CompanyApps,\r\n meta: { permit: \"Application.View\" },\r\n },\r\n {\r\n path: \"create\",\r\n component: ApplicationCreate,\r\n meta: { permit: \"Application.Create\" },\r\n },\r\n {\r\n path: \":id\",\r\n component: ApplicationEdit,\r\n meta: { permit: \"Application.Update\" },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/superadmin\",\r\n component: AdminDashboard,\r\n meta: { authorize: Roles.SuperAdmin },\r\n },\r\n\r\n {\r\n path: \"/report\",\r\n component: Report,\r\n children: [\r\n {\r\n path: \"\",\r\n component: ReportList,\r\n meta: { permit: \"Report.View\" },\r\n },\r\n {\r\n path: \"create\",\r\n component: ReportCreate,\r\n meta: { permit: \"Report.Create\" },\r\n },\r\n\r\n {\r\n path: \":id\",\r\n component: ReportEdit,\r\n meta: { permit: \"Report.Update\" },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/tag\",\r\n component: Tag,\r\n children: [\r\n {\r\n path: \"\",\r\n component: TagList,\r\n meta: { permit: \"Tag.View\" },\r\n },\r\n {\r\n path: \"create\",\r\n component: TagCreate,\r\n meta: { permit: \"Tag.Create\" },\r\n },\r\n {\r\n path: \"create/:deveui\",\r\n component: TagCreate,\r\n meta: { permit: \"Tag.Update\" },\r\n },\r\n {\r\n path: \"pool\",\r\n component: TagPool,\r\n meta: { permit: \"TagPool.View\" },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/roles\",\r\n component: RoleContainer,\r\n children: [\r\n {\r\n path: \"\",\r\n component: RoleList,\r\n meta: { permit: \"Roles.View\" }\r\n },\r\n {\r\n path: \"create\",\r\n component: RoleCreate,\r\n meta: { permit: \"Roles.Create\" }\r\n },\r\n\r\n {\r\n path: \"edit/:id\",\r\n component: RoleEdit,\r\n meta: { permit: \"Roles.Update\" }\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: \"/tagdetails/:deveui\",\r\n component: TagDetail,\r\n meta: { permit: \"Tag.View\" },\r\n },\r\n\r\n {\r\n path: \"/register\",\r\n component: Register,\r\n meta: { permit: \"Company.Create\" },\r\n children: [\r\n {\r\n path: \"\",\r\n component: UserCompanyRegister,\r\n meta: { permit: \"Company.Create\" },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"/login\",\r\n name: \"Login\",\r\n component: Login,\r\n },\r\n {\r\n path: \"/logout\",\r\n name: \"Logout\",\r\n component: Logout,\r\n },\r\n\r\n {\r\n path: \"/contact\",\r\n name: \"Contact\",\r\n component: Contact,\r\n },\r\n\r\n {\r\n path: \"/news\",\r\n name: \"News\",\r\n component: News,\r\n },\r\n ],\r\n\r\n duplicateNavigationPolicy: \"reload\",\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n if (\r\n store.state.languages !== undefined &&\r\n store.state.languages.language &&\r\n store.state.languages.language !== i18n.locale\r\n ) {\r\n i18n.locale = store.state.languages.language;\r\n next();\r\n } else if (\r\n store.state.languages === undefined ||\r\n !store.state.languages.language\r\n ) {\r\n store\r\n .dispatch(\"languages/setLanguage\", navigator.languages, { root: true })\r\n .then(() => {\r\n i18n.locale = store.state.languages.language;\r\n next();\r\n });\r\n }\r\n\r\n if (to.meta.authorize) {\r\n if (restrictHelper.methods.permitted(to.meta.permit)) {\r\n next();\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n next();\r\n});\r\n\r\nexport default router;\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/mqtt\";\r\n\r\nexport default {\r\n getBrokers(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/company/${companyId}`, config);\r\n },\r\n\r\n getBrokersWithMetrics(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/metrics/company/${companyId}`, config);\r\n },\r\n\r\n getBroker(user, brokerId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${brokerId}`, config);\r\n },\r\n\r\n createBroker(user, companyId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/${companyId}`, payload, config);\r\n },\r\n\r\n updateBroker(user, brokerId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/${brokerId}`, payload, config);\r\n },\r\n\r\n deleteBroker(user, brokerId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${brokerId}`, config);\r\n },\r\n\r\n getMqttMeta(user, mqttMetaId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/mqttmeta/${mqttMetaId}`, config);\r\n },\r\n\r\n createMqttMeta(user, brokerId, deveui, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/mqttmeta/${brokerId}/${deveui}`,\r\n payload,\r\n config\r\n );\r\n },\r\n\r\n updateMqttMeta(user, mqttMetaId, brokerId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n var url = `${resource}/mqttmeta/${brokerId}/null`;\r\n if (mqttMetaId) url = `${resource}/mqttmeta/${brokerId}/${mqttMetaId}`;\r\n return Repository.put(url, payload, config);\r\n },\r\n\r\n deleteTopic(user, topicId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/mqttmeta/topic/${topicId}`, config);\r\n },\r\n\r\n testBroker(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/mqttbroker/test`, payload, config);\r\n },\r\n};\r\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=4094d248&prod&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.SO_API_BASE_URL != null)?_c('v-app',{staticClass:\"grey lighten-4\",staticStyle:{\"max-height\":\"100vh\"}},[(_vm.$router.currentRoute.name !== 'home')?_c('NavBar'):_vm._e(),_c('v-main',{class:{\n sientificLight: !this.darkmode && _vm.userSettings.theme != 'Colors',\n sientificDark: this.darkmode && _vm.userSettings.theme != 'Colors',\n backg: _vm.userSettings.theme == 'Colors' && !this.darkmode,\n backgdark: _vm.userSettings.theme == 'Colors' && this.darkmode,\n },staticStyle:{\"padding\":\"0\"}},[_c('router-view')],1),(_vm.message != '')?_c('v-snackbar',{attrs:{\"bottom\":\"\",\"right\":\"\",\"timeout\":3000,\"color\":_vm.alertType == 'error' ? 'red' : 'green'},model:{value:(_vm.refresh),callback:function ($$v) {_vm.refresh=$$v},expression:\"refresh\"}},[_vm._v(_vm._s(_vm.message))]):_vm._e(),(_vm.$router.currentRoute.name === 'dashboardChooser')?_c('v-footer',{attrs:{\"app\":\"\"}},[_c('span',[_vm._v(\" \"+_vm._s(this.globalSettings.powered_by ? this.globalSettings.powered_by : \"IoT Application And Hardware AB\"))])]):_vm._e(),(_vm.permitted('Tag.View'))?_c('event-hub'):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('nav',[_c('v-app-bar',{style:(_vm.userSettings != undefined && _vm.userSettings.toolbarTransparent\n ? 'background: transparent;box-shadow:none;'\n : ''),attrs:{\"app\":\"\",\"clipped\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}),_c('v-spacer'),(_vm.status.loggedIn)?_c('div',{staticClass:\"d-flex justify-center align-center\"},[_c('search'),(_vm.permitted('Dashboard.View'))?_c('DashboardTreeSelect'):_vm._e(),(_vm.permitted('Settings.GetSettings', ''))?_c('Notification'):_vm._e()],1):_vm._e()],1),_c('v-navigation-drawer',{class:{\n darkSientific: _vm.darkTheme && _vm.userSettings.theme == 'Scientific',\n lightSientific: !_vm.darkTheme && _vm.userSettings.theme == 'Scientific',\n lightDrawer: !_vm.darkTheme && _vm.userSettings.theme != 'Scientific',\n darkDrawer: _vm.darkTheme && _vm.userSettings.theme != 'Scientific',\n primary: _vm.userSettings.theme != 'Scientific',\n 'white--text': !_vm.darkTheme,\n 'dark--text': _vm.darkTheme,\n },attrs:{\"app\":\"\",\"temporary\":!_vm.userSettings.stickySideMenu},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-list',[_c('v-list-item',[_c('v-list-item-content',[_c('v-img',{attrs:{\"height\":\"75px\",\"width\":\"200px\",\"src\":_vm.whiteLabel\n ? 'so-white-label.png'\n : _vm.darkTheme\n ? '/sensor-online-dark.svg'\n : '/sensor-online.svg'}})],1)],1),_c('v-divider'),_vm._l((_vm.viewableLinks),function(link){return _c('v-list-item',{key:link.text,attrs:{\"router\":\"\",\"to\":link.route}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(_vm._s(link.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(link.text)+\" \")])],1)],1)}),_c('v-divider'),_c('v-list-item',{attrs:{\"href\":this.SO_API_BASE_URL,\"target\":\"_blank\"}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(_vm._s(_vm.apiLink.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.apiLink.text)+\" \")])],1)],1),_c('v-list-item',{attrs:{\"href\":_vm.manualLink.externalRoute,\"target\":\"_blank\"}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(_vm._s(_vm.manualLink.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.manualLink.text)+\" \")])],1)],1),(_vm.showShopLink == true)?_c('v-list-item',{attrs:{\"href\":_vm.sensorShopLink.externalRoute,\"target\":\"_blank\"}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(_vm._s(_vm.sensorShopLink.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.sensorShopLink.text)+\" \")])],1)],1):_vm._e(),_c('v-divider'),_c('v-list-item',[_c('v-list-item-content',[_c('v-switch',{attrs:{\"label\":_vm.$t('common.darkTheme')},model:{value:(_vm.darkTheme),callback:function ($$v) {_vm.darkTheme=$$v},expression:\"darkTheme\"}})],1)],1),_c('v-divider'),(_vm.isSuperAdmin() == true)?_c('v-container',{staticClass:\"mg-5\"},[_c('v-subheader',{staticClass:\"justify-center\",attrs:{\"elevation\":\"100\"}},[_c('v-label',[_vm._v(\" \"+_vm._s(_vm.$t(\"common.switchCompany\"))+\" \")])],1),_c('v-select',{staticStyle:{\"margin-bottom\":\"5rem\"},attrs:{\"items\":_vm.companies,\"placeholder\":_vm.$t('routes.company'),\"item-text\":\"name\",\"item-value\":\"companyId\",\"outlined\":\"\",\"hide-details\":\"\"},on:{\"change\":_vm.submit},model:{value:(_vm.company),callback:function ($$v) {_vm.company=$$v},expression:\"company\"}})],1):_vm._e()],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-menu',{attrs:{\"bottom\":\"\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"fab\":\"\",\"small\":\"\"}},'v-btn',attrs,false),on),[_c('v-badge',{attrs:{\"content\":_vm.notifications.length,\"value\":_vm.notifications.length,\"color\":\"error\",\"overlap\":\"\"}},[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(_vm._s(_vm.notifications.length > 0 ? \"mdi-bell-ring\" : \"mdi-bell\"))])],1)],1)]}}]),model:{value:(_vm.notificationTray),callback:function ($$v) {_vm.notificationTray=$$v},expression:\"notificationTray\"}},[_vm._l((_vm.notifications),function(notification){return _c('v-list',{key:notification.notificationId,staticClass:\"hide-scrollbar\",staticStyle:{\"overflow\":\"scroll\",\"padding\":\"1rem\"},attrs:{\"max-width\":\"600px\",\"min-height\":\"80px\",\"max-height\":\"600px\"}},[_c('v-list-item',{on:{\"click\":function($event){return _vm.clearNotifications(notification.notificationId, notification.route)}}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(notification.label)+\" \")]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(notification.message)+\" \")])],1)],1),_c('v-divider')],1)}),(_vm.notifications.length <= 0)?_c('v-list',{attrs:{\"max-width\":\"600px\",\"min-width\":\"450px\"}},[_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.$t(\"notifications.noNotifications\")))]),_c('v-list-item-subtitle')],1)],1):_vm._e(),_c('v-btn',{attrs:{\"color\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.clearNotifications(null)}}},[_vm._v(_vm._s(_vm.$t(\"notifications.clearNotifications\")))])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n {{\r\n notifications.length > 0 ? \"mdi-bell-ring\" : \"mdi-bell\"\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ notification.label }}\r\n \r\n \r\n {{ notification.message }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{\r\n $t(\"notifications.noNotifications\")\r\n }}\r\n \r\n \r\n \r\n {{\r\n $t(\"notifications.clearNotifications\")\r\n }}\r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notification.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notification.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Notification.vue?vue&type=template&id=3d3ef689&\"\nimport script from \"./Notification.vue?vue&type=script&lang=js&\"\nexport * from \"./Notification.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Notification.vue?vue&type=style&index=0&id=3d3ef689&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"max-width\":\"600\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"color\":\"primary\",\"text\":\"\"}},on),[_vm._v(\" \"+_vm._s(_vm.$t(\"dashboard.selectDashboard\"))+\" \")])]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"dashboard.navigationTitle\")))]),_c('v-card-text',[(_vm.dialog)?_c('DashboardCategoryViewer',{on:{\"close\":function($event){_vm.dialog = false}}}):_vm._e()],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary lighten-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.dialog = false}}},[_vm._v(_vm._s(_vm.$t(\"common.close\")))])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n {{ $t(\"dashboard.selectDashboard\") }}\r\n \r\n \r\n \r\n {{ $t(\"dashboard.navigationTitle\") }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n {{\r\n $t(\"common.close\")\r\n }}\r\n \r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardTreeSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardTreeSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DashboardTreeSelect.vue?vue&type=template&id=b6f82782&\"\nimport script from \"./DashboardTreeSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./DashboardTreeSelect.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"searchbox\"},[_c('v-text-field',{staticStyle:{\"max-width\":\"400px\",\"justify-self\":\"center\",\"align-self\":\"center\"},attrs:{\"prepend-inner-icon\":\"mdi-magnify\",\"label\":\"Search\",\"counter\":\"\",\"hide-details\":\"\",\"autocomplete\":\"off\"},on:{\"change\":_vm.search,\"keydown\":_vm.search,\"focus\":function($event){_vm.showResults = true},\"blur\":_vm.blur},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),(_vm.showResults == true)?_c('v-card',{staticClass:\"item-box\"},[(Object.keys(_vm.items).length <= 0 && !_vm.loading)?_c('div',[_c('h4',{staticStyle:{\"padding\":\"1rem\"}},[_vm._v(_vm._s(_vm.$t(\"common.nothingToSee\")))])]):_vm._e(),(_vm.loading)?_c('v-progress-linear',{staticStyle:{\"wdith\":\"100%\"},attrs:{\"height\":5,\"color\":\"primary\",\"indeterminate\":\"\"}}):_vm._e(),_vm._l((_vm.items),function(value,key){return _c('div',{key:key,staticClass:\"item-category\",style:(`background: ${_vm.typeColor(key)}40`)},[_c('h3',[_vm._v(_vm._s(_vm.$t(`common.searchType.${key}`)))]),_c('v-divider',{attrs:{\"color\":_vm.typeColor(key)}}),_vm._l((value),function(item,i){return _c('div',{key:i,staticClass:\"item\"},[_c('h5',{staticClass:\"text--darken\",attrs:{\"href\":_vm.getRoute(item)},on:{\"mousedown\":(e) => _vm.navigate(e, item)}},[_vm._v(\" \"+_vm._s(item.title)+\" \")]),_c('p',[_vm._v(_vm._s(item.description))])])}),_c('v-divider',{attrs:{\"color\":_vm.typeColor(key)}})],2)})],2):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n\r\n \r\n \r\n {{ $t(\"common.nothingToSee\") }}\r\n \r\n \r\n\r\n \r\n {{ $t(`common.searchType.${key}`) }}\r\n \r\n \r\n navigate(e, item)\"\r\n class=\"text--darken\"\r\n >\r\n {{ item.title }}\r\n \r\n {{ item.description }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Search.vue?vue&type=template&id=39ccc5df&scoped=true&\"\nimport script from \"./Search.vue?vue&type=script&lang=js&\"\nexport * from \"./Search.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Search.vue?vue&type=style&index=0&id=39ccc5df&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"39ccc5df\",\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ link.icon }}\r\n \r\n \r\n \r\n {{ link.text }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ apiLink.icon }}\r\n \r\n \r\n \r\n {{ apiLink.text }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ manualLink.icon }}\r\n \r\n \r\n \r\n {{ manualLink.text }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ sensorShopLink.icon }}\r\n \r\n \r\n \r\n {{ sensorShopLink.text }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ $t(\"common.switchCompany\") }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??ref--13-1!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??ref--13-1!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=43846a08&scoped=true&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=43846a08&prod&lang=css&\"\nimport style1 from \"./NavBar.vue?vue&type=style&index=1&id=43846a08&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"43846a08\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-btn',{staticClass:\"event-container-button slide-out\",staticStyle:{\"right\":\"0px\"},attrs:{\"fab\":\"\",\"small\":\"\",\"dark\":\"\",\"color\":\"grey darken-2\",\"fixed\":\"\",\"right\":\"\"},on:{\"click\":function($event){return _vm.openWindow()}}},[_c('v-icon',[_vm._v(\"mdi-connection\")])],1),_c('div',{staticClass:\"event-container slide-out\",style:(`width: ${_vm.window ? _vm.containerWidth : '0px'} `)},[_c('div',{staticClass:\"event-container-header\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"small\":\"\",\"dark\":\"\",\"color\":\"grey darken-2\"},on:{\"click\":function($event){_vm.window = !_vm.window}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1),_c('v-autocomplete',{staticClass:\"pl-2\",attrs:{\"items\":_vm.searchTags,\"filled\":\"\",\"chips\":\"\",\"item-text\":\"nameWithDeveui\",\"return-object\":\"\",\"multiple\":\"\",\"dark\":\"\",\"placeholder\":_vm.$t('tag.filter'),\"label\":_vm.$t('tag.filter')},scopedSlots:_vm._u([{key:\"selection\",fn:function(data){return [_c('v-chip',_vm._b({staticStyle:{\"color\":\"white\"},attrs:{\"input-value\":data.selected,\"color\":\"#2e4250\",\"close\":\"\"},on:{\"click\":data.select,\"click:close\":function($event){return _vm.remove(data.item)}}},'v-chip',data.attrs,false),[_vm._v(_vm._s(data.item.name))])]}}]),model:{value:(_vm.filterNodes),callback:function ($$v) {_vm.filterNodes=$$v},expression:\"filterNodes\"}})],1),(_vm.window && _vm.events.length <= 0)?_c('div',{staticClass:\"events-loading\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}}),_c('h4',[_vm._v(_vm._s(_vm.$t(\"eventhub.waiting\")))])],1):_vm._e(),(_vm.window)?_c('div',{staticClass:\"event-messages-container\"},_vm._l((_vm.filteredEvents),function(event){return _c('div',{key:event.id,staticClass:\"event-message\"},[_c('div',{staticClass:\"event-message-header\"},[_c('h3',[_vm._v(\" \"+_vm._s(event.tag.name)+\" \")]),_c('h5',[_vm._v(\" \"+_vm._s(_vm.distanceAgo(event.date))+\" \")])]),_c('span',{staticClass:\"font-size: 1rem\"}),_c('pre',{domProps:{\"innerHTML\":_vm._s(\n event.data\n ? _vm.syntaxHighlight(JSON.stringify(event.data, undefined, 2))\n : ''\n )}})])}),0):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n mdi-connection\r\n \r\n \r\n \r\n mdi-close\r\n \r\n\r\n \r\n \r\n {{ data.item.name }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ $t(\"eventhub.waiting\") }}\r\n \r\n\r\n \r\n \r\n \r\n \r\n {{ event.tag.name }}\r\n \r\n\r\n \r\n {{ distanceAgo(event.date) }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventHub.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventHub.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EventHub.vue?vue&type=template&id=78e960c6&\"\nimport script from \"./EventHub.vue?vue&type=script&lang=js&\"\nexport * from \"./EventHub.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EventHub.vue?vue&type=style&index=0&id=78e960c6&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {{ message }}\r\n\r\n \r\n \r\n {{\r\n this.globalSettings.powered_by\r\n ? this.globalSettings.powered_by\r\n : \"IoT Application And Hardware AB\"\r\n }}\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??ref--13-1!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??ref--13-1!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4094d248&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=4094d248&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport Vuetify from \"vuetify/lib\";\r\nimport \"vuetify/dist/vuetify.min.css\";\r\nimport \"@mdi/font/css/materialdesignicons.css\";\r\nimport { colors } from \"vuetify/lib\";\r\n\r\nVue.use(Vuetify);\r\n\r\nconst opts = {\r\n iconfont: \"mdi\",\r\n theme: {\r\n dark: false,\r\n themes: {\r\n light: {\r\n primary: \"#2196F3\",\r\n accent: colors.blue.accent1,\r\n success: colors.green,\r\n info: colors.yellow.accent3,\r\n error: colors.red.accent1,\r\n background: colors.amber.accent1,\r\n },\r\n dark: {\r\n primary: colors.blue.darken3, //\"#5b4fd6\",\r\n secondary: colors.blue.darken1,\r\n accent: colors.lightBlue.accent4,\r\n success: colors.green,\r\n info: colors.yellow.accent3,\r\n error: colors.red.accent1,\r\n },\r\n },\r\n },\r\n};\r\n\r\nexport default new Vuetify(opts);","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"7\"}},[_c('vc-date-picker',{staticStyle:{\"max-width\":\"100%\"},attrs:{\"mode\":\"range\",\"is-inline\":\"\",\"is-range\":\"\"},model:{value:(_vm.ranges),callback:function ($$v) {_vm.ranges=$$v},expression:\"ranges\"}})],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"5\"}},[_c('v-row',_vm._l((_vm.setRanges),function(r){return _c('v-col',{key:r.index,attrs:{\"sm\":\"12\",\"md\":\"12\"}},[_c('v-chip',{staticClass:\"text-center\",staticStyle:{\"width\":\"100%\"},attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.changeRange(r.range)}}},[_vm._v(_vm._s(r.displayName))])],1)}),1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ r.displayName }}\r\n \r\n \r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DatePicker.vue?vue&type=template&id=2b982a75&\"\nimport script from \"./DatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { mapActions, mapState } from \"vuex\";\r\n\r\nexport default {\r\n computed: {\r\n ...mapState(\"settings\", [\"moduleSettings\"]),\r\n },\r\n methods: {\r\n ...mapActions(\"settings\", [\"addModuleSetting\"]),\r\n\r\n storeTimeOffset(moduleId, timeOffset) {\r\n this.addModuleSetting({ moduleId, timeOffset });\r\n },\r\n\r\n getModuleSettingsTimeOffset(moduleId) {\r\n if (moduleId != undefined || moduleId != null)\r\n return this.moduleSettings[moduleId] != undefined ||\r\n this.moduleSettings[moduleId] != null\r\n ? this.moduleSettings[moduleId]\r\n : undefined;\r\n\r\n return undefined;\r\n },\r\n },\r\n};\r\n","export default {\r\n computed: {\r\n isInsideDashboard() {\r\n let reg = this.$route.path.match(\r\n /^\\/dashboard\\/((?:[^\\\\/]+?))(?:\\/(?=$))?$/i\r\n );\r\n\r\n return reg != null && reg.length > 0;\r\n }\r\n },\r\n};\r\n","import { format, formatDistance } from \"date-fns\";\r\nimport i18n from \"@/plugins/i18n.js\";\r\nimport { sv } from \"date-fns/locale\";\r\n\r\nexport default {\r\n methods: {\r\n humanDate(date, formatString) {\r\n return date !== undefined && date !== null\r\n ? format(\r\n new Date(date),\r\n formatString !== undefined ? formatString : \"dd MMM - HH:mm\"\r\n )\r\n : \"N/A\";\r\n },\r\n\r\n timeFromDays(days) {\r\n return days * 24 * 60 * 60 * 1000;\r\n },\r\n\r\n timeFromHours(hours) {\r\n return hours * 60 * 60 * 1000;\r\n },\r\n\r\n timeFromMinutes(minutes) {\r\n return minutes * 60 * 1000;\r\n },\r\n\r\n timeWithinMinutes(date1, minutes, date2) {\r\n if (date2 == undefined) date2 = new Date();\r\n return date2 - new Date(date1) < this.timeFromMinutes(minutes);\r\n },\r\n\r\n timeWithinHours(date, hours) {\r\n return new Date() - new Date(date) < this.timeFromHours(hours);\r\n },\r\n\r\n timeWithinDays(date, days) {\r\n return new Date() - new Date(date) < this.timeFromDays(days);\r\n },\r\n\r\n distanceAgo(date) {\r\n if (date == null) return \"\";\r\n\r\n let options = {};\r\n if (i18n.locale == \"sv\") options = { locale: sv };\r\n\r\n return formatDistance(new Date(date), new Date(), options);\r\n },\r\n\r\n toApiDate(date) {\r\n return this.humanDate(date, \"yyyy-MM-dd HH:mm:ss\");\r\n },\r\n },\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-text-field',{attrs:{\"label\":_vm.$t('user.fields.phoneNumber'),\"hint\":_vm.$t('user.fields.phoneNumerHint'),\"persistent-hint\":\"\",\"prepend-icon\":\"mdi-phone\",\"rules\":_vm.validate ? _vm.phoneNumberRules : []},model:{value:(_vm.number),callback:function ($$v) {_vm.number=$$v},expression:\"number\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhonenumberInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhonenumberInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PhonenumberInput.vue?vue&type=template&id=7311ee2a&\"\nimport script from \"./PhonenumberInput.vue?vue&type=script&lang=js&\"\nexport * from \"./PhonenumberInput.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { gmapApi } from \"vue2-google-maps\";\r\n\r\nexport default {\r\n methods: {\r\n getAddress(latLng) {\r\n return new Promise((resolve, reject) => {\r\n const geocoder = new this.mixinGoogleMaps.maps.Geocoder();\r\n geocoder.geocode({ location: latLng }, (results, status) => {\r\n if (status == \"OK\") {\r\n resolve(results[0].formatted_address);\r\n } else {\r\n reject(status);\r\n }\r\n });\r\n });\r\n },\r\n\r\n async reverseGeoCode(latLng) {\r\n if (!latLng) return;\r\n return await this.getAddress(latLng);\r\n },\r\n },\r\n\r\n computed: {\r\n mixinGoogleMaps: gmapApi,\r\n },\r\n};\r\n","import Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"./stores/store\";\r\nimport vuetify from \"./plugins/vuetify\";\r\nimport i18n from \"@/plugins/i18n\";\r\nimport VCalendar from \"v-calendar\";\r\nimport * as VueGoogleMaps from \"vue2-google-maps\";\r\nimport VueFriendlyIframe from \"vue-friendly-iframe\";\r\nimport VueScrollTo from \"vue-scrollto\";\r\nimport DatePicker from \"@/components/common/DatePicker\";\r\nimport ModuleSettingHelper from \"@/_helpers/moduleSettingsHelper\";\r\nimport CommonHelper from \"@/_helpers/commonHelper\";\r\nimport DateHelper from \"@/_helpers/DateHelper\";\r\nimport RestrictHelper from \"@/_helpers/RestrictHelper\";\r\nimport PhonenumberInput from \"@/components/common/PhonenumberInput\";\r\nimport GoogleMapsHelper from \"@/_helpers/mapsHelper\";\r\nimport Particles from \"particles.vue\";\r\n\r\nimport ECharts from \"vue-echarts\";\r\nimport { use } from \"echarts/core\";\r\nimport { CanvasRenderer } from \"echarts/renderers\";\r\nimport {\r\n ScatterChart,\r\n BarChart,\r\n LineChart,\r\n GaugeChart,\r\n PieChart,\r\n} from \"echarts/charts\";\r\nimport {\r\n GridComponent,\r\n TooltipComponent,\r\n TitleComponent,\r\n LegendComponent,\r\n DataZoomComponent,\r\n MarkLineComponent,\r\n PolarComponent,\r\n} from \"echarts/components\";\r\n\r\nuse([\r\n CanvasRenderer,\r\n BarChart,\r\n LineChart,\r\n GaugeChart,\r\n PieChart,\r\n GridComponent,\r\n TooltipComponent,\r\n TitleComponent,\r\n LegendComponent,\r\n DataZoomComponent,\r\n MarkLineComponent,\r\n ScatterChart,\r\n PolarComponent,\r\n]);\r\n\r\nVue.component(\"e-chart\", ECharts);\r\nVue.component(\"phone-number-input\", PhonenumberInput);\r\nVue.component(\"vue-friendly-iframe\", VueFriendlyIframe);\r\nVue.component(\"DatePicker\", DatePicker);\r\n\r\nVue.mixin(ModuleSettingHelper);\r\nVue.mixin(DateHelper);\r\nVue.mixin(RestrictHelper);\r\nVue.mixin(GoogleMapsHelper);\r\nVue.mixin(CommonHelper);\r\n\r\nVue.config.productionTip = false;\r\nVue.use(Particles);\r\n\r\nVue.use(VueScrollTo);\r\nVue.use(VueScrollTo, {\r\n container: \"body\",\r\n duration: 500,\r\n easing: \"ease\",\r\n offset: 0,\r\n force: true,\r\n cancelable: true,\r\n onStart: false,\r\n onDone: false,\r\n onCancel: false,\r\n x: false,\r\n y: true,\r\n});\r\n\r\nVue.use(VueGoogleMaps, {\r\n load: {\r\n plugins: [\"places\", \"drawing\", \"visualization\", \"geometry\"],\r\n key: process.env.VUE_APP_GOOGLE_MAPS_API_KEY,\r\n },\r\n installComponents: true,\r\n});\r\n\r\nVue.use(VCalendar, {\r\n componentPrefix: \"vc\",\r\n});\r\n\r\nnew Vue({\r\n store,\r\n router,\r\n vuetify,\r\n i18n,\r\n render: (h) => h(App),\r\n}).$mount(\"#app\");\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=1&id=43846a08&prod&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=style&index=0&id=39ccc5df&prod&lang=scss&scoped=true&\"","import i18n from \"@/plugins/i18n\";\r\n\r\nexport default {\r\n decoders: [\r\n { name: i18n.t(\"tag.chooseDecoder\"), key: \"\" },\r\n { name: \"Acrios LoadCell\", key: \"acrios_load\" },\r\n { name: \"Adeunis Temp\", key: \"adeunis_temp\" },\r\n { name: \"Adeunis 4DI\", key: \"adeunis_4di\" },\r\n { name: \"Adeunis 50A\", key: \"adeunis50a\" },\r\n { name: \"Adeunis 100A\", key: \"adeunis100a\" },\r\n { name: \"Aqualabo\", key: \"aqualabo\" },\r\n { name: \"Ellenex\", key: \"ellenex\" },\r\n { name: \"Elsys\", key: \"elsys\" },\r\n { name: \"Hummbox\", key: \"hummbox\" },\r\n { name: \"Tecscale\", key: \"tecscale\" },\r\n { name: \"Yabby Gps\", key: \"yabby_gps\" },\r\n { name: \"Guppy Gps\", key: \"guppy_gps\" },\r\n { name: \"Oyster Gps\", key: \"oyster_gps\" },\r\n { name: \"Ursalink N1\", key: \"ursalink_n1\" },\r\n { name: \"Ursalink T1\", key: \"ursalink_t1\" },\r\n { name: \"Radiobrige DI\", key: \"radiobridge_di\" },\r\n { name: \"SigFox Tempguard\", key: \"sigfox_tempguard\" },\r\n { name: \"Sensative Strips\", key: \"strips\" },\r\n { name: \"Axiom Water Gauge\", key: \"axiom_water_guage\" },\r\n { name: \"Epic Sensor\", key: \"epicwlt\" },\r\n { name: \"Ecoadapt\", key: \"ecoadapt\" },\r\n { name: \"Squid Decoder\", key: \"squid\" },\r\n { name: \"IMBuildings People Counter\", key: \"people_counter\" },\r\n { name: \"EnLink\", key: \"enlink\" },\r\n { name: \"Ursalink AM100\", key: \"ursalink_am100\" },\r\n { name: \"Ursalink EM500\", key: \"ursalink_em500\" },\r\n { name: \"Digital Matter Sensordata\", key: \"dm_sensordata\" },\r\n { name: \"MCF88\", key: \"mcf88\" },\r\n { name: \"ELA Innovation\", key: \"ela_innovation\" },\r\n { name: \"Polysense\", key: \"polysense\" },\r\n { name: \"Robeau DN20\", key: \"robeau_dn20\" },\r\n { name: \"Robeau DN25\", key: \"robeau_dn25\" },\r\n { name: \"Pycom Scale\", key: \"pycomscale\" },\r\n {\r\n name: \"MCF88 RS485 Thermoelement\",\r\n key: \"mcf88_rs485_thermoelement\",\r\n },\r\n { name: \"Raw Data\", key: \"raw\" },\r\n { name: \"Netvox 150\", key: \"netvox_150\" },\r\n { name: \"Tekbox TBS12\", key: \"tekbox_tbs12\" },\r\n { name: \"Tektelic Agri\", key: \"tektelic_agri\" },\r\n { name: \"Talkpool OY1210\", key: \"talkpool_oy1210\" },\r\n { name: \"IoT-AB Pycom\", key: \"iot_pycom\" },\r\n { name: \"Keller ADT1\", key: \"keller_adt1\" },\r\n { name: \"Snow Depth Lidar\", key: \"snow_depth\" },\r\n { name: \"Laird RS1XX\", key: \"laird_rs1xx\" },\r\n { name: \"Browan TBMS100\", key: \"browan_tbms100\" },\r\n { name: \"Infinite Informatics ADS270\", key: \"infinite_ads270\" },\r\n { name: \"ParametricPCR2\", key: \"parametric_pcr2\" },\r\n { name: \"Adeunis Field Tester\", key: \"adeunis_ftd\" },\r\n { name: \"ICT International EF NODE\", key: \"ict_ef_node\" },\r\n { name: \"Decentlab Depth Temp\", key: \"dl_depth\" },\r\n { name: \"Decentlab Range Finder\", key: \"decentlab_range_finder\" },\r\n { name: \"Decentlab Pressure Temp\", key: \"decentlab_pressure_temp\" },\r\n { name: \"Decentlab 10HS\", key: \"decentlab_10hs\" },\r\n { name: \"Decentlab 5TE\", key: \"decentlab_5te\" },\r\n { name: \"Decentlab 5TM\", key: \"decentlab_5tm\" },\r\n { name: \"Decentlab AC\", key: \"decentlab_ac\" },\r\n { name: \"Decentlab ATM22\", key: \"decentlab_atm22\" },\r\n { name: \"Decentlab ATM41\", key: \"decentlab_atm41\" },\r\n { name: \"Decentlab CTD10\", key: \"decentlab_ctd10\" },\r\n { name: \"Decentlab DLR2002\", key: \"decentlab_dlr2002\" },\r\n { name: \"Decentlab DLR2003\", key: \"decentlab_dlr2003\" },\r\n { name: \"Decentlab DLR2004\", key: \"decentlab_dlr2004\" },\r\n { name: \"Decentlab DLR2005\", key: \"decentlab_dlr2005\" },\r\n { name: \"Decentlab DLR2006\", key: \"decentlab_dlr2006\" },\r\n { name: \"Decentlab DLR2008\", key: \"decentlab_dlr2008\" },\r\n { name: \"Decentlab DLR20010\", key: \"decentlab_dlr20010\" },\r\n { name: \"Decentlab DLR20012\", key: \"decentlab_dlr20012\" },\r\n { name: \"Decentlab DS18\", key: \"decentlab_ds18\" },\r\n { name: \"Decentlab GS3\", key: \"decentlab_gs3\" },\r\n { name: \"Decentlab IAM\", key: \"decentlab_iam\" },\r\n { name: \"Decentlab ITST\", key: \"decentlab_itst\" },\r\n { name: \"Decentlab KL66\", key: \"decentlab_kl66\" },\r\n { name: \"Decentlab LP8P\", key: \"decentlab_lp8p\" },\r\n { name: \"Decentlab MBX\", key: \"decentlab_mbx\" },\r\n { name: \"Decentlab OPTOD\", key: \"decentlab_optod\" },\r\n { name: \"Decentlab PAR\", key: \"decentlab_par\" },\r\n { name: \"Decentlab PR21\", key: \"decentlab_pr21\" },\r\n { name: \"Decentlab PR26\", key: \"decentlab_pr26\" },\r\n { name: \"Decentlab PR36\", key: \"decentlab_pr36\" },\r\n { name: \"Decentlab PR36CTD\", key: \"decentlab_pr36ctd\" },\r\n { name: \"Decentlab PYR\", key: \"decentlab_pyr\" },\r\n { name: \"Decentlab RHC\", key: \"decentlab_rhc\" },\r\n { name: \"Decentlab SHT21\", key: \"decentlab_sht21\" },\r\n { name: \"Decentlab SHT35\", key: \"decentlab_sht35\" },\r\n { name: \"Decentlab SMTP\", key: \"decentlab_smtp\" },\r\n { name: \"Decentlab TBRG\", key: \"decentlab_tbrg\" },\r\n { name: \"Decentlab TRS11\", key: \"decentlab_trs11\" },\r\n { name: \"Decentlab TRS12\", key: \"decentlab_trs12\" },\r\n { name: \"Decentlab TRS21\", key: \"decentlab_trs21\" },\r\n { name: \"Decentlab ZN1\", key: \"decentlab_zn1\" },\r\n { name: \"Decentlab ZN2\", key: \"decentlab_zn2\" },\r\n ],\r\n};\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IconSelector.vue?vue&type=style&index=0&id=1e496a69&prod&lang=css&\"","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/users\";\r\n\r\nexport default {\r\n get(user) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}`, config);\r\n },\r\n\r\n getAll(user) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/all`, config);\r\n },\r\n\r\n getById(user, userId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/${userId}`, config);\r\n },\r\n\r\n getCompany(user) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/${user.userId}/company`, config);\r\n },\r\n\r\n register(payload) {\r\n return Repository.post(`${resource}`, payload);\r\n },\r\n\r\n edit(user, userId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.put(`${resource}/${userId}`, payload, config);\r\n },\r\n\r\n delete(user, userId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.delete(`${resource}/${userId}`, config);\r\n },\r\n\r\n updateRole(user, targetUserId, role) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.put(\r\n `${resource}/${targetUserId}/role/${role}`,\r\n null,\r\n config\r\n );\r\n },\r\n\r\n login(email, password) {\r\n const data = {\r\n email: email,\r\n password: password\r\n };\r\n\r\n return Repository.post(`${resource}/authenticate`, data);\r\n },\r\n\r\n createUserWithCompany(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n return Repository.post(`${resource}/create/company`, payload, config);\r\n },\r\n\r\n forgotPassword(email) {\r\n return Repository.post(`${resource}/forgot/${email}`, null);\r\n },\r\n\r\n forgotPasswordUpdate(guid, password) {\r\n return Repository.put(`${resource}/forgot/${guid}`, { password: password });\r\n }\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/companies\";\r\n\r\nexport default {\r\n get(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}`, config);\r\n },\r\n getAll(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/all`, config);\r\n },\r\n\r\n getCompany(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}`, config);\r\n },\r\n\r\n getCompanyById(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}`, config);\r\n },\r\n\r\n getCompanyUsers(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/users`, config);\r\n },\r\n\r\n getCompanyApplications(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/applications`, config);\r\n },\r\n\r\n getCompanyTagData(user, companyId) {\r\n var header = getAuthHeader(user);\r\n header[\"Accept-Encoding\"] = \"br\";\r\n\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/tagdata`, config);\r\n },\r\n\r\n create(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}`, payload, config);\r\n },\r\n\r\n edit(user, companyId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/${companyId}`, payload, config);\r\n },\r\n\r\n delete(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${companyId}`, config);\r\n },\r\n\r\n getTagDataWithMetrics(user, companyId, metrics) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/tagdata${metrics}`, config);\r\n },\r\n\r\n getTagDataDefaults(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/defaults`, config);\r\n },\r\n\r\n getTagDataPoints(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/tagdata/count`, config);\r\n },\r\n\r\n createUser(user, companyId, userPayload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/${companyId}/user`,\r\n userPayload,\r\n config\r\n );\r\n },\r\n\r\n postImage(user, companyId, image) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/${companyId}/image`, image, config);\r\n },\r\n\r\n deleteImage(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${companyId}/image`, config);\r\n },\r\n\r\n latestActivity(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/tag/activity`, config);\r\n },\r\n\r\n getBatteryStatuses(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/tag/batteries`, config);\r\n },\r\n\r\n getLatestTagData(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/latesttagdata`, config);\r\n },\r\n\r\n getDatapointsLastWeek(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/datapointsweek`, config);\r\n },\r\n\r\n getDatapointsLastDay(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/datapointsday`, config);\r\n },\r\n\r\n getSensorDatapointsLastDay(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(\r\n `${resource}/${companyId}/sensordatapoints/day`,\r\n config\r\n );\r\n },\r\n\r\n getTagsWithInformation(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}/tags`, config);\r\n },\r\n\r\n getShared(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/shared`, config);\r\n },\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/applications\";\r\n\r\nexport default {\r\n create(user, companyId, applicationPayload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/${companyId}`,\r\n applicationPayload,\r\n config\r\n );\r\n },\r\n\r\n update(user, id, applicationPayload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/${id}`, applicationPayload, config);\r\n },\r\n\r\n delete(user, applicationId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${applicationId}`, config);\r\n },\r\n\r\n get(user, applicationId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${applicationId}`, config);\r\n },\r\n};\r\n","import Repository from \"../Repository\";\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\n\nconst resource = \"/tag\";\n\nexport default {\n get(user) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.get(`${resource}/tagdata`, config);\n },\n\n getKeys(user, company) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.get(`${resource}/tagdata/keys/${company}`, config);\n },\n\n getTrendDataForTag(user, tagId, tagKey, metrics) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.get(\n `${resource}/${tagId}/trend/${tagKey}${metrics}`,\n config\n );\n },\n\n getCurrentTagdata(user, tagId, tagKey) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.get(`${resource}/latest/${tagId}/${tagKey}`, config);\n },\n\n getCurrentsForDevice(user, deveui) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.get(`${resource}/${deveui}/currents`, config);\n },\n};\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/tag\";\r\nconst decoderResource = \"/decoder\";\r\n\r\nexport default {\r\n get(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}`, config);\r\n },\r\n\r\n create(user, applicationId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `/applications/${applicationId}/tag`,\r\n payload,\r\n config\r\n );\r\n },\r\n\r\n update(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/${payload.deveui}`, payload, config);\r\n },\r\n\r\n delete(user, tagId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${tagId}`, config);\r\n },\r\n\r\n getById(user, tagId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${tagId}`, config);\r\n },\r\n\r\n getByCompanyId(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/company/${companyId}`, config);\r\n },\r\n\r\n getKeys(user, tagId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${tagId}/keys`, config);\r\n },\r\n\r\n uploadImage(user, tagId, image) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/${tagId}/image`, image, config);\r\n },\r\n\r\n deleteImage(user, tagId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${tagId}/image`, config);\r\n },\r\n\r\n setDefaultKey(user, tagId, key) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/${tagId}/default/${encodeURIComponent(key)}`, null, config);\r\n },\r\n\r\n getTagPool(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/pool`, config);\r\n },\r\n\r\n updateTagPoolStatus(user, deveui) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/pool/${deveui}`, null, config);\r\n },\r\n\r\n addTagKey(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/key/add`, payload, config);\r\n },\r\n\r\n updateTagKey(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/key/update`, payload, config);\r\n },\r\n\r\n deleteTagKey(user, deveui, key) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/key/delete/${deveui}/${encodeURIComponent(key)}`, config);\r\n },\r\n\r\n getKeyLabel(user, deveui, key) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/key/label/${deveui}/${encodeURIComponent(key)}`, config);\r\n },\r\n\r\n getDecoders(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${decoderResource}`, config);\r\n },\r\n\r\n setData(user, tagId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/${tagId}/tagdata`, payload, config);\r\n },\r\n\r\n getDetails(user, tagId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.get(`${resource}/detail/${tagId}`, config);\r\n }\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/alarms\";\r\nconst companyResource = \"/companies\";\r\n\r\nexport default {\r\n get(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${companyResource}/${companyId}/alarm`, config);\r\n },\r\n\r\n getById(user, alarmId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${alarmId}`, config);\r\n },\r\n\r\n create(user, companyId, alarmPayload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${companyResource}/${companyId}/alarm`,\r\n alarmPayload,\r\n config\r\n );\r\n },\r\n\r\n update(user, companyId, alarmId, alarmPayload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(\r\n `${companyResource}/${companyId}/alarm/${alarmId}`,\r\n alarmPayload,\r\n config\r\n );\r\n },\r\n\r\n getActiveAlarms(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(\r\n `${companyResource}/${companyId}/alarm/active`,\r\n config\r\n );\r\n },\r\n\r\n getAlarmHistory(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(\r\n `${companyResource}/${companyId}/alarm/history`,\r\n config\r\n );\r\n },\r\n\r\n setActiveAlarmStatus(user, activeAlarmId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/active/${activeAlarmId}/status`,\r\n null,\r\n config\r\n );\r\n },\r\n\r\n delete(user, alarmId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${alarmId}`, config);\r\n },\r\n\r\n duplicate(user, alarmId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/copy/${alarmId}`, null, config);\r\n },\r\n\r\n testSettings(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/setting/test`, payload, config);\r\n },\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/script\";\r\n\r\nexport default {\r\n getScripts(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/company/${companyId}`, config);\r\n },\r\n\r\n getScript(user, scriptId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/${scriptId}`, config);\r\n },\r\n\r\n create(user, companyId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.post(`${resource}/${companyId}`, payload, config);\r\n },\r\n\r\n put(user, scriptId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.put(`${resource}/${scriptId}`, payload, config);\r\n },\r\n\r\n delete(user, scriptId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.delete(`${resource}/${scriptId}`, config);\r\n },\r\n\r\n test(user, payload, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.post(`${resource}/test/${companyId}`, payload, config);\r\n },\r\n execute(user, scriptId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/run/${scriptId}`, config);\r\n }\r\n};\r\n","import Repository from \"../Repository\";\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\n\nconst resource = \"/report\";\n\nexport default {\n getReport(user, reportId) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.get(`${resource}/${reportId}`, config);\n },\n\n getReports(user, companyId) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.get(`${resource}/company/${companyId}`, config);\n },\n\n create(user, payload) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.post(`${resource}`, payload, config);\n },\n\n update(user, reportId, payload) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.put(`${resource}/${reportId}`, payload, config);\n },\n\n delete(user, reportId) {\n var config = {\n headers: getAuthHeader(user),\n };\n\n return Repository.delete(`${resource}/${reportId}`, config);\n },\n\n multiExport(user, payload, companyId = null) {\n var config = {\n headers: getAuthHeader(user),\n responseType: \"blob\",\n };\n\n return Repository.post(\n `${resource}/multiexport/${companyId}`,\n payload,\n config\n );\n },\n};\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/dashboards\";\r\nconst companyResource = \"/companies\";\r\n\r\nexport default {\r\n getDashboards(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${companyResource}/${companyId}/dashboards`, config);\r\n },\r\n\r\n getDashboard(user, dashboardId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${dashboardId}`, config);\r\n },\r\n\r\n duplicate(user, dashboardId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/${dashboardId}/duplicate`,\r\n payload,\r\n config\r\n );\r\n },\r\n\r\n create(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}`, payload, config);\r\n },\r\n\r\n createForCompany(user, companyId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/create/${companyId}`, payload, config);\r\n },\r\n\r\n update(user, dashboardId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/${dashboardId}`, payload, config);\r\n },\r\n\r\n delete(user, dashboardId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${dashboardId}`, config);\r\n },\r\n\r\n setDefault(user, dashboardId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/${dashboardId}/default`, null, config);\r\n },\r\n\r\n getDefault(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/default`, config);\r\n },\r\n\r\n createPublicDashboard(user, companyId, dashboardId, expiresAt) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/public/${companyId}/${dashboardId}/${expiresAt}`,\r\n null,\r\n config\r\n );\r\n },\r\n\r\n getPublicDashboards(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/public/company/${companyId}`, config);\r\n },\r\n\r\n getPublicDashboard(publicDashboardId) {\r\n return Repository.get(`${resource}/public/${publicDashboardId}`);\r\n },\r\n\r\n deletePublicDashboard(user, publicDashboardId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/public/${publicDashboardId}`, config);\r\n },\r\n\r\n getDashboardCategories(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.get(`${resource}/categories/${companyId}`, config);\r\n },\r\n\r\n createDashboardCategories(user, companyId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.post(`${resource}/categories/${companyId}`, payload, config);\r\n },\r\n\r\n updateDashboardCategories(user, categoryId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.put(`${resource}/categories/${categoryId}`, payload, config);\r\n },\r\n\r\n updateDashboardIndexes(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.put(`${resource}/categories/indexes`, payload, config);\r\n },\r\n\r\n removeDashboardIndexes(user, categoryId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.delete(`${resource}/categories/${categoryId}`, config);\r\n }\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/dashboards\";\r\nconst moduleResource = \"modules\";\r\n\r\nexport default {\r\n get(user, dashboardId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(\r\n `${resource}/${dashboardId}/${moduleResource}`,\r\n config\r\n );\r\n },\r\n\r\n getModule(user, moduleId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/modules/${moduleId}`, config);\r\n },\r\n\r\n create(user, dashboardId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/${dashboardId}/${moduleResource}`,\r\n payload,\r\n config\r\n );\r\n },\r\n\r\n update(user, moduleId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(\r\n `${resource}/${moduleResource}/${moduleId}`,\r\n payload,\r\n config\r\n );\r\n },\r\n\r\n updateModules(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(\r\n `${resource}/${moduleResource}/multiple`,\r\n payload,\r\n config\r\n );\r\n },\r\n\r\n delete(user, moduleId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(\r\n `${resource}/${moduleResource}/${moduleId}`,\r\n config\r\n );\r\n },\r\n\r\n postImage(user, moduleId, image) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/modules/${moduleId}/image`,\r\n image,\r\n config\r\n );\r\n },\r\n\r\n deleteImage(user, moduleId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/modules/${moduleId}/image`, config);\r\n },\r\n\r\n getTagDataForModule(user, moduleId, metrics) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(\r\n `${resource}/modules/${moduleId}/tagdata${metrics}`,\r\n config\r\n );\r\n },\r\n\r\n getTagDataForModuleByLimit(user, moduleId, limit) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(\r\n `${resource}/modules/${moduleId}/tagdata/limit/${limit}`,\r\n config\r\n );\r\n },\r\n\r\n getLatestTagDataForModule(user, moduleId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(\r\n `${resource}/modules/${moduleId}/tagdata/latest`,\r\n config\r\n );\r\n },\r\n\r\n copyModule(user, moduleId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/modules/copy/${moduleId}`,\r\n null,\r\n config\r\n );\r\n },\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/logs\";\r\n\r\nexport default {\r\n get(user, metrics) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}${metrics}`, config);\r\n },\r\n\r\n getActiveUsers(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/activeusers`, config);\r\n },\r\n\r\n getDatapoints(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/datapoints`, config);\r\n },\r\n\r\n getActiveAlarms(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`/alarms/active/all`, config);\r\n },\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/notification\";\r\n\r\nexport default {\r\n get(user, userId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/${userId}`, config);\r\n },\r\n\r\n deactivate(user, notificationId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.put(`${resource}/deactivate/${notificationId}`, {}, config);\r\n },\r\n\r\n deactivateAll(user, userId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.put(`${resource}/deactivate/all/${userId}`, {}, config);\r\n }\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/signaltest\";\r\n\r\nexport default {\r\n getTests(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}`, config);\r\n },\r\n\r\n peek(user, testId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/peek/${testId}`, config);\r\n },\r\n\r\n getTest(user, testId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/single/${testId}`, config);\r\n },\r\n\r\n startTest(user, companyId, deveui, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/${companyId}/${deveui}`,\r\n payload,\r\n config\r\n );\r\n },\r\n\r\n endTest(user, testId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/end/${testId}`, null, config);\r\n },\r\n\r\n deleteTest(user, testId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${testId}`, config);\r\n },\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/license\";\r\n\r\nexport default {\r\n getTerms(user) {\r\n var config = {};\r\n if (user !== undefined || user !== null) {\r\n config[\"headers\"] = getAuthHeader(user);\r\n }\r\n\r\n return Repository.get(`${resource}/terms`, config);\r\n },\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/gateway\";\r\n\r\nexport default {\r\n create(user, applicationId, gatewayPayload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/${applicationId}`,\r\n gatewayPayload,\r\n config\r\n );\r\n },\r\n\r\n delete(user, gatewayId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${gatewayId}`, config);\r\n },\r\n\r\n getByCompany(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/company/${companyId}`, config);\r\n },\r\n\r\n getById(user, gatewayId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${gatewayId}`, config);\r\n },\r\n\r\n updatePosition(user, gatewayId, position) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/${gatewayId}/pos`, position, config);\r\n },\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/downlink\";\r\n\r\nexport default {\r\n getForTag(user, deveui) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/tag/${deveui}`, config);\r\n },\r\n\r\n removeDownlink(user, downlinkQueueId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.delete(`${resource}/${downlinkQueueId}`, config);\r\n },\r\n\r\n createDownlink(user, deveui, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.post(`${resource}/${deveui}`, payload, config);\r\n }\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/roles\";\r\n\r\nexport default {\r\n getAllByCompany(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${companyId}`, config);\r\n },\r\n\r\n getPermissions(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/permissions`, config);\r\n },\r\n\r\n\r\n getRecommendedPermissions(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/recommended-permissions`, payload, config);\r\n },\r\n\r\n getUserPermissionsByUserId(user) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.get(`${resource}/current-user-permissions`, config);\r\n },\r\n\r\n create(user, companyId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/${companyId}`, payload, config);\r\n },\r\n\r\n\r\n update(user, userRoleId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/${userRoleId}`, payload, config);\r\n },\r\n\r\n\r\n delete(user, userRoleId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${userRoleId}`, config);\r\n },\r\n};\r\n","import UsersRepository from \"./repositories/usersRepository\";\r\nimport CompanyRepository from \"./repositories/companyRepository\";\r\nimport AppsRepository from \"./repositories/applicationRepository\";\r\nimport TagDataRepository from \"./repositories/tagDataRepository\";\r\nimport TagRepository from \"./repositories/tagRepository\";\r\nimport AlarmRepository from \"./repositories/alarmRepository\";\r\nimport ScriptRepository from \"./repositories/scriptRepository\";\r\nimport ReportRepository from \"./repositories/reportRepository\";\r\nimport DashboardRepository from \"./repositories/dashboardRepository\";\r\nimport ModuleRepository from \"./repositories/moduleRepository\";\r\nimport LogRepository from \"./repositories/logRepository\";\r\nimport NotificationRepository from \"./repositories/notificationRepository\";\r\nimport SignalTestRepository from \"./repositories/signalTestRepository\";\r\nimport LicenseRepository from \"./repositories/licenseRepository\";\r\nimport GatewayRepository from \"./repositories/gatewayRepository\";\r\nimport IntegrationsRepository from \"./repositories/integrationsRepository\";\r\nimport DownlinkRepository from \"./repositories/downlinkRepository\";\r\nimport RoleRepository from \"./repositories/roleRepository\";\r\n\r\nconst repositories = {\r\n users: UsersRepository,\r\n companies: CompanyRepository,\r\n applications: AppsRepository,\r\n tagdata: TagDataRepository,\r\n tag: TagRepository,\r\n alarm: AlarmRepository,\r\n script: ScriptRepository,\r\n report: ReportRepository,\r\n dashboard: DashboardRepository,\r\n module: ModuleRepository,\r\n log: LogRepository,\r\n notification: NotificationRepository,\r\n signalTest: SignalTestRepository,\r\n license: LicenseRepository,\r\n gateways: GatewayRepository,\r\n integrations: IntegrationsRepository,\r\n downlinks: DownlinkRepository,\r\n roles: RoleRepository\r\n};\r\n\r\nexport const RepositoryFactory = {\r\n get: (name) => repositories[name],\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\n\r\nconst IntegrationRepository = RepositoryFactory.get(\"integrations\");\r\n\r\nexport const accessTokens = {\r\n namespaced: true,\r\n state: {\r\n },\r\n\r\n actions: {\r\n async getAccessTokens({rootState}) {\r\n var user = rootState.users.currentUser\r\n\r\n return await IntegrationRepository.getAccessTokens(user, rootState.users.userCompany.companyId)\r\n .then(d => d.data);\r\n },\r\n\r\n async deleteAccessToken({rootState}, tokenId) {\r\n var user = rootState.users.currentUser\r\n await IntegrationRepository.deleteToken(user, tokenId);\r\n },\r\n\r\n async createToken({rootState}, payload) {\r\n await IntegrationRepository.createToken(rootState.users.currentUser, rootState.users.userCompany.companyId, payload);\r\n }\r\n\r\n \r\n },\r\n\r\n mutations: {\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\nimport i18n from \"@/plugins/i18n\";\nconst AlarmRepository = RepositoryFactory.get(\"alarm\");\n\nexport const alarms = {\n namespaced: true,\n state: {\n currentAlarm: {},\n activeAlarms: [],\n alarms: [],\n settingResponse: {},\n status: {\n loading: false,\n },\n },\n\n actions: {\n async testSettings({ commit, rootState }, payload) {\n var user = rootState.users.currentUser;\n\n await AlarmRepository.testSettings(user, payload)\n .then((res) => {\n commit(\"SET_SETTING_RESPONSE\", res.data);\n })\n .catch((res) => {\n commit(\"SET_SETTING_RESPONSE\", res.response.data);\n });\n },\n\n async getAlarms({ commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await AlarmRepository.get(user, rootState.users.userCompany.companyId)\n .then((alarms) => {\n commit(\"GET_ALARM\", alarms.data);\n commit(\"LOADING\", false);\n })\n .catch(() => {\n commit(\"LOADING\", false);\n });\n },\n\n async createAlarm({ dispatch, commit, rootState }, { alarmPayload }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await AlarmRepository.create(\n user,\n rootState.users.userCompany.companyId,\n alarmPayload\n )\n .then((alarm) => {\n dispatch(\"getAlarms\");\n commit(\"CREATE_ALARM\", alarm.data);\n commit(\"LOADING\", false);\n dispatch(\"alert/success\", i18n.t(\"common.created\"), { root: true });\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async updateAlarm({ dispatch, commit, rootState }, { payload, alarmId }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await AlarmRepository.update(\n user,\n rootState.users.userCompany.companyId,\n alarmId,\n payload\n )\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"alert/success\", i18n.t(\"common.updated\"), { root: true });\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n\n await dispatch(\"getAlarms\");\n },\n\n async setCurrentAlarm({ commit }, alarm) {\n commit(\"SET_CURRENT\", alarm);\n },\n\n async getAlarmById({ commit, rootState }, alarmId) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await AlarmRepository.getById(user, alarmId)\n .then((alarm) => {\n commit(\"SET_CURRENT\", alarm.data);\n commit(\"LOADING\", false);\n })\n .catch(() => {\n commit(\"LOADING\", false);\n });\n },\n\n async getActiveAlarms({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await AlarmRepository.getActiveAlarms(\n user,\n rootState.users.userCompany.companyId\n )\n .then((alarms) => {\n commit(\"GET_ACTIVE_ALARM\", alarms.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async getAlarmHistory({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await AlarmRepository.getAlarmHistory(\n user,\n rootState.users.userCompany.companyId\n )\n .then((alarms) => {\n commit(\"GET_ACTIVE_ALARM\", alarms.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async setAlarmStatus({ dispatch, commit, rootState }, activeAlarmId) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await AlarmRepository.setActiveAlarmStatus(user, activeAlarmId)\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n\n await dispatch(\"getActiveAlarms\");\n },\n\n resetState({ commit }) {\n commit(\"RESET_STATE\");\n },\n\n async removeAlarm({ dispatch, commit, rootState }, id) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await AlarmRepository.delete(user, id)\n .then(() => {\n dispatch(\"getAlarms\");\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async duplicateAlarm({ dispatch, commit, rootState }, id) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await AlarmRepository.duplicate(user, id)\n .then(() => {\n dispatch(\"getAlarms\");\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n clearTestResponse({ commit }) {\n commit(\"SET_SETTING_RESPONSE\", {});\n },\n },\n\n mutations: {\n LOADING(state, status) {\n state.status.loading = status;\n },\n\n SET_CURRENT(state, alarm) {\n state.currentAlarm = alarm;\n },\n\n GET_ALARM(state, alarms) {\n state.alarms = alarms;\n },\n\n GET_ACTIVE_ALARM(state, alarms) {\n state.activeAlarms = alarms;\n },\n\n CREATE_ALARM(state, alarm) {\n state.currentAlarm = alarm;\n },\n\n SET_SETTING_RESPONSE(state, res) {\n state.settingResponse = res;\n },\n\n // eslint-disable-next-line\n RESET_STATE(state) {\n state = {\n currentAlarm: {},\n activeAlarms: [],\n alarms: [],\n status: {\n loading: false,\n },\n };\n },\n },\n};\n","const state = {\r\n active: false,\r\n message: null,\r\n alertType: \"success\",\r\n};\r\n\r\nconst actions = {\r\n success({ commit }, message) {\r\n commit(\"success\", message);\r\n },\r\n error({ commit }, message) {\r\n commit(\"error\", message);\r\n },\r\n clear({ commit }, message) {\r\n commit(\"success\", message);\r\n },\r\n};\r\n\r\nconst mutations = {\r\n success(state, message) {\r\n state.active = true;\r\n state.message = message;\r\n state.alertType = \"success\";\r\n },\r\n error(state, message) {\r\n state.active = true;\r\n state.message = message;\r\n state.alertType = \"error\";\r\n },\r\n clear(state) {\r\n state.active = false;\r\n state.message = null;\r\n state.alertType = \"success\";\r\n },\r\n};\r\n\r\nexport const alert = {\r\n namespaced: true,\r\n state,\r\n actions,\r\n mutations,\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport i18n from \"@/plugins/i18n\";\r\nconst AppRepository = RepositoryFactory.get(\"applications\");\r\n\r\nexport const applications = {\r\n namespaced: true,\r\n state: {\r\n currentApplication: {},\r\n tags: [],\r\n gateways: [],\r\n tagData: [],\r\n status: {\r\n loading: false,\r\n loggedIn: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async createApplication(\r\n { dispatch, commit, rootState },\r\n { applicationPayload }\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n var companyId = rootState.users.userCompany.companyId;\r\n\r\n await AppRepository.create(user, companyId, applicationPayload)\r\n .then((application) => {\r\n dispatch(\"companies/getCompanyApplications\", null, { root: true });\r\n commit(\"CREATE_APPLICATION\", application);\r\n commit(\"LOADING\", false);\r\n dispatch(\"alert/success\", i18n.t(\"common.created\"), { root: true });\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async update({ dispatch, commit, rootState }, { id, applicationPayload }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await AppRepository.update(user, id, applicationPayload)\r\n .then(() => {\r\n dispatch(\"companies/getCompanyApplications\", null, { root: true });\r\n dispatch(\"alert/success\", i18n.t(\"common.updated\"), { root: true });\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async deleteApplication(\r\n { dispatch, commit, rootState },\r\n { applicationId }\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await AppRepository.delete(user, applicationId)\r\n .then(() => {\r\n commit(\"DELETE_APPLICATION\");\r\n dispatch(\"alert/success\", i18n.t(\"common.deleted\"), { root: true });\r\n dispatch(\"companies/getCompanyApplications\", null, { root: true });\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async getApplication({ dispatch, commit, rootState }, id) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await AppRepository.get(user, id)\r\n .then((res) => {\r\n commit(\"SET_APPLICATION\", res.data);\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response !== undefined && res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async setApplication({ commit }, application) {\r\n commit(\"SET_APPLICATION\", application);\r\n },\r\n\r\n resetState({ commit }) {\r\n commit(\"RESET_STATE\");\r\n },\r\n },\r\n\r\n mutations: {\r\n LOADING(state, status) {\r\n state.status.loading = status;\r\n },\r\n\r\n CREATE_APPLICATION(state, application) {\r\n state.currentApplication = application;\r\n },\r\n\r\n DELETE_APPLICATION(state) {\r\n state.currentApplication = {};\r\n },\r\n\r\n GET_TAG_DATA(state, tagData) {\r\n state.tagData = tagData;\r\n },\r\n\r\n SET_APPLICATION(state, application) {\r\n state.currentApplication = application;\r\n },\r\n\r\n // eslint-disable-next-line\r\n RESET_STATE(state) {\r\n state = {\r\n currentApplication: {},\r\n tags: [],\r\n gateways: [],\r\n tagData: [],\r\n status: {\r\n loading: false,\r\n loggedIn: false,\r\n },\r\n };\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\nimport i18n from \"@/plugins/i18n\";\nimport { Roles } from \"@/_helpers/Role\";\nconst CompanyRepository = RepositoryFactory.get(\"companies\");\n\nexport const companies = {\n namespaced: true,\n state: {\n company: {},\n companies: [],\n shared: {},\n companyUsers: [],\n companyApps: [],\n latestActivity: {},\n status: {\n loading: false,\n loggedIn: false,\n },\n },\n\n actions: {\n async getCompanyUsers({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n var company = rootState.users.userCompany;\n\n await CompanyRepository.getCompanyUsers(user, company.companyId).then(\n (users) => {\n commit(\"GET_COMPANY_USERS\", users.data);\n commit(\"LOADING\", false);\n },\n (error) => {\n dispatch(\"alert/error\", error, { root: true });\n commit(\"LOADING\", false);\n }\n );\n\n commit(\"LOADING\", false);\n },\n\n async getCompanyApplications({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n var company = rootState.users.userCompany;\n\n await CompanyRepository.getCompanyApplications(user, company.companyId)\n .then((applications) => {\n commit(\"GET_COMPANY_APPLICATION\", applications.data);\n commit(\"LOADING\", false);\n })\n .catch(() => {\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n },\n\n // Get all companies\n async getAll({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n if (user.role !== Roles.SuperAdmin) {\n commit(\"LOADING\", false);\n return;\n }\n\n await CompanyRepository.getAll(user)\n .then((companies) => {\n commit(\"GET_COMPANIES\", companies.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n\n commit(\"LOADING\", false);\n },\n\n async getById({ commit, dispatch, rootState }, { companyId }) {\n commit(\"LOADING\", true);\n var user = rootState.users.currentUser;\n\n await CompanyRepository.getCompanyById(user, companyId)\n .then((company) => {\n commit(\"EDIT_COMPANY\", company.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n });\n commit(\"LOADING\", false);\n },\n\n // Edit a company\n async editCompany({ dispatch, commit, rootState }, { company }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n var companyId = rootState.users.userCompany.companyId;\n\n await CompanyRepository.edit(user, companyId, company).then(\n (company) => {\n commit(\"EDIT_COMPANY\", company.data);\n dispatch(\n \"languages/setLanguage\",\n rootState.users.userCompany.country,\n {\n root: true,\n }\n );\n dispatch(\"alert/success\", i18n.t(\"common.updated\"), { root: true });\n commit(\"LOADING\", false);\n },\n (res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n }\n );\n },\n\n // Create a company\n async createCompany({ dispatch, commit, rootState }, { company }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await CompanyRepository.create(user, company).then(\n (company) => {\n commit(\"CREATE_COMPANY\", company);\n\n dispatch(\"alert/success\", i18n.t(\"common.created\"), { root: true });\n commit(\"LOADING\", false);\n },\n (res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n }\n );\n },\n\n async createUser({ dispatch, commit, rootState }, payload) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await CompanyRepository.createUser(\n user,\n rootState.users.userCompany.companyId,\n payload\n )\n .then(() => {\n dispatch(\"alert/success\", i18n.t(\"common.created\"), { root: true });\n dispatch(\"getCompanyUsers\");\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n resetState({ commit }) {\n commit(\"RESET_STATE\");\n },\n\n async postImage({ dispatch, commit, rootState }, { image }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await CompanyRepository.postImage(\n user,\n rootState.users.userCompany.companyId,\n image\n )\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n },\n\n async deleteImage({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await CompanyRepository.deleteImage(\n user,\n rootState.users.userCompany.companyId\n )\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n },\n\n async getLatestActivity({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await CompanyRepository.latestActivity(\n user,\n rootState.users.userCompany.companyId\n )\n .then((activity) => {\n commit(\"LOADING\", false);\n commit(\"SET_LATEST_ACTIVITY\", activity.data);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n },\n\n async getBatteryStatuses({ commit, dispatch, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await CompanyRepository.getBatteryStatuses(\n user,\n rootState.users.userCompany.companyId\n )\n .then((statuses) => {\n commit(\"LOADING\", false);\n dispatch(\"tag/setBatteryStatuses\", statuses.data, { root: true });\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n },\n\n async getShared({ commit, rootState }) {\n await CompanyRepository.getShared(rootState.users.currentUser)\n .then((d) => commit(\"GET_SHARED\", d.data))\n .catch((d) => {\n console.error(d);\n });\n },\n },\n\n mutations: {\n LOADING(state, status) {\n state.status.loading = status;\n },\n\n SET_LATEST_ACTIVITY(state, activity) {\n state.latestActivity = activity;\n },\n\n GET_COMPANIES(state, companies) {\n state.companies = companies;\n },\n\n GET_COMPANY_APPLICATION(state, applications) {\n state.companyApps = applications;\n },\n\n GET_COMPANY_USERS(state, users) {\n state.companyUsers = users;\n },\n\n GET_SHARED(state, shared) {\n state.shared = shared;\n },\n\n CREATE_COMPANY(state, company) {\n state.company = company;\n },\n\n EDIT_COMPANY(state, company) {\n state.company = company;\n },\n\n // eslint-disable-next-line\n RESET_STATE(state) {\n state = {\n company: {},\n companies: [],\n companyUsers: [],\n companyApps: [],\n status: {\n loading: false,\n loggedIn: false,\n },\n };\n },\n },\n\n getters: {\n // eslint-disable-next-line\n getSharedName: (state, getters, rootState, rootGetters) => (id) => {\n if (rootGetters[\"users/companyId\"] == id)\n return rootGetters[\"users/companyName\"];\n return state.shared[id];\n },\n },\n};\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/settings\";\r\n\r\nexport default {\r\n get(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}`, config);\r\n },\r\n\r\n set(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}`, payload, config);\r\n },\r\n\r\n getGlobal(user) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/global`, config);\r\n },\r\n\r\n setGlobal(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/global`, payload, config);\r\n },\r\n\r\n getCompanyFields(user) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.get(`${resource}/company/fields`, config);\r\n },\r\n\r\n getCompany(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.get(`${resource}/company/${companyId}`, config);\r\n },\r\n\r\n setCompany(user, companyId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n }\r\n\r\n return Repository.put(`${resource}/company/${companyId}`, payload, config);\r\n }\r\n};\r\n","import SettingRepository from \"../../api/repositories/settingRepository\";\r\nimport LicenseRepository from \"../../api/repositories/licenseRepository\";\r\n\r\nexport const configuration = {\r\n namespaced: true,\r\n state: {\r\n darkmode: false,\r\n SO_API_BASE_URL: null,\r\n userSettings: {\r\n theme: \"Scientific\",\r\n toolbarTransparent: true,\r\n stickySideMenu: true,\r\n },\r\n globalSettings: {},\r\n license: {},\r\n companyFields: [],\r\n companySettings: {},\r\n },\r\n\r\n actions: {\r\n setDarkmode({ commit }, message) {\r\n if (typeof message == \"boolean\") {\r\n commit(\"SET_DARKMODE\", message);\r\n }\r\n },\r\n\r\n async getBaseUrl({ commit, rootState }) {\r\n if (\r\n rootState.configuration.SO_API_BASE_URL == undefined ||\r\n rootState.configuration.SO_API_BASE_URL == null\r\n ) {\r\n try {\r\n const envConfig = await fetch(\"/environmentConfig.json\");\r\n var envJson = await envConfig.json();\r\n commit(\"SET_BASE_URL\", envJson.SO_API_BASE_URL);\r\n } catch (exception) {\r\n commit(\"SET_BASE_URL\", process.env.VUE_APP_SO_API_BASE_URL);\r\n }\r\n }\r\n },\r\n\r\n async getLicenseTerms({ commit, rootState }) {\r\n if (\r\n rootState.configuration.license &&\r\n Object.keys(rootState.configuration.license).length !== 0\r\n ) {\r\n return;\r\n }\r\n\r\n // If the base url is not set we cannot get the terms\r\n // This will probably be resolved during existing requests.\r\n if (rootState.configuration.SO_API_BASE_URL == null) return;\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await LicenseRepository.getTerms(user).then((res) =>\r\n commit(\"SET_LICENSE\", res.data)\r\n );\r\n },\r\n\r\n async getUserSettings({ commit, rootState, dispatch }) {\r\n var user = rootState.users.currentUser;\r\n if (user === undefined || user === null) return;\r\n await SettingRepository.get(user).then((data) =>\r\n commit(\"SET_USER_SETTINGS\", data.data)\r\n );\r\n\r\n await dispatch(\"users/getUserPermissionsByCurrentUser\", null, {\r\n root: true,\r\n });\r\n },\r\n\r\n async setUserSettings({ dispatch, rootState }, payload) {\r\n var user = rootState.users.currentUser;\r\n await SettingRepository.set(user, payload).then(() =>\r\n dispatch(\"getUserSettings\")\r\n );\r\n },\r\n\r\n async getGlobalSettings({ commit, rootState }) {\r\n var user = rootState.users.currentUser;\r\n if (user === undefined || user === null) return;\r\n\r\n await SettingRepository.getGlobal(user).then((data) => {\r\n commit(\"SET_GLOBAL_SETTINGS\", data.data);\r\n });\r\n },\r\n\r\n async setGlobalSettings({ dispatch, rootState }, payload) {\r\n var user = rootState.users.currentUser;\r\n await SettingRepository.setGlobal(user, payload).then(() =>\r\n dispatch(\"getGlobalSettings\")\r\n );\r\n },\r\n\r\n async setCompanySettings({ dispatch, rootState }, payload) {\r\n var user = rootState.users.currentUser;\r\n var company = rootState.users.userCompany.companyId;\r\n\r\n await SettingRepository.setCompany(user, company, payload).then(() =>\r\n dispatch(\"getCompanySettings\")\r\n );\r\n },\r\n\r\n async getCompanySettings({ dispatch, commit, rootState }) {\r\n var user = rootState.users.currentUser;\r\n var company = rootState.users.userCompany.companyId;\r\n\r\n // Make sure to reset the fields and settings before\r\n commit(\"SET_COMPANY_FIELDS\", []);\r\n commit(\"SET_COMPANY\", {});\r\n await SettingRepository.getCompany(user, company).then((data) => {\r\n commit(\"SET_COMPANY\", data.data);\r\n });\r\n\r\n // Get the fields\r\n await dispatch(\"getCompanyFields\");\r\n },\r\n\r\n async getCompanyFields({ commit, rootState }) {\r\n var user = rootState.users.currentUser;\r\n\r\n await SettingRepository.getCompanyFields(user).then((data) => {\r\n commit(\"SET_COMPANY_FIELDS\", data.data);\r\n });\r\n },\r\n\r\n setCompanySettingLocal({ commit }, { key, value }) {\r\n commit(\"SET_COMPANY_SETTING\", { key, value });\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_DARKMODE(state, message) {\r\n state.darkmode = message;\r\n },\r\n SET_BASE_URL(state, url) {\r\n state.SO_API_BASE_URL = url;\r\n },\r\n\r\n SET_USER_SETTINGS(state, payload) {\r\n for (var i in Object.keys(payload)) {\r\n let key = Object.keys(payload)[i];\r\n if (payload[key] == \"true\" || payload[key] == \"false\")\r\n payload[key] = payload[key] == \"true\" ? true : false;\r\n }\r\n\r\n state.userSettings = payload;\r\n },\r\n\r\n SET_LICENSE(state, payload) {\r\n state.license = payload;\r\n },\r\n\r\n SET_GLOBAL_SETTINGS(state, payload) {\r\n state.globalSettings = payload;\r\n },\r\n\r\n SET_COMPANY(state, payload) {\r\n state.companySettings = payload;\r\n },\r\n\r\n SET_COMPANY_FIELDS(state, payload) {\r\n state.companyFields = payload;\r\n },\r\n\r\n SET_COMPANY_SETTING(state, keyValue) {\r\n state.companySettings[keyValue.key] = keyValue.value;\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\nimport i18n from \"@/plugins/i18n\";\nconst DashboardRepository = RepositoryFactory.get(\"dashboard\");\n\nexport const dashboards = {\n namespaced: true,\n state: {\n currentDashboard: {},\n dashboards: [],\n defaultDashboard: {},\n publicDashboard: null,\n publicDashboards: [],\n categories: [],\n hasDefault: false,\n status: {\n loading: false,\n },\n },\n\n actions: {\n async getDashboards({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await DashboardRepository.getDashboards(\n user,\n rootState.users.userCompany.companyId\n )\n .then((dashboards) => {\n commit(\"SET_DASHBOARDS\", dashboards.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async duplicate({ dispatch, commit, rootState }, { dashboardId, payload }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await DashboardRepository.duplicate(user, dashboardId, payload)\n .then(() => {\n dispatch(\"getDashboards\");\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async getDashboard({ dispatch, commit, rootState }, { dashboardId }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await DashboardRepository.getDashboard(user, dashboardId)\n .then((dashboard) => {\n commit(\"SET_DASHBOARD\", dashboard.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n });\n },\n\n async setDashboard({ commit }, dashboard) {\n commit(\"SET_DASHBOARD\", dashboard);\n },\n\n async create({ dispatch, commit, rootState }, { payload }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await DashboardRepository.createForCompany(\n user,\n rootState.users.userCompany.companyId,\n payload\n )\n .then(() => {\n dispatch(\"getDashboards\");\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async update({ dispatch, commit, rootState }, { dashboardId, payload }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await DashboardRepository.update(user, dashboardId, payload)\n .then(() => {\n dispatch(\"getDashboards\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async delete({ dispatch, commit, rootState }, dashboardId) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await DashboardRepository.delete(user, dashboardId)\n .then(() => {\n dispatch(\"getDashboards\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n\n await dispatch(\"getPublicDashboards\");\n },\n\n async setDefault({ dispatch, commit, rootState }, { dashboardId }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n await DashboardRepository.setDefault(user, dashboardId)\n .then(() => {\n dispatch(\"getDashboards\");\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async getDefault({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n await DashboardRepository.getDefault(user)\n .then((dashboard) => {\n commit(\"SET_DEFAULT\", dashboard.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async createPublicDashboard(\n { dispatch, commit, rootState },\n { dashboardId, expiresAt }\n ) {\n var user = rootState.users.currentUser;\n await DashboardRepository.createPublicDashboard(\n user,\n rootState.users.userCompany.companyId,\n dashboardId,\n expiresAt\n )\n .then((dashboard) => {\n commit(\"SET_PUBLIC_DASHBOARD\", dashboard.data);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n },\n\n async getPublicDashboards({ dispatch, commit, rootState }) {\n var user = rootState.users.currentUser;\n\n await DashboardRepository.getPublicDashboards(\n user,\n rootState.users.userCompany.companyId\n )\n .then((dashboard) => commit(\"SET_PUBLIC_DASHBOARDS\", dashboard.data))\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n });\n },\n\n async getPublicDashboard({ commit, rootState }, id) {\n var user = rootState.users.currentUser;\n if (user && user.userId != undefined) return;\n\n await DashboardRepository.getPublicDashboard(id).then((dashboard) => {\n commit(\"SET_PUBLIC_DASHBOARD\", dashboard.data);\n });\n },\n\n async deletePublicDashboard({ dispatch, rootState }, id) {\n var user = rootState.users.currentUser;\n\n await DashboardRepository.deletePublicDashboard(user, id)\n .then(() => {\n dispatch(\"getPublicDashboards\");\n })\n .catch(() => {\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n },\n\n async getDashboardCategories({ commit, rootState, dispatch }) {\n var user = rootState.users.currentUser;\n\n await DashboardRepository.getDashboardCategories(\n user,\n rootState.users.userCompany.companyId\n )\n .then((d) => {\n commit(\"SET_DASHBOARD_CATEGORIES\", d.data);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n });\n },\n\n async createDashboardCategories({ commit, rootState, dispatch }, payload) {\n var user = rootState.users.currentUser;\n commit(\"LOADING\", true);\n await DashboardRepository.createDashboardCategories(\n user,\n rootState.users.userCompany.companyId,\n payload\n )\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n });\n commit(\"LOADING\", false);\n },\n\n async updateDashboardCategories(\n { commit, rootState, dispatch },\n { categoryId: categoryId, payload: payload }\n ) {\n var user = rootState.users.currentUser;\n commit(\"LOADING\", true);\n await DashboardRepository.updateDashboardCategories(\n user,\n categoryId,\n payload\n )\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n });\n commit(\"LOADING\", false);\n },\n\n async updateDashboardCategoryIndexes(\n { commit, rootState, dispatch },\n payload\n ) {\n var user = rootState.users.currentUser;\n commit(\"LOADING\", true);\n\n await DashboardRepository.updateDashboardIndexes(user, payload)\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n });\n\n commit(\"LOADING\", false);\n },\n\n async removeDashboardCategory({ commit, rootState, dispatch }, categoryId) {\n var user = rootState.users.currentUser;\n commit(\"LOADING\", true);\n\n await DashboardRepository.removeDashboardIndexes(user, categoryId)\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n } else if (res.response.status === 400) {\n dispatch(\"alert/error\", i18n.t(res.response.data), { root: true });\n }\n });\n\n commit(\"LOADING\", false);\n },\n },\n\n mutations: {\n LOADING(state, status) {\n state.status.loading = status;\n },\n\n SET_DASHBOARD_CATEGORIES(state, categories) {\n state.categories = categories;\n },\n\n SET_PUBLIC_DASHBOARD(state, publicDashboard) {\n state.publicDashboard = publicDashboard;\n },\n\n SET_PUBLIC_DASHBOARDS(state, publicDashboards) {\n state.publicDashboards = publicDashboards;\n },\n\n DELETE_APPLICATION(state) {\n state.currentDashboard = {};\n },\n\n SET_DEFAULT(state, dashboard) {\n if (Object.entries(dashboard).length !== 0) {\n state.defaultDashboard = dashboard;\n state.currentDashboard = dashboard;\n state.hasDefault = true;\n } else {\n state.currentDashboard = {};\n state.defaultDashboard = {};\n state.hasDefault = false;\n }\n },\n\n SET_DASHBOARDS(state, dashboards) {\n state.dashboards = dashboards;\n },\n\n SET_DASHBOARD(state, dashboard) {\n state.currentDashboard = dashboard;\n },\n\n // eslint-disable-next-line\n RESET_STATE(state) {\n state = {\n currentDashboard: {},\n dashboards: [],\n status: {\n loading: false,\n },\n };\n },\n },\n};\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nconst DownlinkRepository = RepositoryFactory.get(\"downlinks\");\r\n\r\nexport const downlinks = {\r\n namespaced: true,\r\n state: {\r\n downlinks: [],\r\n status: {\r\n loading: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async getForTag({ dispatch, commit, rootState }, deveui) {\r\n if (!rootState.users.status.loggedIn) return;\r\n\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n return await DownlinkRepository.getForTag(user, deveui)\r\n .then((downlinks) => {\r\n commit(\"GET_DOWNLINKS\", downlinks.data);\r\n commit(\"LOADING\", false);\r\n return downlinks.data;\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n commit(\"LOADING\", false);\r\n return [];\r\n });\r\n },\r\n\r\n async removeDownlink({ dispatch, commit, rootState }, downlinkQueueId) {\r\n if (!rootState.users.status.loggedIn) return;\r\n commit(\"LOADING\", true);\r\n var user = rootState.users.currentUser;\r\n\r\n await DownlinkRepository.removeDownlink(user, downlinkQueueId)\r\n .then(() => commit(\"LOADING\", false))\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async createDownlink({ commit, dispatch, rootState }, { deveui, payload }) {\r\n if (!rootState.users.status.loggedIn) return;\r\n commit(\"LOADING\", true);\r\n var user = rootState.users.currentUser;\r\n\r\n await DownlinkRepository.createDownlink(user, deveui, payload)\r\n .then(() => commit(\"LOADING\", false))\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n commit(\"LOADING\", false);\r\n\r\n });\r\n }\r\n },\r\n\r\n mutations: {\r\n LOADING(state, status) {\r\n state.status.loading = status;\r\n },\r\n\r\n GET_DOWNLINKS(state, downlinks) {\r\n state.downlinks = downlinks;\r\n },\r\n },\r\n};\r\n","export const event = {\r\n namespaced: true,\r\n state: {\r\n events: [],\r\n },\r\n\r\n actions: {\r\n addEvent({ commit }, payload) {\r\n commit(\"SET_EVENT\", payload);\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_EVENT(state, payload) {\r\n state.events.unshift(payload);\r\n if (state.events.length > 50) state.events.pop();\r\n },\r\n },\r\n\r\n getters: {\r\n lastEvent(state) {\r\n if (state.events.length <= 0) return {};\r\n\r\n return state.events[0];\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport i18n from \"@/plugins/i18n\";\r\nconst Gateway = RepositoryFactory.get(\"gateways\");\r\n\r\nexport const gateways = {\r\n namespaced: true,\r\n state: {\r\n currentGateway: {},\r\n gateways: [],\r\n status: {\r\n loading: false,\r\n loggedIn: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async createGateway(\r\n { dispatch, commit, rootState },\r\n { applicationId, gatewayPayload }\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await Gateway.create(user, applicationId, gatewayPayload)\r\n .then((gateway) => {\r\n dispatch(\"getGateways\");\r\n commit(\"CREATE_GATEWAY\", gateway);\r\n commit(\"LOADING\", false);\r\n dispatch(\"alert/success\", i18n.t(\"common.created\"), { root: true });\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async deleteGateway({ dispatch, commit, rootState }, gatewayId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await Gateway.delete(user, gatewayId)\r\n .then(() => {\r\n dispatch(\"alert/success\", i18n.t(\"common.deleted\"), { root: true });\r\n dispatch(\"getGateways\");\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async getGateway({ dispatch, commit, rootState }, id) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await Gateway.getById(user, id)\r\n .then((res) => {\r\n commit(\"SET_GATEWAY\", res.data);\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response !== undefined && res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async getGateways({ dispatch, commit, rootState }) {\r\n var user = rootState.users.currentUser;\r\n var company = rootState.users.userCompany.companyId;\r\n commit(\"LOADING\", true);\r\n await Gateway.getByCompany(user, company)\r\n .then((data) => {\r\n commit(\"SET_GATEWAYS\", data.data);\r\n commit(\"LOADING\", true);\r\n })\r\n .catch((res) => {\r\n if (res.response !== undefined && res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async updatePosition(\r\n { dispatch, commit, rootState },\r\n { gatewayId, position }\r\n ) {\r\n var user = rootState.users.currentUser;\r\n\r\n commit(\"LOADING\", true);\r\n await Gateway.updatePosition(user, gatewayId, position)\r\n .then(() => {\r\n dispatch(\"getGateways\");\r\n commit(\"LOADING\", true);\r\n })\r\n .catch(() => {\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n },\r\n\r\n mutations: {\r\n LOADING(state, status) {\r\n state.status.loading = status;\r\n },\r\n\r\n CREATE_GATEWAY(state, gateway) {\r\n state.currentGateway = gateway;\r\n },\r\n\r\n SET_GATEWAY(state, gateway) {\r\n state.currentGateway = gateway;\r\n },\r\n\r\n SET_GATEWAYS(state, gateways) {\r\n state.gateways = gateways;\r\n },\r\n },\r\n};\r\n","import Vue from \"vue\";\r\nimport VueLocalStorage from \"vue-localstorage\";\r\nimport Languages from \"@/languages\";\r\nimport i18n from \"../../plugins/i18n\";\r\n\r\nVue.use(VueLocalStorage);\r\nconst supportedLanguages = Object.getOwnPropertyNames(Languages);\r\n\r\nexport const languages = {\r\n namespaced: true,\r\n state: {\r\n language: Vue.localStorage.get(\"language\")\r\n },\r\n\r\n mutations: {\r\n SET_LANGUAGE(state, lang) {\r\n Vue.localStorage.set(\"language\", lang);\r\n state.language = lang;\r\n i18n.locale = lang;\r\n }\r\n },\r\n\r\n actions: {\r\n setLanguage({ commit }, languages) {\r\n if (typeof languages === \"string\") {\r\n commit(\"SET_LANGUAGE\", languages);\r\n } else if (languages != null) {\r\n const language = supportedLanguages.find(sl =>\r\n languages.find(l =>\r\n l.split(new RegExp(sl, \"gi\")).length - 1 > 0 ? sl : null\r\n )\r\n );\r\n\r\n commit(\"SET_LANGUAGE\", language);\r\n }\r\n }\r\n }\r\n};\r\n","export default {\r\n getMetricsUrlParams(metrics) {\r\n var params = [];\r\n\r\n for (var k in metrics) {\r\n if (Array.isArray(metrics[k])) {\r\n params.push(`${k}=${metrics[k].map((v) => encodeURIComponent(v)).join(\",\")}`);\r\n } else {\r\n params.push(`${k}=${encodeURIComponent(metrics[k])}`);\r\n }\r\n }\r\n\r\n return \"?\" + params.join(\"&\");\r\n }\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport i18n from \"@/plugins/i18n\";\r\nimport MetricHelper from \"@/_helpers/metricHelper.js\";\r\n\r\nconst LogRepository = RepositoryFactory.get(\"log\");\r\n\r\nexport const logs = {\r\n namespaced: true,\r\n state: {\r\n logs: [],\r\n staticLogs: [],\r\n activeUsers: [],\r\n activeAlarms: [],\r\n lastRequestLogs: [],\r\n datapoints: null,\r\n status: {\r\n loading: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async clearLog({ commit }) {\r\n commit(\"CLEAR_LOG\");\r\n },\r\n\r\n async get({ dispatch, commit, rootState }, metrics) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await LogRepository.get(user, MetricHelper.getMetricsUrlParams(metrics))\r\n .then((tags) => {\r\n commit(\"GET_LOGS\", tags.data);\r\n commit(\"GET_STATIC_LOGS\", tags.data);\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async activeUsers({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await LogRepository.getActiveUsers(user)\r\n .then((users) => {\r\n commit(\"GET_ACTIVEUSERS\", users.data);\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getDatapoints({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await LogRepository.getDatapoints(user)\r\n .then((points) => {\r\n commit(\"GET_DATAPOINTS\", points.data);\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async getActiveAlarms({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await LogRepository.getActiveAlarms(user)\r\n .then((alarms) => {\r\n commit(\"GET_ALARMS\", alarms.data);\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n },\r\n\r\n mutations: {\r\n LOADING(state, status) {\r\n state.status.loading = status;\r\n },\r\n\r\n GET_DATAPOINTS(state, points) {\r\n state.datapoints = points;\r\n },\r\n\r\n GET_ALARMS(state, alarms) {\r\n state.activeAlarms = alarms;\r\n },\r\n\r\n GET_STATIC_LOGS(state, logs) {\r\n state.staticLogs = logs;\r\n },\r\n\r\n GET_LOGS(state, logs) {\r\n if (state.logs.length > 0) {\r\n logs.forEach((e) => state.logs.unshift(e));\r\n state.lastRequestLogs = logs.reverse();\r\n\r\n if (state.logs.length > 200) {\r\n var len = state.logs.length - 200;\r\n state.logs.splice(200, len);\r\n }\r\n } else {\r\n state.logs = logs;\r\n }\r\n },\r\n\r\n GET_ACTIVEUSERS(state, users) {\r\n state.activeUsers = users;\r\n },\r\n\r\n CLEAR_LOG(state) {\r\n state.logs = [];\r\n },\r\n\r\n // eslint-disable-next-line\r\n RESET_STATE(state) {\r\n state = {\r\n activeUsers: [],\r\n logs: [],\r\n status: {\r\n loading: false,\r\n },\r\n };\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport i18n from \"@/plugins/i18n\";\r\nimport CsharpEnum from \"@/_helpers/CsharpEnum\";\r\nconst ModuleRepository = RepositoryFactory.get(\"module\");\r\n\r\nexport const modules = {\r\n namespaced: true,\r\n state: {\r\n currentModule: null,\r\n modules: [],\r\n status: {\r\n loading: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async getModules({ dispatch, commit, rootState }, { dashboardId }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await ModuleRepository.get(user, dashboardId)\r\n .then((modules) => {\r\n commit(\"SET_MODULES\", modules.data);\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async getModule({ dispatch, commit, rootState }, { moduleId }) {\r\n commit(\"LOADING\", true);\r\n var user = rootState.users.currentUser;\r\n\r\n if (moduleId === undefined || moduleId === null)\r\n moduleId = rootState.modules.currentModule.dashboardModuleId;\r\n\r\n await ModuleRepository.getModule(user, moduleId)\r\n .then((mod) => {\r\n commit(\"ADD_MODULE\", mod.data);\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async setModules({ commit }, modules) {\r\n commit(\"SET_MODULES\", modules);\r\n },\r\n\r\n async create({ dispatch, commit, rootState }, { dashboardId, payload }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await ModuleRepository.create(user, dashboardId, payload)\r\n .then((mod) => {\r\n if (\r\n (mod.data.type !== CsharpEnum.ModuleType.IMAGEMAP &&\r\n mod.data.type !== CsharpEnum.ModuleType.IMAGE) ||\r\n (CsharpEnum.ModuleType.IMAGE === mod.data.type &&\r\n mod.data.tag !== null)\r\n ) {\r\n commit(\"ADD_MODULE\", mod.data);\r\n } else {\r\n commit(\"SET_CURRENT\", mod.data);\r\n }\r\n\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async update({ dispatch, commit, rootState }, { moduleId, payload }) {\r\n commit(\"LOADING\", true);\r\n commit(\"SET_CURRENT\", payload);\r\n\r\n var user = rootState.users.currentUser;\r\n var dashboardId = rootState.dashboards.currentDashboard.dashboardId;\r\n await ModuleRepository.update(user, moduleId, payload)\r\n .then(() => {\r\n dispatch(\"getModules\", {\r\n dashboardId: dashboardId,\r\n });\r\n\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async copyModule({ dispatch, rootState }, moduleId) {\r\n var user = rootState.users.currentUser;\r\n await ModuleRepository.copyModule(user, moduleId)\r\n .then(() => {\r\n dispatch(\"getModules\", {\r\n dashboardId: rootState.dashboards.currentDashboard.dashboardId,\r\n });\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n },\r\n\r\n async updateModules({ commit, rootState }, payload) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n await ModuleRepository.updateModules(user, payload)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch(() => {\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async delete({ dispatch, commit, rootState }, { moduleId }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await ModuleRepository.delete(user, moduleId)\r\n .then(() => {\r\n dispatch(\"getModules\", {\r\n dashboardId: rootState.dashboards.currentDashboard.dashboardId,\r\n });\r\n commit(\"LOADING\", false);\r\n })\r\n\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async postImage({ dispatch, commit, rootState }, { moduleId, image }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await ModuleRepository.postImage(user, moduleId, image)\r\n .then(() => {\r\n dispatch(\"getModule\", {\r\n moduleId: rootState.modules.currentModule.dashboardModuleId,\r\n });\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async updateIndex({ commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n var user = rootState.users.currentUser;\r\n var modules = rootState.modules.modules;\r\n\r\n for (let i = 0; i < modules.length; i++) {\r\n if (modules[i].dashboardModuleId !== undefined) {\r\n modules[i].index = i;\r\n await ModuleRepository.update(\r\n user,\r\n modules[i].dashboardModuleId,\r\n modules[i]\r\n );\r\n }\r\n }\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n },\r\n\r\n mutations: {\r\n LOADING(state, status) {\r\n state.status.loading = status;\r\n },\r\n\r\n SET_CURRENT(state, mod) {\r\n state.currentModule = mod;\r\n },\r\n\r\n ADD_MODULE(state, mod) {\r\n state.currentModule = mod;\r\n\r\n state.modules.push(mod);\r\n },\r\n\r\n SET_MODULES(state, modules) {\r\n state.modules = modules;\r\n },\r\n\r\n // eslint-disable-next-line\r\n RESET_STATE(state) {\r\n state = {\r\n modules: [],\r\n status: {\r\n loading: false,\r\n },\r\n };\r\n },\r\n },\r\n};\r\n","import MqttRepository from \"../../api/repositories/mqttRepository.js\";\r\nimport i18n from \"../../plugins/i18n\";\r\n\r\nexport const mqtt = {\r\n namespaced: true,\r\n state: {\r\n brokers: [],\r\n brokersWithMetrics: [],\r\n mqttMeta: {},\r\n },\r\n\r\n actions: {\r\n async getBrokers({ commit, rootState, dispatch }) {\r\n var user = rootState.users.currentUser;\r\n var company = rootState.users.userCompany.companyId;\r\n\r\n await MqttRepository.getBrokers(user, company)\r\n .then((d) => {\r\n commit(\"SET_BROKERS\", d.data);\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n },\r\n\r\n async getBrokersWithMetrics({ commit, rootState, dispatch }) {\r\n var user = rootState.users.currentUser;\r\n var company = rootState.users.userCompany.companyId;\r\n\r\n await MqttRepository.getBrokersWithMetrics(user, company)\r\n .then((d) => {\r\n commit(\"SET_BROKERS_WITH_METRICS\", d.data);\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n },\r\n\r\n async createBroker({ rootState, dispatch }, payload) {\r\n var user = rootState.users.currentUser;\r\n var company = rootState.users.userCompany.companyId;\r\n\r\n let result = false;\r\n await MqttRepository.createBroker(user, company, payload)\r\n .then(() => {\r\n dispatch(\"alert/success\", i18n.t(\"common.created\"), { root: true });\r\n result = true;\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n\r\n return result;\r\n },\r\n\r\n async updateBroker({ rootState, dispatch }, { brokerId, payload }) {\r\n var user = rootState.users.currentUser;\r\n\r\n let result = false;\r\n await MqttRepository.updateBroker(user, brokerId, payload)\r\n .then(() => {\r\n dispatch(\"alert/success\", i18n.t(\"common.updated\"), { root: true });\r\n result = true;\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n\r\n return result;\r\n },\r\n\r\n async deleteBroker({ rootState, dispatch }, brokerId) {\r\n var user = rootState.users.currentUser;\r\n\r\n let result = false;\r\n await MqttRepository.deleteBroker(user, brokerId)\r\n .then(() => {\r\n dispatch(\"alert/success\", i18n.t(\"common.deleted\"), { root: true });\r\n result = true;\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n\r\n return result;\r\n },\r\n\r\n async createMqttMeta(\r\n { dispatch, rootState },\r\n { brokerId, deveui, payload }\r\n ) {\r\n var user = rootState.users.currentUser;\r\n\r\n let result = false;\r\n await MqttRepository.createMqttMeta(user, brokerId, deveui, payload)\r\n .then(() => {\r\n result = true;\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n\r\n return result;\r\n },\r\n\r\n async updateMqttMeta(\r\n { dispatch, rootState },\r\n { mqttMetaId, brokerId, payload }\r\n ) {\r\n var user = rootState.users.currentUser;\r\n\r\n let result = false;\r\n await MqttRepository.updateMqttMeta(user, mqttMetaId, brokerId, payload)\r\n .then(() => {\r\n result = true;\r\n dispatch(\"alert/success\", i18n.t(\"common.updated\"), { root: true });\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n\r\n return result;\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_BROKERS(state, data) {\r\n state.brokers = data;\r\n },\r\n\r\n SET_BROKERS_WITH_METRICS(state, data) {\r\n state.brokersWithMetrics = data;\r\n },\r\n },\r\n\r\n getters: {\r\n brokers(state) {\r\n return state.brokers;\r\n },\r\n\r\n brokersWithMetrics(state) {\r\n return state.brokersWithMetrics;\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport i18n from \"@/plugins/i18n\";\r\n\r\nconst NotificationRepository = RepositoryFactory.get(\"notification\");\r\n\r\nexport const notifications = {\r\n namespaced: true,\r\n state: {\r\n notifications: [],\r\n status: {\r\n loading: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async getNotifications({ dispatch, commit, rootState }) {\r\n // Cancel notification retrieval if the user is not logged in\r\n if (!rootState.users.status.loggedIn) return;\r\n\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await NotificationRepository.get(user, user.userId)\r\n .then((notifications) => {\r\n commit(\"GET_NOTIFICATIONS\", notifications.data);\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async deactivateNotification(\r\n { dispatch, commit, rootState },\r\n notificationId\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await NotificationRepository.deactivate(user, notificationId)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n dispatch(\"getNotifications\", { root: true });\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async deactivateAllNotifications({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await NotificationRepository.deactivateAll(user, user.userId)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n dispatch(\"getNotifications\", { root: true });\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n },\r\n\r\n mutations: {\r\n LOADING(state, status) {\r\n state.status.loading = status;\r\n },\r\n\r\n GET_NOTIFICATIONS(state, notifications) {\r\n state.notifications = notifications;\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\nimport i18n from \"@/plugins/i18n\";\nimport { saveAs } from \"file-saver\";\nimport { format } from \"date-fns\";\n\nconst ReportRepository = RepositoryFactory.get(\"report\");\n\nexport const reports = {\n namespaced: true,\n state: {\n currentReport: {},\n reports: [],\n status: {\n loading: false,\n },\n },\n\n actions: {\n async getReports({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await ReportRepository.getReports(\n user,\n rootState.users.userCompany.companyId\n )\n .then((reports) => {\n commit(\"GET_REPORTS\", reports.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async getReport({ dispatch, commit, rootState }, { reportId }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await ReportRepository.getReport(user, reportId)\n .then((report) => {\n commit(\"GET_CURRENT\", report.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async create({ dispatch, commit, rootState }, { payload }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await ReportRepository.create(user, payload)\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getReports\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async update({ dispatch, commit, rootState }, { reportId, payload }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await ReportRepository.update(user, reportId, payload)\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getReports\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async delete({ dispatch, commit, rootState }, { reportId }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await ReportRepository.delete(user, reportId)\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getReports\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async multiExport({ dispatch, commit, rootState }, { payload }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n var companyId = null;\n companyId = rootState.users.userCompany.companyId;\n\n await ReportRepository.multiExport(user, payload, companyId)\n .then((res) => {\n var date = format(new Date(), \"YYY-MM-dd\");\n saveAs(new Blob([res.data]), `SensorOnline-Report-${date}.xlsx`);\n })\n .catch((res) => {\n if (res.response.status === 404) {\n dispatch(\"alert/error\", i18n.t(\"report.noData\"), { root: true });\n } else\n dispatch(\"alert/error\", i18n.t(\"report.downloadFailed\"), {\n root: true,\n });\n });\n\n commit(\"LOADING\", false);\n },\n },\n\n mutations: {\n LOADING(state, status) {\n state.status.loading = status;\n },\n\n GET_REPORTS(state, reports) {\n state.reports = reports;\n },\n\n GET_CURRENT(state, report) {\n state.currentReport = report;\n },\n },\n};\n","import RoleRepository from \"../../api/repositories/roleRepository.js\";\r\nimport restrictHelper from \"../../_helpers/RestrictHelper.js\";\r\n\r\nexport const roles = {\r\n namespaced: true,\r\n state: {\r\n role: {},\r\n roles: [],\r\n recommended: [],\r\n permissions: [],\r\n },\r\n\r\n actions: {\r\n async getRolesByCompany({ commit, dispatch, rootState }) {\r\n await RoleRepository.getAllByCompany(\r\n rootState.users.currentUser,\r\n rootState.users.userCompany.companyId\r\n )\r\n .then((d) => {\r\n commit(\"SET_ROLES\", d.data);\r\n })\r\n .catch((res) => {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: rootState.users.credentials.email,\r\n password: rootState.users.credentials.password,\r\n },\r\n { root: true }\r\n );\r\n }\r\n });\r\n },\r\n\r\n getRoleById({ state, commit }, id) {\r\n var res = state.roles.find((e) => e.userRoleId == id);\r\n if (res != null) commit(\"SET_ROLE\", res);\r\n },\r\n\r\n async createRole({ dispatch, rootState }, payload) {\r\n await RoleRepository.create(\r\n rootState.users.currentUser,\r\n rootState.users.userCompany.companyId,\r\n payload\r\n ).then(() => dispatch(\"getRolesByCompany\"));\r\n },\r\n\r\n async updateRole({ dispatch, rootState }, payload) {\r\n await RoleRepository.update(\r\n rootState.users.currentUser,\r\n payload.userRoleId,\r\n payload\r\n ).then(() => dispatch(\"getRolesByCompany\"));\r\n },\r\n\r\n async getRecommendedPermissions({ commit, rootState }, ids) {\r\n if (ids == null || ids.length <= 0) {\r\n commit(\"SET_RECOMMENDED\", []);\r\n return;\r\n }\r\n\r\n await RoleRepository.getRecommendedPermissions(\r\n rootState.users.currentUser,\r\n ids\r\n ).then((d) => {\r\n commit(\"SET_RECOMMENDED\", d.data);\r\n });\r\n },\r\n\r\n async getPermissions({ commit, rootState }) {\r\n await RoleRepository.getPermissions(rootState.users.currentUser).then(\r\n (d) => {\r\n commit(\"SET_PERMISSIONS\", d.data);\r\n }\r\n );\r\n },\r\n\r\n setRole({ state, commit }, userRoleId) {\r\n var role = state.roles.find((e) => e.userRoleId == userRoleId);\r\n\r\n if (role != null) commit(\"SET_ROLE\", role);\r\n },\r\n },\r\n\r\n mutations: {\r\n SET_ROLE(state, role) {\r\n state.role = role;\r\n },\r\n\r\n SET_ROLES(state, roles) {\r\n state.roles = roles;\r\n },\r\n\r\n SET_RECOMMENDED(state, value) {\r\n state.recommended = value;\r\n },\r\n\r\n SET_PERMISSIONS(state, value) {\r\n state.permissions = value;\r\n },\r\n },\r\n\r\n getters: {\r\n defaultsWithPermissions(status) {\r\n return status.roles.filter((d) => d.isDefault);\r\n },\r\n\r\n permittedRoles(state) {\r\n if (!restrictHelper.methods.permitted(\"UserRole.Update\")) return [];\r\n\r\n if (restrictHelper.methods.permitted(\"SuperAdmin\")) return state.roles;\r\n\r\n return state.roles.filter((e) => !e.isSuper);\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\nimport i18n from \"@/plugins/i18n\";\n\nconst ScriptRepository = RepositoryFactory.get(\"script\");\n\nexport const scripts = {\n namespaced: true,\n state: {\n currentScript: {},\n scripts: [],\n validScript: true,\n error: null,\n status: {\n loading: false,\n },\n },\n\n actions: {\n async getScripts({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await ScriptRepository.getScripts(\n user,\n rootState.users.userCompany.companyId\n )\n .then((scripts) => {\n commit(\"GET_SCRIPTS\", scripts.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async getScript({ dispatch, commit, rootState }, { scriptId }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await ScriptRepository.getScript(user, scriptId)\n .then((script) => {\n commit(\"GET_CURRENT\", script.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async create({ dispatch, commit, rootState }, { payload }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await ScriptRepository.create(\n user,\n rootState.users.userCompany.companyId,\n payload\n )\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getScripts\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n async edit({ dispatch, commit, rootState }, { scriptId, payload }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n await ScriptRepository.put(user, scriptId, payload)\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getScripts\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async delete({ dispatch, commit, rootState }, { scriptId }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await ScriptRepository.delete(user, scriptId)\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getScripts\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async execute({ dispatch, commit, rootState }, { scriptId }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n await ScriptRepository.execute(user, scriptId)\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getScripts\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async test({ commit, rootState }, { payload }) {\n commit(\"LOADING\", true);\n\n var companyId = rootState.users.userCompany.companyId;\n\n var user = rootState.users.currentUser;\n\n await ScriptRepository.test(user, payload, companyId)\n .then(() => {\n commit(\"SET_VALIDSCRIPT\", { valid: true });\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n commit(\"SET_VALIDSCRIPT\", { valid: false, msg: res.response.data });\n commit(\"LOADING\", false);\n });\n },\n\n async setCurrentScript({ commit }, script) {\n commit(\"GET_CURRENT\", script);\n },\n\n async resetValidScript({ commit }) {\n commit(\"SET_VALIDSCRIPT\", { valid: true });\n },\n },\n\n mutations: {\n LOADING(state, status) {\n state.status.loading = status;\n },\n\n GET_SCRIPTS(state, scripts) {\n state.scripts = scripts;\n },\n\n GET_CURRENT(state, script) {\n state.currentScript = script;\n },\n\n SET_VALIDSCRIPT(state, content) {\n if (!content.valid) {\n state.error = content.msg;\n }\n\n state.validScript = content.valid;\n },\n },\n};\n","export const settings = {\r\n namespaced: true,\r\n state: {\r\n moduleSettings: [],\r\n googleMapsZoom: 7,\r\n googleMapsLatLng: null,\r\n googleMapsViewType: \"roadmap\",\r\n imageMapZoom: -1,\r\n },\r\n\r\n actions: {\r\n addModuleSetting({ commit }, { moduleId, timeOffset }) {\r\n commit(\"ADD_MODULE_SETTING\", { moduleId, timeOffset });\r\n },\r\n\r\n setGoogleMapsZoom({ commit }, level) {\r\n commit(\"SET_GOOGLEMAPS_ZOOM\", level);\r\n },\r\n\r\n setLatnLng({ commit }, latnlng) {\r\n commit(\"SET_LAT_LNG\", latnlng);\r\n },\r\n\r\n setMapType({ commit }, viewType) {\r\n commit(\"SET_VIEW_TYPE\", viewType);\r\n },\r\n\r\n setImageMapZoom({ commit }, level) {\r\n commit(\"SET_IMAGE_MAP_ZOOM\", level);\r\n },\r\n },\r\n\r\n mutations: {\r\n ADD_MODULE_SETTING(state, { moduleId, timeOffset }) {\r\n state.moduleSettings[moduleId] = timeOffset;\r\n },\r\n\r\n SET_GOOGLEMAPS_ZOOM(state, level) {\r\n state.googleMapsZoom = level;\r\n },\r\n\r\n SET_LAT_LNG(state, latnLng) {\r\n state.googleMapsLatLng = latnLng;\r\n },\r\n\r\n SET_VIEW_TYPE(state, viewType) {\r\n state.googleMapsViewType = viewType;\r\n },\r\n\r\n SET_IMAGE_MAP_ZOOM(state, level) {\r\n state.imageMapZoom = level;\r\n },\r\n\r\n RESET_STATE(state) {\r\n state.moduleSettings = [];\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport i18n from \"@/plugins/i18n\";\r\nconst Repo = RepositoryFactory.get(\"signalTest\");\r\n\r\nexport const signalTests = {\r\n namespaced: true,\r\n state: {\r\n currentTest: {},\r\n signalTests: [],\r\n testData: [],\r\n },\r\n\r\n mutations: {\r\n SET_TEST(state, test) {\r\n state.currentTest = test;\r\n },\r\n\r\n SET_TEST_DATAS(state, datas) {\r\n state.testData = datas;\r\n },\r\n\r\n SET_TESTS(state, tests) {\r\n state.signalTests = tests;\r\n },\r\n },\r\n\r\n actions: {\r\n async getTests({ rootState, dispatch }) {\r\n var user = rootState.users.currentUser;\r\n var company = rootState.users.userCompany.companyId;\r\n\r\n let result = [];\r\n\r\n await Repo.getTests(user, company)\r\n .then((data) => {\r\n result = data.data;\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\r\n root: true,\r\n });\r\n });\r\n\r\n return result;\r\n },\r\n\r\n async peek({ rootState, dispatch }, testId) {\r\n var user = rootState.users.currentUser;\r\n let result = [];\r\n\r\n await Repo.peek(user, testId)\r\n .then((data) => {\r\n result = data.data;\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\r\n root: true,\r\n });\r\n });\r\n\r\n return result;\r\n },\r\n\r\n async getTest({ rootState, dispatch }, testId) {\r\n var user = rootState.users.currentUser;\r\n let result = [];\r\n\r\n await Repo.getTest(user, testId)\r\n .then((data) => {\r\n result = data.data;\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\r\n root: true,\r\n });\r\n });\r\n\r\n return result;\r\n },\r\n\r\n async startTest({ commit, rootState, dispatch }, { deveui, payload }) {\r\n var user = rootState.users.currentUser;\r\n var company = rootState.users.userCompany.companyId;\r\n\r\n await Repo.startTest(user, company, deveui, payload)\r\n .then((test) => {\r\n dispatch(\"getTests\");\r\n commit(\"SET_TEST\", test.data);\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\r\n root: true,\r\n });\r\n });\r\n },\r\n\r\n async endTest({ rootState, dispatch }, testId) {\r\n var user = rootState.users.currentUser;\r\n\r\n await Repo.endTest(user, testId)\r\n .then(() => {\r\n dispatch(\"getTests\");\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\r\n root: true,\r\n });\r\n });\r\n },\r\n\r\n async deleteTest({ rootState, dispatch }, testId) {\r\n var user = rootState.users.currentUser;\r\n\r\n await Repo.deleteTest(user, testId)\r\n .then(() => {\r\n dispatch(\"getTests\");\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\r\n root: true,\r\n });\r\n });\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\nimport i18n from \"@/plugins/i18n\";\nimport { Roles } from \"@/_helpers/Role\";\nimport ApiHelper from \"@/_helpers/apiHelper.js\";\nimport companyRepository from \"../../api/repositories/companyRepository\";\nimport DecoderHelper from \"@/_helpers/DecoderHelper\";\n\nconst TagRepository = RepositoryFactory.get(\"tag\");\n\nexport const tag = {\n namespaced: true,\n state: {\n currentTag: {},\n currentLabel: {},\n tagsWithInformation: [],\n tags: [],\n tagsWithKeys: [],\n batteryStatuses: [],\n tagsInPool: [],\n detail: {},\n status: {\n loading: false,\n },\n apiErrors: [],\n decoders: [],\n },\n\n actions: {\n async getTags({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n await TagRepository.getByCompanyId(\n user,\n rootState.users.userCompany.companyId\n )\n .then((tags) => {\n commit(\"GET_TAGS\", tags.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n\n commit(\"LOADING\", false);\n },\n\n async getTagAsync({ commit, rootState }, id) {\n var user = rootState.users.currentUser;\n\n let data = {};\n await TagRepository.getById(user, id)\n .then((tag) => {\n commit(\"CREATED_TAG\", tag.data);\n data = tag.data;\n })\n .catch(() => {\n commit(\"LOADING\", false);\n });\n\n return data;\n },\n\n async createTag(\n { dispatch, commit, rootState },\n { applicationId, payload }\n ) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await TagRepository.create(user, applicationId, payload)\n .then((tag) => {\n commit(\"CREATED_TAG\", tag.data);\n commit(\"CLEAR_ERRORS\");\n dispatch(\"getTags\", user);\n dispatch(\"alert/success\", i18n.t(\"common.created\"), {\n root: true,\n });\n })\n .catch((res) => {\n commit(\"SET_ERRORS\", res.response.data.errors);\n\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n } else if (ApiHelper.checkForConflict(res.response)) {\n dispatch(\"alert/error\", i18n.t(\"validation.deveuiConflict\"), {\n root: true,\n });\n }\n\n commit(\"LOADING\", false);\n });\n },\n\n async updateTag(\n { dispatch, commit, rootState },\n { payload, fetch = true }\n ) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await TagRepository.update(user, payload)\n .then((tag) => {\n commit(\"CREATED_TAG\", tag.data);\n commit(\"CLEAR_ERRORS\");\n if (fetch) {\n dispatch(\"getTags\", user);\n }\n dispatch(\"alert/success\", i18n.t(\"common.updated\"), {\n root: true,\n });\n })\n .catch((res) => {\n commit(\"SET_ERRORS\", res.response.data.errors);\n\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async deleteTag({ dispatch, commit, rootState }, { tagId }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n let success = false;\n await TagRepository.delete(user, tagId)\n .then(() => {\n commit(\"DELETED_TAG\");\n dispatch(\"getTags\", user);\n dispatch(\"alert/success\", i18n.t(\"common.deleted\"), { root: true });\n success = true;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n\n return success;\n },\n\n async setTag({ commit }, tag) {\n commit(\"SET_TAG\", tag);\n },\n\n async getKeysForTag({ dispatch, commit, rootState }, { tagId }) {\n commit(\"LOADING\", true);\n await dispatch(\"tagData/setTagDataKeys\", [], { root: true });\n\n await TagRepository.getKeys(rootState.users.currentUser, tagId)\n .then((keys) => {\n dispatch(\"tagData/setTagDataKeys\", keys.data, { root: true });\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async getKeysForTagAsync({ dispatch, commit, rootState }, { tagId }) {\n commit(\"LOADING\", true);\n\n return await TagRepository.getKeys(rootState.users.currentUser, tagId)\n .then((keys) => {\n commit(\"LOADING\", false);\n return keys.data;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n return [];\n });\n },\n\n async getDetails({ dispatch, commit, rootState }, deveui) {\n var user = rootState.users.currentUser;\n return await TagRepository.getDetails(user, deveui)\n .then((d) => {\n commit(\"SET_DETAIL\", d.data);\n return d.data;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n });\n },\n\n async getTagWithKeys({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n var tags = [];\n\n if (user.role === Roles.SuperAdmin) {\n await TagRepository.getByCompanyId(\n user,\n rootState.users.userCompany.companyId\n )\n .then((response) => {\n tags = response.data;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n } else {\n await TagRepository.get(user)\n .then((response) => {\n tags = response.data;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n }\n\n if (tags.length > 0) {\n for (var i = 0; i < tags.length; i++) {\n await TagRepository.getKeys(user, tags[i].deveui).then((response) => {\n var keys = [];\n response.data.forEach((e) => {\n keys.push({ name: e.key });\n });\n tags[i].keys = keys;\n });\n\n tags[i].name = tags[i].deveui + \" - \" + tags[i].name;\n }\n }\n\n commit(\"LOADING\", false);\n commit(\"SET_TAG_WITH_KEY\", tags);\n },\n\n resetState({ commit }) {\n commit(\"RESET_STATE\");\n },\n\n async uploadTagImage({ dispatch, commit, rootState }, { payload, tagId }) {\n commit(\"LOADING\", true);\n\n await TagRepository.uploadImage(\n rootState.users.currentUser,\n tagId,\n payload\n )\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getTags\", rootState.user.currentUser);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async deleteImage({ dispatch, commit, rootState }, { tagId }) {\n commit(\"LOADING\", true);\n\n await TagRepository.deleteImage(rootState.users.currentUser, tagId)\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getTags\", rootState.user.currentUser);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async setDefaultKey({ dispatch, commit, rootState }, { tagId, key }) {\n commit(\"LOADING\", true);\n\n await TagRepository.setDefaultKey(rootState.users.currentUser, tagId, key)\n .then(() => {\n commit(\"LOADING\", false);\n dispatch(\"getTags\");\n\n // Get the tags and batterystatuses\n dispatch(\"companies/getBatteryStatuses\", null, { root: true });\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async addTagKey({ dispatch, commit, rootState }, { payload }) {\n commit(\"LOADING\", true);\n\n await TagRepository.addTagKey(rootState.users.currentUser, payload)\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async updateTagKey({ dispatch, commit, rootState }, { payload }) {\n commit(\"LOADING\", true);\n\n await TagRepository.updateTagKey(rootState.users.currentUser, payload)\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async deleteTagKey({ dispatch, commit, rootState }, { tagId, key }) {\n commit(\"LOADING\", true);\n\n await TagRepository.deleteTagKey(rootState.users.currentUser, tagId, key)\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async getKeyLabel({ dispatch, commit, rootState }, { tagId, key }) {\n commit(\"LOADING\", true);\n\n return await TagRepository.getKeyLabel(\n rootState.users.currentUser,\n tagId,\n key\n )\n .then((res) => {\n commit(\"LOADING\", false);\n commit(\"SET_LABEL\", res.data);\n return res.data;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async getTagPool({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n await TagRepository.getTagPool(rootState.users.currentUser)\n .then((tags) => {\n commit(\"LOADING\", false);\n commit(\"SET_TAGPOOL\", tags.data);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async updateTagPoolStatus({ dispatch, commit, rootState }, deveui) {\n commit(\"LOADING\", true);\n await TagRepository.updateTagPoolStatus(\n rootState.users.currentUser,\n deveui\n )\n .then(() => {\n dispatch(\"getTagPool\");\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n setBatteryStatuses({ commit }, statuses) {\n commit(\"SET_BATTERY_STATUSES\", statuses);\n },\n\n async getTagsWithInformation({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await companyRepository\n .getTagsWithInformation(user, rootState.users.userCompany.companyId)\n .then((res) => {\n commit(\"SET_TAGS_WITH_INFORMATION\", res.data);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n });\n commit(\"LOADING\", false);\n },\n\n async getLatestForCompany({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await dispatch(\"getTags\", user);\n\n var payload = [];\n var tags = this.state.tag.tags;\n await companyRepository\n .getLatestTagData(user, rootState.users.userCompany.companyId)\n .then((res) => {\n for (var i = 0; i < tags.length; i++) {\n payload[i] = tags[i];\n payload[i].data = [];\n\n res.data.forEach((d) => {\n if (d.tagDeveui == payload[i].deveui) {\n if (d.key == \"rssi\") payload[i].rssi = d.value;\n else if (d.key == \"vdd\") payload[i].vdd = d.value;\n else {\n payload[i].data.push(d);\n }\n\n if (\n payload[i].latestTime == undefined ||\n d.createdAt > payload[i].latestTime\n )\n payload[i].latestTime = d.createdAt;\n }\n });\n }\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n\n { root: true }\n );\n }\n });\n commit(\"GET_TAGS\", payload);\n\n commit(\"LOADING\", false);\n },\n\n async getDecoders({ commit, rootState }) {\n var user = rootState.users.currentUser;\n await TagRepository.getDecoders(user)\n .then((d) => {\n commit(\"SET_DECODERS\", d.data);\n })\n .catch(() => {\n commit(\"SET_DECODERS\", DecoderHelper.decoders);\n });\n },\n\n async setTagData({ dispatch, commit, rootState }, { tagId, payload }) {\n commit(\"LOADING\", true);\n\n await TagRepository.setData(rootState.users.currentUser, tagId, payload)\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n commit(\"LOADING\", false);\n });\n },\n },\n\n mutations: {\n LOADING(state, status) {\n state.status.loading = status;\n },\n\n SET_TAGPOOL(state, tagPool) {\n state.tagsInPool = tagPool;\n },\n\n SET_BATTERY_STATUSES(state, statuses) {\n state.batteryStatuses = statuses;\n },\n\n GET_TAGS(state, tags) {\n state.tags = tags;\n },\n\n CREATED_TAG(state, tag) {\n state.currentTag = tag;\n },\n\n DELETED_TAG(state) {\n state.currentTag = {};\n },\n\n SET_TAG(state, tag) {\n state.currentTag = tag;\n },\n\n SET_LABEL(state, label) {\n state.currentLabel = label;\n },\n\n SET_TAG_WITH_KEY(state, tags) {\n state.tagsWithKeys = tags;\n },\n\n SET_ERRORS(state, errors) {\n state.apiErrors = errors;\n },\n\n CLEAR_ERRORS(state) {\n state.apiErrors = [];\n },\n\n SET_DECODERS(state, decoders) {\n state.decoders = decoders;\n },\n\n SET_TAGS_WITH_INFORMATION(state, data) {\n state.tagsWithInformation = data;\n },\n\n SET_DETAIL(state, data) {\n state.detail = data;\n },\n\n // eslint-disable-next-line\n RESET_STATE(state) {\n state = {\n currentTag: {},\n tags: [],\n status: {\n loading: false,\n },\n };\n },\n },\n};\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\nimport i18n from \"@/plugins/i18n\";\nimport MetricHelper from \"@/_helpers/metricHelper.js\";\nconst TagDataRepository = RepositoryFactory.get(\"tagdata\");\nconst CompanyRepository = RepositoryFactory.get(\"companies\");\nconst ModuleRepository = RepositoryFactory.get(\"module\");\n\nexport const tagData = {\n namespaced: true,\n state: {\n currentTagData: {},\n currents: [],\n tagData: [],\n tagsWithData: [],\n keys: [],\n tdKeys: [],\n defaults: {},\n meta: {},\n tagDataCount: null,\n hasDefaults: false,\n status: {\n loading: false,\n dataLoading: false,\n },\n },\n\n actions: {\n async getTagData({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await TagDataRepository.get(user)\n .then((tagData) => {\n commit(\"GET_TAG_DATA\", tagData.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n commit(\"LOADING\", false);\n });\n },\n\n async getTagDataKeys({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n var company = rootState.users.userCompany;\n\n await TagDataRepository.getKeys(user, company.companyId)\n .then((keys) => {\n commit(\"GET_TAG_DATA_KEYS\", keys.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n commit(\"LOADING\", false);\n });\n },\n\n async getTagDataWithMetrics({ dispatch, commit, rootState }, { metrics }) {\n commit(\"LOADING\", true);\n commit(\"TAGLOADING\", true);\n\n var user = rootState.users.currentUser;\n\n var company = rootState.users.userCompany;\n\n return await CompanyRepository.getTagDataWithMetrics(\n user,\n company.companyId,\n MetricHelper.getMetricsUrlParams(metrics)\n )\n .then((tagData) => {\n commit(\"GET_TAG_DATA\", tagData.data);\n commit(\"TAGLOADING\", false);\n commit(\"LOADING\", false);\n return tagData.data;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n commit(\"LOADING\", false);\n commit(\"TAGLOADING\", false);\n });\n },\n\n async getTagDataAsync({ dispatch, rootState }, { metrics }) {\n var user = rootState.users.currentUser;\n\n var company = rootState.users.userCompany;\n\n let tagDatas = await CompanyRepository.getTagDataWithMetrics(\n user,\n company.companyId,\n MetricHelper.getMetricsUrlParams(metrics)\n ).catch(() => {\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n\n return tagDatas !== undefined ? tagDatas.data : [];\n },\n\n async getTagDataWithMultiTag({ dispatch, commit, rootState }, { metrics }) {\n commit(\"LOADING\", true);\n commit(\"TAGLOADING\", true);\n\n var user = rootState.users.currentUser;\n\n var company = rootState.users.userCompany;\n\n await CompanyRepository.getTagDataWithMetrics(\n user,\n company.companyId,\n MetricHelper.getMetricsUrlParams(metrics)\n )\n .then((tagData) => {\n commit(\"GET_TAG_DATA_MULTI\", tagData.data);\n commit(\"TAGLOADING\", false);\n commit(\"LOADING\", false);\n })\n .catch(() => {\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n commit(\"LOADING\", false);\n commit(\"TAGLOADING\", false);\n });\n },\n\n async getTagDataWithMultiTagAsync({ dispatch, rootState }, { metrics }) {\n var user = rootState.users.currentUser;\n\n var company = rootState.users.userCompany;\n\n let td = await CompanyRepository.getTagDataWithMetrics(\n user,\n company.companyId,\n MetricHelper.getMetricsUrlParams(metrics)\n ).catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n\n return td !== undefined ? td.data : [];\n },\n\n async getTagDataDefaults({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n var company = rootState.users.userCompany;\n\n await CompanyRepository.getTagDataDefaults(user, company.companyId)\n .then((defaults) => {\n commit(\"GET_DEFAULTS\", defaults.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n commit(\"LOADING\", false);\n });\n },\n\n async resetDefaults({ commit }) {\n commit(\"RESET_DEFAULTS\");\n },\n\n async setTagDataDefaults({ commit }, { defaults }) {\n commit(\"SET_DEFAULTS\", defaults);\n },\n\n async getTagdataDatapoints({ dispatch, commit, rootState }) {\n var user = rootState.users.currentUser;\n let metrics = {\n from: new Date(\n new Date().getTime() - 24 * 60 * 60 * 1000\n ).toISOString(),\n };\n let points = 0;\n var company = rootState.users.userCompany;\n await CompanyRepository.getTagDataWithMetrics(\n user,\n company.companyId,\n MetricHelper.getMetricsUrlParams(metrics)\n )\n .then((count) => {\n points = count.data.length;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n });\n\n return points;\n },\n\n async getTagDataForModule({ dispatch, rootState }, { moduleId, metrics }) {\n var user = rootState.users.currentUser;\n\n return await ModuleRepository.getTagDataForModule(\n user,\n moduleId,\n MetricHelper.getMetricsUrlParams(metrics)\n )\n .then((tagData) => {\n return tagData.data;\n })\n .catch(() => {\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n },\n\n async getTagDataForModuleByLimit(\n { dispatch, rootState },\n { moduleId, limit }\n ) {\n var user = rootState.users.currentUser;\n\n return await ModuleRepository.getTagDataForModuleByLimit(\n user,\n moduleId,\n limit\n )\n .then((tagData) => {\n return tagData.data;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n },\n\n async getLatestTagDataForModule({ dispatch, rootState }, { moduleId }) {\n var user = rootState.users.currentUser;\n\n return await ModuleRepository.getLatestTagDataForModule(user, moduleId)\n .then((tagData) => {\n return tagData.data;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n },\n\n async setTagDataKeys({ commit }, keys) {\n commit(\"GET_TAG_DATA_KEYS\", keys);\n },\n\n resetState({ commit }) {\n commit(\"RESET_STATE\");\n },\n\n clearTagData({ commit }) {\n commit(\"CLEAR_TAGDATA\");\n },\n\n async getDatapointsLastWeek({ rootState, dispatch }) {\n var user = rootState.users.currentUser;\n var company = rootState.users.userCompany;\n\n return await CompanyRepository.getDatapointsLastWeek(\n user,\n company.companyId\n )\n .then((data) => data.data)\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n },\n\n async getDatapointsLastDay({ rootState, dispatch }) {\n var user = rootState.users.currentUser;\n var company = rootState.users.userCompany;\n\n return await CompanyRepository.getDatapointsLastDay(\n user,\n company.companyId\n )\n .then((data) => data.data)\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n },\n\n async getSensorDatapointsLastDay({ rootState, dispatch }) {\n var user = rootState.users.currentUser;\n var company = rootState.users.userCompany;\n\n return await CompanyRepository.getSensorDatapointsLastDay(\n user,\n company.companyId\n )\n .then((data) => data.data)\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n },\n\n async getTrendDataForTag(\n { dispatch, rootState },\n { tagId, tagKey, metrics }\n ) {\n var user = rootState.users.currentUser;\n\n return await TagDataRepository.getTrendDataForTag(\n user,\n tagId,\n encodeURIComponent(tagKey),\n MetricHelper.getMetricsUrlParams(metrics)\n )\n .then((tagData) => {\n return tagData.data;\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n },\n\n async getCurrentTagdata(\n { dispatch, commit, rootState },\n { tagId, tagKey }\n ) {\n var user = rootState.users.currentUser;\n\n return await TagDataRepository.getCurrentTagdata(\n user,\n tagId,\n encodeURIComponent(tagKey)\n )\n .then((tagData) => {\n commit(\"SET_CURRENT_TAGDATA\", tagData.data);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n },\n\n async getCurrentsForTag({ commit, rootState, dispatch }, deveui) {\n var user = rootState.users.currentUser;\n await TagDataRepository.getCurrentsForDevice(user, deveui)\n .then((d) => {\n commit(\"SET_CURRENTS\", d.data);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n },\n },\n\n mutations: {\n LOADING(state, status) {\n state.status.loading = status;\n },\n\n SET_META(state, meta) {\n state.meta = meta;\n },\n\n TAGLOADING(state, status) {\n state.status.dataLoading = status;\n },\n\n SET_TAG_DATA(state, tagData) {\n state.tagData = tagData;\n },\n\n SET_CURRENT_TAGDATA(state, tagData) {\n state.currentTagData = tagData;\n },\n\n SET_CURRENTS(state, currents) {\n state.currents = currents;\n },\n\n GET_TAG_DATA(state, tagData) {\n state.tagData = tagData;\n\n // Sätt nycklarna som tillhör tagdatan\n var tdKeys = tagData.map((x) => x.key);\n state.tdKeys = [...new Set(tdKeys)];\n },\n\n GET_TAG_DATA_MULTI(state, tagData) {\n state.tagsWithData = tagData;\n },\n\n GET_TAG_DATA_KEYS(state, keys) {\n state.keys = keys;\n },\n\n GET_DEFAULTS(state, defaults) {\n state.defaults = defaults;\n state.hasDefaults = true;\n },\n\n SET_DEFAULTS(state, defaults) {\n state.defaults = {};\n state.defaults = defaults;\n state.hasDefaults = true;\n },\n\n GET_TOTAL_DP(state, dp) {\n state.tagDataCount = dp;\n },\n\n RESET_DEFAULTS(state) {\n state.defaults = {};\n this.hasDefaults = false;\n },\n\n // eslint-disable-next-line\n RESET_STATE(state) {\n state = {\n currentTagData: {},\n tagData: [],\n keys: [],\n defaults: {},\n tagDataCount: null,\n hasDefaults: false,\n status: {\n loading: false,\n },\n };\n },\n\n CLEAR_TAGDATA(state) {\n state.tagData = [];\n state.keys = [];\n },\n },\n};\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\n\nimport i18n from \"@/plugins/i18n\";\nconst UserRepository = RepositoryFactory.get(\"users\");\nconst RoleRepository = RepositoryFactory.get(\"roles\");\n\nexport const users = {\n namespaced: true,\n state: {\n users: [],\n permissions: [],\n user: {},\n currentUser: {},\n userCompany: {},\n credentials: { email: \"\", password: \"\" },\n hasCompany: false,\n status: {\n loading: false,\n loggedIn: false,\n },\n },\n\n actions: {\n async get({ commit, dispatch, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await UserRepository.get(user).then(\n (users) => {\n commit(\"GET_USER\", users.data);\n commit(\"LOADING\", false);\n },\n (res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n }\n );\n\n commit(\"LOADING\", false);\n },\n\n async getById({ commit, dispatch, rootState }, userId) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await UserRepository.getById(user, userId)\n .then((users) => {\n commit(\"GET_USER\", users.data);\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n });\n commit(\"LOADING\", false);\n },\n\n async getAll({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await UserRepository.getAll(user).then(\n (users) => {\n commit(\"GET_USERS\", users.data);\n commit(\"LOADING\", false);\n },\n (res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n commit(\"LOADING\", false);\n }\n );\n commit(\"LOADING\", false);\n },\n\n async getUserCompany({ dispatch, commit, rootState }) {\n commit(\"LOADING\", true);\n var user = rootState.users.currentUser;\n\n await UserRepository.getCompany(user).then(\n (company) => {\n commit(\"GET_USER_COMPANY\", company.data);\n commit(\"LOADING\", false);\n dispatch(\"languages/setLanguage\", company.data.country, {\n root: true,\n });\n },\n (res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n commit(\"LOADING\", false);\n }\n );\n },\n\n setUserCompany({ dispatch, commit }, { company }) {\n commit(\"LOADING\", true);\n\n commit(\"GET_USER_COMPANY\", company);\n dispatch(\"languages/setLanguage\", company.country, {\n root: true,\n });\n\n commit(\"LOADING\", false);\n },\n\n async setUserByPublicDashboard({ commit }, dashboard) {\n commit(\"LOGIN_USER\", {\n token: dashboard.token,\n role: \"PublicDashboard\",\n });\n commit(\"GET_USER_COMPANY\", dashboard.dashboard.company);\n },\n\n async editUser({ dispatch, commit, rootState, state }, userPayload) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n\n await UserRepository.edit(user, userPayload.userId, userPayload)\n .then((user) => {\n commit(\"EDIT_USER\", user.data);\n commit(\"LOADING\", false);\n\n if (state.currentUser.userId === user.data.userId) {\n dispatch(\"login\", state.credentials);\n }\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"user.updateFailed\"), { root: true });\n commit(\"LOADING\", false);\n });\n },\n\n async login({ dispatch, commit }, { email, password }) {\n commit(\"SET_CREDENTIALS\", { email: email, password: password });\n\n commit(\"LOADING\", true);\n let success = false;\n await UserRepository.login(email, password)\n .then(async (user) => {\n commit(\"LOGIN_USER\", user.data);\n await dispatch(\"getUserCompany\");\n await dispatch(\"getUserPermissionsByCurrentUser\");\n success = true;\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (!res.response) {\n throw new Error(i18n.t(\"common.errors.backendConnection\"));\n } else if (res.response.status == 409) {\n // The license is probably not valid\n throw new Error(res.response.data);\n }\n\n commit(\"LOGIN_FAILED\");\n commit(\"LOADING\", false);\n dispatch(\"alert/error\", i18n.t(\"user.signInFailed\"), { root: true });\n });\n\n return success;\n },\n\n async getUserPermissionsByCurrentUser({ commit, rootState }) {\n await RoleRepository.getUserPermissionsByUserId(\n rootState.users.currentUser\n ).then((d) => commit(\"SET_PERMISSIONS\", d.data));\n },\n\n async logout({ dispatch, commit }) {\n commit(\"LOGOUT_USER\");\n dispatch(\"companies/resetState\", null, { root: true });\n dispatch(\"tag/resetState\", null, { root: true });\n dispatch(\"applications/resetState\", null, { root: true });\n dispatch(\"tagData/resetState\", null, { root: true });\n dispatch(\"alarms/resetState\", null, { root: true });\n commit(\"LOADING\", false);\n },\n\n async updateRole(\n { dispatch, commit, rootState },\n { role: role, targetUserId: targetUserId }\n ) {\n commit(\"LOADING\", false);\n\n var user = rootState.users.currentUser;\n\n await UserRepository.updateRole(user, targetUserId, role)\n .then(() => {\n dispatch(\"companies/getCompanyUsers\", null, { root: true });\n })\n .catch(() => {\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\n });\n },\n\n async createUserAndCompany({ dispatch, commit, rootState }, payload) {\n commit(\"LOADING\", true);\n await UserRepository.createUserWithCompany(\n rootState.users.currentUser,\n payload\n )\n .then(() => {\n dispatch(\"alert/success\", i18n.t(\"common.created\"), {\n root: true,\n });\n })\n .catch((error) => {\n if (error.response.status === 409) {\n throw new Error(error.response.data);\n } else {\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n }\n });\n },\n\n async delete({ dispatch, commit, rootState }, userId) {\n commit(\"LOADING\", true);\n\n var user = rootState.users.currentUser;\n if (user.userId !== userId) {\n await UserRepository.delete(user, userId)\n .then(() => {\n dispatch(\"alert/success\", i18n.t(\"common.deleted\"), {\n root: true,\n });\n commit(\"LOADING\", false);\n })\n .catch((res) => {\n if (res.response.status === 401) {\n dispatch(\n \"users/login\",\n {\n email: rootState.users.credentials.email,\n password: rootState.users.credentials.password,\n },\n { root: true }\n );\n }\n\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n }\n },\n\n async forgotPassword({ dispatch, commit }, email) {\n commit(\"LOADING\", true);\n await UserRepository.forgotPassword(email)\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch(() => {\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n commit(\"LOADING\", false);\n },\n\n async forgotPasswordUpdate({ dispatch, commit }, { guid, password }) {\n commit(\"LOADING\", true);\n await UserRepository.forgotPasswordUpdate(guid, password)\n .then(() => {\n commit(\"LOADING\", false);\n })\n .catch(() => {\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\n root: true,\n });\n });\n commit(\"LOADING\", false);\n },\n },\n\n mutations: {\n LOADING(state, status) {\n state.status.loading = status;\n },\n\n GET_USER(state, user) {\n state.user = user;\n },\n\n GET_USERS(state, users) {\n state.users = users;\n },\n\n GET_USER_COMPANY(state, company) {\n state.userCompany = company;\n state.hasCompany = true;\n },\n\n SET_CREDENTIALS(state, credentials) {\n state.credentials = credentials;\n },\n\n EDIT_USER(state, user) {\n state.user = user;\n },\n\n LOGIN_USER(state, user) {\n state.currentUser = user;\n state.status.loggedIn = true;\n },\n\n LOGIN_FAILED(state) {\n state.status.loggedIn = false;\n },\n\n SET_PERMISSIONS(state, val) {\n state.permissions = val;\n },\n\n // eslint-disable-next-line\n LOGOUT_USER(state) {\n state.users = [];\n state.user = [];\n state.currentUser = {};\n state.userCompany = {};\n state.credentials = { email: \"\", password: \"\" };\n state.hasCompany = false;\n state.permissions = [];\n state.status = {\n loading: false,\n loggedIn: false,\n };\n },\n },\n\n getters: {\n companyId(state) {\n return state.userCompany.companyId;\n },\n\n companyName(state) {\n return state.userCompany.name;\n },\n\n permissions(state) {\n return state.permissions;\n },\n },\n};\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport { accessTokens } from \"./modules/accessToken\";\r\nimport { alarms } from \"./modules/alarm\";\r\nimport { alert } from \"./modules/alert\";\r\nimport { applications } from \"./modules/application\";\r\nimport { companies } from \"./modules/company\";\r\nimport { configuration } from \"./modules/configuration\";\r\nimport { dashboards } from \"./modules/dashboard\";\r\nimport { downlinks } from \"./modules/downlinks\";\r\nimport { event } from \"./modules/event\";\r\nimport { gateways } from \"./modules/gateway\";\r\nimport { languages } from \"./modules/language\";\r\nimport { logs } from \"./modules/log\";\r\nimport { modules } from \"./modules/modules\";\r\nimport { mqtt } from \"./modules/mqtt\";\r\nimport { notifications } from \"./modules/notification\";\r\nimport { reports } from \"./modules/report\";\r\nimport { roles } from \"./modules/roles\";\r\nimport { scripts } from \"./modules/scripts\";\r\nimport { settings } from \"./modules/settings\";\r\nimport { signalTests } from \"./modules/signalTest\";\r\nimport { tag } from \"./modules/tag\";\r\nimport { tagData } from \"./modules/tagdata\";\r\nimport { users } from \"./modules/user\";\r\n\r\nimport createPersistedState from \"vuex-persistedstate\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n modules: {\r\n users,\r\n companies,\r\n tag,\r\n alert,\r\n languages,\r\n applications,\r\n tagData,\r\n alarms,\r\n scripts,\r\n reports,\r\n dashboards,\r\n modules,\r\n logs,\r\n configuration,\r\n settings,\r\n notifications,\r\n signalTests,\r\n gateways,\r\n accessTokens,\r\n downlinks,\r\n event,\r\n roles,\r\n mqtt,\r\n },\r\n plugins: [createPersistedState()],\r\n});\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/integration\";\r\nconst tokenResource = \"/integration/tokens\";\r\n\r\nexport default {\r\n getAccessTokens(user, companyId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${tokenResource}/${companyId}`, config);\r\n },\r\n\r\n deleteToken(user, tokenId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${tokenResource}/${tokenId}`, config);\r\n },\r\n\r\n createToken(user, companyId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${tokenResource}/${companyId}`, payload, config);\r\n },\r\n\r\n seedNordpool(user, year, month, day) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/nordpool/${year}/${month}/${day}`,\r\n null,\r\n config\r\n );\r\n },\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"tree-container\"},[_c('v-row',{staticStyle:{\"max-width\":\"100%\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\",\"xs\":\"9\"}},[_c('sl-vue-tree',{ref:\"tree\",on:{\"dragend\":() => {},\"nodecontextmenu\":_vm.onNodeRightClicked,\"input\":_vm.updateIndexes},scopedSlots:_vm._u([{key:\"title\",fn:function({ node }){return [_c('span',{staticClass:\"item-icon\"},[_c('v-icon',{attrs:{\"color\":node.isLeaf\n ? 'green'\n : node.data.color\n ? node.data.color\n : 'primary'}},[_vm._v(_vm._s(node.data.icon))])],1),(node.isLeaf)?_c('span',{attrs:{\"href\":'dashboard/' + node.data.dashboardId},on:{\"click\":function($event){return _vm.goToDashboard(node.data.dashboardId)}}},[_vm._v(\" \"+_vm._s(node.title))]):_c('span',[_vm._v(\" \"+_vm._s(node.title))])]}},{key:\"toggle\",fn:function({ node }){return [(!node.isLeaf)?_c('span',[(node.isExpanded)?_c('v-icon',[_vm._v(\"mdi-chevron-down\")]):_vm._e(),(!node.isExpanded)?_c('v-icon',[_vm._v(\"mdi-chevron-right\")]):_vm._e()],1):_vm._e()]}}]),model:{value:(_vm.categories),callback:function ($$v) {_vm.categories=$$v},expression:\"categories\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"xs\":\"3\"}},[(_vm.permitted('Dashboard.Update'))?_c('v-switch',{staticClass:\"mr-2 ml-2\",attrs:{\"inset\":\"\",\"label\":_vm.$t('common.edit')},model:{value:(_vm.editMode),callback:function ($$v) {_vm.editMode=$$v},expression:\"editMode\"}}):_vm._e()],1)],1),(_vm.permitted('Dashboard.Update'))?_c('v-menu',{attrs:{\"position-x\":_vm.x,\"position-y\":_vm.y,\"absolute\":\"\",\"offset-y\":\"\"},model:{value:(_vm.showMenu),callback:function ($$v) {_vm.showMenu=$$v},expression:\"showMenu\"}},[_c('v-list',_vm._l((_vm.displayActions),function(item,index){return _c('v-list-item',{key:index,attrs:{\"link\":\"\"},on:{\"click\":item.action}},[_c('v-list-item-title',[_vm._v(_vm._s(item.title))])],1)}),1)],1):_vm._e(),_c('v-dialog',{attrs:{\"max-width\":\"600\",\"persistent\":\"\"},model:{value:(_vm.showCreateDialog),callback:function ($$v) {_vm.showCreateDialog=$$v},expression:\"showCreateDialog\"}},[_c('v-card',[_c('v-card-title',[_c('span',[_vm._v(_vm._s(_vm.$t(\"dashboard.categories.create\")))])]),_c('v-form',{attrs:{\"lazy-validation\":true},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleCreate.apply(null, arguments)}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card-text',[_c('v-text-field',{attrs:{\"label\":_vm.$t('dashboard.categories.title')},model:{value:(_vm.payload.title),callback:function ($$v) {_vm.$set(_vm.payload, \"title\", $$v)},expression:\"payload.title\"}})],1),_c('v-card-text',[_c('v-color-picker',{attrs:{\"dot-size\":\"25\",\"hide-canvas\":\"\",\"hide-mode-switch\":\"\",\"show-swatches\":\"\",\"mode\":\"hexa\",\"swatches-max-height\":\"200\"},model:{value:(_vm.color),callback:function ($$v) {_vm.color=$$v},expression:\"color\"}})],1),_c('v-card-text',[_c('IconSelector',{attrs:{\"icon\":_vm.payload.icon,\"open\":true,\"color\":_vm.payload.color},on:{\"update\":(v) => {\n _vm.payload.icon = v;\n }}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary lighten-1\",\"text\":\"\",\"x-large\":\"\"},on:{\"click\":function($event){_vm.showCreateDialog = false}}},[_vm._v(_vm._s(_vm.$t(\"common.close\")))]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\",\"type\":\"submit\",\"x-large\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"common.save\")))])],1)],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"450\"},model:{value:(_vm.showRemoveDialog),callback:function ($$v) {_vm.showRemoveDialog=$$v},expression:\"showRemoveDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.verify\"))+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary lighten-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.showRemoveDialog = false}}},[_vm._v(_vm._s(_vm.$t(\"common.close\")))]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":_vm.deleteConfirmed}},[_vm._v(_vm._s(_vm.$t(\"common.yes\")))])],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"450\"},model:{value:(_vm.showDashboardCreateOrCopy),callback:function ($$v) {_vm.showDashboardCreateOrCopy=$$v},expression:\"showDashboardCreateOrCopy\"}},[_c('v-card',[_c('v-card-title',[_c('span',[_vm._v(_vm._s(_vm.$t(\"dashboard.createTitleClean\")))])]),_c('v-form',{attrs:{\"lazy-validation\":true},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleDashboardCopyOrCreate.apply(null, arguments)}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card-text',[_c('v-text-field',{attrs:{\"label\":_vm.$t('dashboard.fields.name')},model:{value:(_vm.dashboardName),callback:function ($$v) {_vm.dashboardName=$$v},expression:\"dashboardName\"}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary lighten-1\",\"text\":\"\",\"x-large\":\"\"},on:{\"click\":function($event){_vm.showDashboardCreateOrCopy = false}}},[_vm._v(_vm._s(_vm.$t(\"common.close\")))]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\",\"type\":\"submit\",\"x-large\":\"\"}},[_vm._v(_vm._s(_vm.$t(\"common.save\")))])],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"icon-selector\",staticStyle:{\"max-height\":\"200px\",\"overflow-y\":\"scroll\"}},[_c('p',{staticStyle:{\"width\":\"100%\",\"cursor\":\"pointer\",\"margin\":\"0\"},on:{\"click\":_vm.toggleDisplay}},[_c('v-icon',{attrs:{\"color\":_vm.color}},[_vm._v(_vm._s(_vm.iconValue))]),_vm._v(\" \"+_vm._s(_vm.$t(\"common.iconSelector.selectIcon\"))+\" \")],1),(_vm.display)?_c('v-container',{staticStyle:{\"max-width\":\"600px\",\"height\":\"201px\"}},[_c('v-text-field',{attrs:{\"color\":\"white\",\"dark\":\"\",\"placeholder\":_vm.$t('common.iconSelector.searchPlaceholder'),\"append-outer-icon\":\"mdi-search\"},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}),_vm._l((_vm.icons),function(v,i){return _c('v-icon',{key:i,attrs:{\"color\":_vm.color},on:{\"click\":function($event){return _vm.setValue(v)}}},[_vm._v(_vm._s(v))])})],2):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n {{ iconValue }}\r\n {{ $t(\"common.iconSelector.selectIcon\") }}\r\n \r\n \r\n \r\n {{ v }}\r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IconSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IconSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IconSelector.vue?vue&type=template&id=1e496a69&\"\nimport script from \"./IconSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./IconSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IconSelector.vue?vue&type=style&index=0&id=1e496a69&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n \r\n \r\n \r\n {}\"\r\n @nodecontextmenu=\"onNodeRightClicked\"\r\n ref=\"tree\"\r\n @input=\"updateIndexes\"\r\n >\r\n \r\n \r\n {{ node.data.icon }}\r\n \r\n\r\n \r\n {{ node.title }}\r\n {{ node.title }}\r\n \r\n\r\n \r\n \r\n mdi-chevron-down\r\n mdi-chevron-right\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ item.title }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ $t(\"dashboard.categories.create\") }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {\r\n payload.icon = v;\r\n }\r\n \"\r\n />\r\n \r\n\r\n \r\n \r\n {{ $t(\"common.close\") }}\r\n {{\r\n $t(\"common.save\")\r\n }}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ $t(\"common.verify\") }}\r\n \r\n\r\n \r\n \r\n\r\n {{ $t(\"common.close\") }}\r\n\r\n {{\r\n $t(\"common.yes\")\r\n }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ $t(\"dashboard.createTitleClean\") }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ $t(\"common.close\") }}\r\n {{\r\n $t(\"common.save\")\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardCategoryViewer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardCategoryViewer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DashboardCategoryViewer.vue?vue&type=template&id=a4dca53a&\"\nimport script from \"./DashboardCategoryViewer.vue?vue&type=script&lang=js&\"\nexport * from \"./DashboardCategoryViewer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DashboardCategoryViewer.vue?vue&type=style&index=0&id=a4dca53a&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const Roles = {\r\n Admin: \"Admin\",\r\n User: \"User\",\r\n Guest: \"Guest\",\r\n CompanyAdmin: \"CompanyAdmin\",\r\n SuperAdmin: \"SuperAdmin\",\r\n PublicDashboard: \"PublicDashboard\",\r\n\r\n AdminOrUser: [\"Admin\", \"CompanyAdmin\", \"SuperAdmin\"],\r\n CompanyOrUser: [\"Admin\", \"CompanyAdmin\", \"User\", \"SuperAdmin\"],\r\n AdminOrCompanyAdmin: [\"Admin\", \"CompanyAdmin\", \"SuperAdmin\"],\r\n};\r\n","import Vue from \"vue\";\r\nimport VueI18n from \"vue-i18n\";\r\nimport messages from \"@/languages\";\r\n\r\nVue.use(VueI18n);\r\n\r\nexport default new VueI18n({\r\n locale: \"en\",\r\n fallbackLocale: \"sv\",\r\n messages\r\n});\r\n","import axios from \"axios\";\r\nimport store from \"../stores/store\";\r\n\r\nlet axiosConnection = axios.create();\r\n\r\naxiosConnection.interceptors.request.use((config) => {\r\n config.baseURL = `${store.state.configuration.SO_API_BASE_URL}/api`;\r\n return config;\r\n});\r\n\r\nexport default axiosConnection;\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=43846a08&prod&lang=css&\""],"sourceRoot":""}
{{ item.description }}
\r\n {{ iconValue }}\r\n {{ $t(\"common.iconSelector.selectIcon\") }}\r\n