{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?466e","webpack:///./src/_helpers/RestrictHelper.js","webpack:///./src/languages/locales/en.js","webpack:///./src/languages/locales/sv.js","webpack:///./src/languages/index.js","webpack:///./src/store/modules/alert.js","webpack:///./src/api/Repository.js","webpack:///./src/_helpers/apiHelper.js","webpack:///./src/api/repos/usersRepository.js","webpack:///./src/api/repos/companyRepository.js","webpack:///./src/api/repos/logRepository.js","webpack:///./src/api/repos/deviceRepository.js","webpack:///./src/api/repos/deviceFieldRepository.js","webpack:///./src/api/repos/deviceDataRepository.js","webpack:///./src/api/repos/connectorRepository.js","webpack:///./src/api/RepositoryFactory.js","webpack:///./src/store/modules/user.js","webpack:///./src/store/modules/company.js","webpack:///./src/_helpers/apiErrorHandler.js","webpack:///./src/store/modules/device.js","webpack:///./src/store/modules/deviceFields.js","webpack:///./src/store/modules/deviceData.js","webpack:///./src/_helpers/metricHelper.js","webpack:///./src/store/modules/log.js","webpack:///./src/store/modules/language.js","webpack:///./src/store/modules/connector.js","webpack:///./src/store/index.js","webpack:///./src/App.vue?16db","webpack:///./src/components/NavBar.vue?6cc7","webpack:///src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?aa94","webpack:///./src/components/NavBar.vue","webpack:///src/App.vue","webpack:///./src/App.vue?5b92","webpack:///./src/App.vue","webpack:///./src/plugins/vuetify.js","webpack:///./src/components/common/NiceData.vue?7e96","webpack:///src/components/common/NiceData.vue","webpack:///./src/components/common/NiceData.vue?eca8","webpack:///./src/components/common/NiceData.vue","webpack:///./src/components/common/NiceDataTable.vue?bb26","webpack:///src/components/common/NiceDataTable.vue","webpack:///./src/components/common/NiceDataTable.vue?3078","webpack:///./src/components/common/NiceDataTable.vue","webpack:///./src/components/common/ConfirmDialogDelete.vue?bc4f","webpack:///src/components/common/ConfirmDialogDelete.vue","webpack:///./src/components/common/ConfirmDialogDelete.vue?0fd0","webpack:///./src/components/common/ConfirmDialogDelete.vue","webpack:///./src/main.js","webpack:///./src/router/index.js","webpack:///./src/_helpers/Role.js","webpack:///./src/plugins/i18n.js","webpack:///./src/components/common/NiceData.vue?0ee9"],"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","Roles","Admin","User","Guest","CompanyAdmin","SuperAdmin","AdminOrUser","CompanyOrUser","AdminOrCompanyAdmin","AdminOrSuper","methods","allowed","route","roles","role","store","state","users","currentUser","charAt","substring","routeArr","split","router","options","routes","forEach","path","children","meta","authorize","includes","allowedToEdit","targetRole","this","home","login","register","logout","company","user","contact","userEdit","superadmin","connectors","devices","deviceFields","devicePool","live","landing","or","connector","toolbarTitle","field","port","active","template","log","sms","app","warning","userevent","logTable","title","activeAlarms","activeUsersTable","fields","createdAt","status","lastAction","lastSeen","alarm","messageSent","common","timestamp","lang","edit","delete","purge","submit","update","latest","values","amount","confirmDelete","search","close","email","password","confirmPassword","newPassword","forgotPassword","updatedAt","save","show","updated","created","deleted","back","send","add","settings","noDataFound","darkTheme","notActive","sent","notSent","loginOrRegister","copy","verify","disagree","accept","yes","no","dashboard","days","monday","tuesday","wednesday","thursday","friday","saturday","sunday","validation","required","max","device","serialNumber","imei","productName","deviceId","simIccid","hardwareRevision","firmwareMajor","firmwareMinor","lastContact","secret","metas","deviceFieldId","label","modifier","ignore","templateDefault","ignoreStatus","dataTableTitle","addSensorField","modifierDescription","actions","lastFive","pool","toolbar","keyName","waiting","statusOk","statusNo","descriptionTitle","description","emailTitle","phoneTitle","phoneOne","phoneTwo","locationSiencepark","locationStreet","locationPostalcode","locationCountry","orgNumber","companyInfo","addUser","invite","inviteSent","inviteFailed","postalAdress","deliveryAdress","contactPhonenumber","invoiceAdress","refrenceNmuber","image","nameRequired","nameMax","orgNumberRequired","orgNumberFormatError","emailRequired","emailFormatError","passwordMissmatch","userInfo","loginFailed","signInFailed","loginSuccessful","updateFailed","phoneNumber","requiredSingle","toLong","contryCodeError","notation","noTagOrAppChoosen","sv","en","success","commit","clear","mutations","alert","namespaced","baseDomain","process","baseURL","axios","getAuthHeader","Authorization","token","resource","config","headers","Repository","getAll","getById","userId","getCompany","payload","post","put","updateRole","targetUserId","createUserWithCompany","forgotPasswordUpdate","guid","getCompanyById","companyId","getCompanyUsers","getCompanyApplications","createUser","userPayload","postImage","deleteImage","metrics","getActiveUsers","getDatapoints","getActiveAlarms","getKeys","getFieldsForDevice","getPool","setPool","getMetas","createMeta","deleteMeta","deviceMetaId","getTemplates","createTemplate","updateTemplate","deviceFieldTemplateId","deleteTemplate","getByCompany","queryParams","getByDevice","createConnector","editConnector","connectorId","getConnector","templates","deleteConnector","repositories","UsersRepository","companies","CompanyRepository","DeviceRepositry","devicefields","DeviceFieldRepositry","devicedatas","DeviceDataRepository","ConnectorRepository","LogRepository","RepositoryFactory","UserRepository","userCompany","credentials","hasCompany","loading","loggedIn","dispatch","rootState","res","response","root","changeCompanySuperAdmin","catch","getUserCompany","country","i18n","editUser","createUserAndCompany","LOADING","GET_USER","GET_USERS","GET_USER_COMPANY","SET_CREDENTIALS","EDIT_USER","LOGIN_USER","LOGIN_FAILED","LOGOUT_USER","companyUsers","companyApps","latestActivity","applications","editCompany","createCompany","resetState","getLatestActivity","activity","SET_LATEST_ACTIVITY","GET_COMPANIES","GET_COMPANY_APPLICATION","GET_COMPANY_USERS","CREATE_COMPANY","EDIT_COMPANY","RESET_STATE","handle","DeviceRepository","keys","metaInclude","ApiErrorHandler","SET_POOL","SET_DEVICES","SET_DEVICE","SET_KEYS","SET_META","SET_DEVICES_WITH_META","deviceMetas","SET_FIELDS","SET_FIELD","SET_TEMPLATES","deviceDatas","datas","limit","SET_DATAS","getMetricsUrlParams","params","k","Array","isArray","join","logs","activeUsers","lastRequestLogs","datapoints","clearLog","MetricHelper","points","alarms","GET_DATAPOINTS","GET_ALARMS","GET_LOGS","unshift","reverse","len","GET_ACTIVEUSERS","CLEAR_LOG","Vue","use","VueLocalStorage","supportedLanguages","getOwnPropertyNames","Languages","languages","language","localStorage","SET_LANGUAGE","set","locale","setLanguage","find","sl","RegExp","SET_CONNECTOR","Vuex","Store","plugins","createPersistedState","_vm","_h","$createElement","_c","_self","staticClass","$router","currentRoute","_e","attrs","model","callback","$$v","refresh","expression","_v","_s","staticRenderFns","on","$event","stopPropagation","drawer","_l","link","text","icon","companyStatus","setCompany","currentCompany","$t","props","sync","$vuetify","theme","dark","currCompanySet","computed","viewableLinks","links","authLinks","filter","concat","guestLinks","watch","v","component","VAppBar","VAppBarNavIcon","VDivider","VIcon","VList","VListItem","VListItemAction","VListItemContent","VListItemTitle","VNavigationDrawer","VSelect","VSwitch","VToolbarTitle","VToolbar","components","NavBar","clearAlert","val","VApp","VFooter","VMain","VSnackbar","Vuetify","opts","iconfont","themes","light","primary","colors","deepOrange","accent","accent1","green","info","yellow","accent3","red","background","amber","style","textColor","item","index","langPrefix","VCol","VContainer","VRow","staticStyle","clickedRow","scopedSlots","_u","$scopedSlots","slot","fn","scope","_t","languagePrefix","String","Boolean","default","$emit","VDataTable","VTextField","dialog","VBtn","VCard","VCardActions","VDialog","VSpacer","productionTip","NiceData","NiceDataTable","VueJsonPretty","ConfirmDeleteDialog","mixin","RestrictHelper","vuetify","render","h","App","$mount","Home","LiveData","AdminDashboard","Company","CompanyUsers","CompanyEdit","CompanyCreate","CreateUser","CompanyApps","ConnectorView","ConnectorShow","ConnectorCreate","ConnectorEdit","UserCompanyRegister","EditUser","ForgotPassword","ForgotPasswordComponent","NewPassword","Device","DeviceField","DeviceList","DeviceDetails","DeviceFieldCreate","DeviceFieldUpdate","DevicePool","ListDeviceField","Login","Register","Logout","Contact","Router","duplicateNavigationPolicy","beforeEach","to","from","next","navigator","VueI18n","fallbackLocale","messages"],"mappings":"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","file":"js/app.9cff4a73.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/\" + ({\"canvg\":\"canvg\",\"pdfmake\":\"pdfmake\",\"xlsx\":\"xlsx\"}[chunkId]||chunkId) + \".\" + {\"chunk-18835ba0\":\"60590ed4\",\"chunk-188913a6\":\"ea29ca6e\",\"chunk-247d819a\":\"165e221f\",\"chunk-2b515e8d\":\"0518ce89\",\"chunk-2d0b692a\":\"5aa2d9e4\",\"chunk-2d0c264e\":\"58c0ebe5\",\"chunk-2d0d6d35\":\"a476d2e4\",\"chunk-2d20ec05\":\"d81c3bcd\",\"chunk-0a18f7ab\":\"986f63a8\",\"chunk-2d0b6748\":\"94c78c38\",\"chunk-5ed1916c\":\"83215d0b\",\"chunk-ef732288\":\"e254c138\",\"chunk-2d215fa4\":\"57458645\",\"chunk-2d2170db\":\"9e88596d\",\"chunk-2d22c101\":\"8166ede2\",\"chunk-2d2306e5\":\"1d5c33b6\",\"chunk-4fcc9fc7\":\"1c2c2189\",\"chunk-56c21015\":\"ae4b41c5\",\"chunk-70c1d297\":\"a648378b\",\"chunk-7101b65c\":\"608e2fc8\",\"chunk-71491e8d\":\"09b2407c\",\"chunk-739220c3\":\"289b4165\",\"chunk-912e4972\":\"ea0e487f\",\"chunk-c48c3b7a\":\"d956466f\",\"chunk-c4d97294\":\"4a99de62\",\"chunk-e894b4fc\":\"f27184e1\",\"chunk-ef724848\":\"9de43511\",\"chunk-ef742d06\":\"933e1f43\",\"chunk-ef75f2a8\":\"d57c4571\",\"chunk-ef9c77e8\":\"79188bc9\",\"chunk-ef9d2972\":\"9fa46b5c\",\"canvg\":\"71ee0b32\",\"pdfmake\":\"608ea5b9\",\"xlsx\":\"c044722e\"}[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-18835ba0\":1,\"chunk-188913a6\":1,\"chunk-0a18f7ab\":1,\"chunk-5ed1916c\":1,\"chunk-4fcc9fc7\":1,\"chunk-70c1d297\":1,\"chunk-7101b65c\":1,\"chunk-71491e8d\":1,\"chunk-739220c3\":1,\"chunk-912e4972\":1,\"chunk-c48c3b7a\":1,\"chunk-c4d97294\":1,\"chunk-e894b4fc\":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/\" + ({\"canvg\":\"canvg\",\"pdfmake\":\"pdfmake\",\"xlsx\":\"xlsx\"}[chunkId]||chunkId) + \".\" + {\"chunk-18835ba0\":\"67de9469\",\"chunk-188913a6\":\"67de9469\",\"chunk-247d819a\":\"31d6cfe0\",\"chunk-2b515e8d\":\"31d6cfe0\",\"chunk-2d0b692a\":\"31d6cfe0\",\"chunk-2d0c264e\":\"31d6cfe0\",\"chunk-2d0d6d35\":\"31d6cfe0\",\"chunk-2d20ec05\":\"31d6cfe0\",\"chunk-0a18f7ab\":\"b6ae3695\",\"chunk-2d0b6748\":\"31d6cfe0\",\"chunk-5ed1916c\":\"1871b811\",\"chunk-ef732288\":\"31d6cfe0\",\"chunk-2d215fa4\":\"31d6cfe0\",\"chunk-2d2170db\":\"31d6cfe0\",\"chunk-2d22c101\":\"31d6cfe0\",\"chunk-2d2306e5\":\"31d6cfe0\",\"chunk-4fcc9fc7\":\"b95d4230\",\"chunk-56c21015\":\"31d6cfe0\",\"chunk-70c1d297\":\"aa35bca3\",\"chunk-7101b65c\":\"aa35bca3\",\"chunk-71491e8d\":\"aa35bca3\",\"chunk-739220c3\":\"aa35bca3\",\"chunk-912e4972\":\"4b93add2\",\"chunk-c48c3b7a\":\"49830f27\",\"chunk-c4d97294\":\"49830f27\",\"chunk-e894b4fc\":\"49830f27\",\"chunk-ef724848\":\"31d6cfe0\",\"chunk-ef742d06\":\"31d6cfe0\",\"chunk-ef75f2a8\":\"31d6cfe0\",\"chunk-ef9c77e8\":\"31d6cfe0\",\"chunk-ef9d2972\":\"31d6cfe0\",\"canvg\":\"31d6cfe0\",\"pdfmake\":\"31d6cfe0\",\"xlsx\":\"31d6cfe0\"}[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 mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import router from \"@/router\";\r\nimport store from \"@/store\";\r\n\r\nexport default {\r\n data() {\r\n return {\r\n Roles: {\r\n Admin: \"Admin\",\r\n User: \"User\",\r\n Guest: \"Guest\",\r\n CompanyAdmin: \"CompanyAdmin\",\r\n SuperAdmin: \"SuperAdmin\",\r\n\r\n AdminOrUser: [\"Admin\", \"CompanyAdmin\", \"SuperAdmin\"],\r\n CompanyOrUser: [\"Admin\", \"CompanyAdmin\", \"User\", \"SuperAdmin\"],\r\n AdminOrCompanyAdmin: [\"Admin\", \"CompanyAdmin\", \"SuperAdmin\"],\r\n AdminOrSuper: [\"Admin\", \"SuperAdmin\"]\r\n }\r\n };\r\n },\r\n\r\n methods: {\r\n allowed(route, roles = null) {\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 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 === this.Roles.Admin || role === this.Roles.SuperAdmin) {\r\n allowed = targetRole !== this.Roles.Admin && this.Roles.SuperAdmin;\r\n }\r\n\r\n if (role === this.Roles.CompanyAdmin) {\r\n allowed =\r\n targetRole !== this.Roles.Admin &&\r\n targetRole !== this.Roles.SuperAdmin &&\r\n targetRole !== this.Roles.CompanyAdmin;\r\n }\r\n\r\n return allowed;\r\n },\r\n\r\n // The roles needs to be an array\r\n authorize(roles) {\r\n let role = store.state.users.currentUser.role;\r\n if (role === this.Roles.Admin || role === this.Roles.SuperAdmin) {\r\n return true;\r\n }\r\n\r\n return roles.includes(role);\r\n }\r\n }\r\n};\r\n","export default {\r\n routes: {\r\n home: \"Home\",\r\n login: \"Login\",\r\n register: \"Register\",\r\n logout: \"Logout\",\r\n company: \"Company\",\r\n user: \"Users\",\r\n contact: \"Contact\",\r\n userEdit: \"Account\",\r\n superadmin: \"Admin\",\r\n connectors: \"Connectors\",\r\n\r\n devices: \"Sensors\",\r\n deviceFields: \"Sensorfield\",\r\n devicePool: \"Sensor pool\",\r\n live: \"Live Data\",\r\n },\r\n\r\n landing: {\r\n or: \"OR\",\r\n },\r\n\r\n connector: {\r\n toolbarTitle: \"Connector\",\r\n field: {\r\n name: \"Name\",\r\n path: \"URL\",\r\n port: \"Port\",\r\n type: \"Type\",\r\n active: \"Active\",\r\n template: \"Setting\",\r\n },\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: \"Userevent\",\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\r\n common: {\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 purge: \"Erase\",\r\n submit: \"Send\",\r\n create: \"Create\",\r\n update: \"Update\",\r\n get: \"Get\",\r\n latest: \"Latest\",\r\n value: \"Value\",\r\n values: \"Values\",\r\n amount: \"Amount\",\r\n\r\n confirmDelete: \"Är du säker?\",\r\n\r\n search: \"Search\",\r\n close: \"Close\",\r\n\r\n login: \"Login\",\r\n register: \"Enroll\",\r\n email: \"Email\",\r\n password: \"Password\",\r\n confirmPassword: \"Confim 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\r\n add: \"Add\",\r\n\r\n settings: \"Setup\",\r\n\r\n noDataFound: \"No date found\",\r\n darkTheme: \"Dark theme\",\r\n\r\n active: \"Active\",\r\n notActive: \"Not active\",\r\n\r\n sent: \"Sent\",\r\n notSent: \"Not sent\",\r\n\r\n loginOrRegister: \"Login or enroll\",\r\n\r\n copy: \"Kopiera\",\r\n verify: \"Are you sure you want to continue?\",\r\n disagree: \"No\",\r\n accept: \"Yes\",\r\n yes: \"Yes\",\r\n no: \"No\",\r\n\r\n or: \"Or\",\r\n\r\n dashboard: \"Go to Dashboard\",\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 validation: {\r\n required: \"This field is required\",\r\n max: \"The field has exceded a max limit\",\r\n },\r\n },\r\n\r\n device: {\r\n name: \"Sensors\",\r\n serialNumber: \"Serial number\",\r\n imei: \"Imei\",\r\n productName: \"Product Id\",\r\n deviceId: \"Sensor Id\",\r\n simIccid: \"SimIccId\",\r\n hardwareRevision: \"Hardware version\",\r\n firmwareMajor: \"Fiemware version major\",\r\n firmwareMinor: \"Firmware version minor\",\r\n lastContact: \"Last contact\",\r\n secret: \"Secret\",\r\n metas: \"Meta\",\r\n\r\n fields: {\r\n name: \"Sensor field\",\r\n deviceFieldId: \"Id\",\r\n label: \"New Key\",\r\n key: \"Key\",\r\n modifier: \"Formula\",\r\n ignore: \"Ignore field\",\r\n device: \"Sensor\",\r\n template: \"Template\",\r\n templateDefault: \"Custom\",\r\n ignoreStatus: \"Status\",\r\n lastContact: \"Last contact\",\r\n\r\n dataTableTitle: \"Field for sensor\",\r\n addSensorField: \"Add new sensor field\",\r\n\r\n modifierDescription:\r\n \"Use the character 'V' for the value of the device key. For example 'V/100' will divide the value by 100.\",\r\n\r\n actions: \"\",\r\n },\r\n\r\n data: {\r\n lastFive: \"Last 5 values\",\r\n },\r\n\r\n pool: {\r\n toolbar: \"Sensor pool\",\r\n name: \"Sensor pool\",\r\n },\r\n\r\n meta: {\r\n title: \"Free field\",\r\n keyName: \"Name\",\r\n value: \"Value\",\r\n },\r\n },\r\n\r\n live: {\r\n waiting: \"Waiting for sensors to connect...\",\r\n statusOk: \"CONNECTED\",\r\n statusNo: \"DISCONNECTED\",\r\n title: \"Live Data\",\r\n },\r\n\r\n contact: {\r\n title: \"Contact us\",\r\n descriptionTitle: \"NB IOTECH\",\r\n description:\r\n \"We now it can be hard to get going, Dont hesitate to contact us and we will help you anser your questions\",\r\n emailTitle: \"Email\",\r\n email: \"info@nb-iot.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: \"Companyname\",\r\n orgNumber: \"Org-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 fields: {\r\n name: \"Comany name\",\r\n orgNumber: \"Org-nummer\",\r\n postalAdress: \"Postal adress\",\r\n deliveryAdress: \"Delivery adress\",\r\n contactPhonenumber: \"Contact phonenumber\",\r\n invoiceAdress: \"Email for contact\",\r\n refrenceNmuber: \"Referensnumber\",\r\n image: \"Company logotyp\",\r\n },\r\n\r\n validation: {\r\n nameRequired: \"YOU have to fill in company name\",\r\n nameMax: \"Company name must not be more than 255 chars\",\r\n\r\n orgNumberRequired: \"You have to fill in you compant 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 does not match\",\r\n },\r\n },\r\n\r\n user: {\r\n name: \"User\",\r\n email: \"Email\",\r\n role: \"Role\",\r\n userInfo: \"Personal information\",\r\n loginFailed: \"Login failed\",\r\n signInFailed: \"Email/password does 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 name: \"Name\",\r\n phoneNumber: \"Phonenumber\",\r\n email: \"Email\",\r\n password: \"Password\",\r\n },\r\n },\r\n\r\n validation: {\r\n required: \"{0} must be filled in\",\r\n max: \"{0} mut be {1} charachters\",\r\n requiredSingle: \"This filed must be filled in\",\r\n toLong: \"This filed have to many characters\",\r\n contryCodeError:\r\n \"Dont forget that the phonumber must have countrycode (ex 4607xxxxxxxx)\",\r\n passwordMissmatch: \"Passwords does not match\",\r\n },\r\n\r\n warning: {\r\n amount: \"Activ Alarm:\",\r\n notation: \"{0} st\",\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 logout: \"Logout\",\r\n company: \"Företag\",\r\n user: \"Användare\",\r\n contact: \"Kontakt\",\r\n userEdit: \"Konto\",\r\n superadmin: \"Admin\",\r\n\r\n connectors: \"Connectors\",\r\n\r\n devices: \"Sensorer\",\r\n deviceFields: \"Sensorfält\",\r\n devicePool: \"Sensor pool\",\r\n live: \"Live Data\",\r\n },\r\n\r\n connector: {\r\n toolbarTitle: \"Connector\",\r\n field: {\r\n name: \"Namn\",\r\n path: \"URL\",\r\n port: \"Port\",\r\n type: \"Typ\",\r\n active: \"Aktiv\",\r\n template: \"Inställning\",\r\n },\r\n },\r\n\r\n landing: {\r\n or: \"ELLER\",\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 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 purge: \"Radera\",\r\n submit: \"Skicka\",\r\n create: \"Skapa\",\r\n update: \"Uppdatera\",\r\n get: \"Hämta\",\r\n latest: \"Senaste\",\r\n value: \"Värde\",\r\n values: \"Värden\",\r\n amount: \"Antal\",\r\n\r\n confirmDelete: \"Är du säker?\",\r\n\r\n search: \"Sök\",\r\n close: \"Stäng\",\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: \"Updaterad\",\r\n\r\n save: \"Spara\",\r\n show: \"Visa\",\r\n updated: \"Updaterad\",\r\n created: \"Skapad\",\r\n deleted: \"Raderad\",\r\n back: \"Tillbaka\",\r\n send: \"Skicka\",\r\n\r\n add: \"Lägg till\",\r\n\r\n settings: \"Inställningar\",\r\n\r\n noTagOrAppChoosen: \"Sensor och/eller Applikation saknas\",\r\n noDataFound: \"Ingen data funnen\",\r\n darkTheme: \"Mörkt tema\",\r\n\r\n active: \"Aktiv\",\r\n notActive: \"Inte Aktiv\",\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\r\n copy: \"Kopiera\",\r\n disagree: \"Nej\",\r\n verify: \"Är du säker att du vill fortsätta?\",\r\n accept: \"Ja\",\r\n yes: \"Ja\",\r\n no: \"Nej\",\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 validation: {\r\n required: \"Detta fältet måste vara ifyllt\",\r\n max: \"Fältet har överstigit en maxgräns\",\r\n },\r\n },\r\n\r\n device: {\r\n name: \"Sensorer\",\r\n serialNumber: \"Serienummer\",\r\n imei: \"Imei\",\r\n productName: \"Produkt Id\",\r\n deviceId: \"Sensor Id\",\r\n simIccid: \"SimIccId\",\r\n hardwareRevision: \"Hårdvaru version\",\r\n firmwareMajor: \"Mjukvaro version major\",\r\n firmwareMinor: \"Mjukvaro version minor\",\r\n lastContact: \"Senaste kontakt\",\r\n secret: \"Hemlighet\",\r\n metas: \"Meta\",\r\n\r\n fields: {\r\n name: \"Sensorfält\",\r\n deviceFieldId: \"Id\",\r\n label: \"Ny Nyckel\",\r\n key: \"Nyckel\",\r\n modifier: \"Formel\",\r\n ignore: \"Ignorera fält\",\r\n device: \"Sensor\",\r\n template: \"Template\",\r\n templateDefault: \"Custom\",\r\n ignoreStatus: \"Status\",\r\n lastContact: \"Senaste kontakt\",\r\n\r\n dataTableTitle: \"Fält för sensor\",\r\n addSensorField: \"Lägg till ett nytt sensorfält\",\r\n\r\n modifierDescription:\r\n \"Använd V för det värdet som enheten används av. Tillexempel 'V/100' delar värdet från sensorn med 100\",\r\n\r\n actions: \"\",\r\n },\r\n\r\n data: {\r\n lastFive: \"Senaste 5 värden\",\r\n },\r\n\r\n pool: {\r\n toolbar: \"Sensor pool\",\r\n name: \"Sensor pool\",\r\n },\r\n\r\n meta: {\r\n title: \"Frifält\",\r\n keyName: \"Namn\",\r\n value: \"Värde\",\r\n },\r\n },\r\n\r\n live: {\r\n waiting: \"Väntar på att sensorer ansluter...\",\r\n statusOk: \"CONNECTED\",\r\n statusNo: \"DISCONNECTED\",\r\n title: \"Live Data\",\r\n },\r\n\r\n contact: {\r\n title: \"Kontakta oss\",\r\n descriptionTitle: \"NB IOTECH\",\r\n description:\r\n \"Vi på NB IOTECH vet att det kan vara svårt att komma igång med dina sensorer. Tveka inte på att kontakta oss vid frågor eller rådgivning.\",\r\n emailTitle: \"Email\",\r\n email: \"info@nb-iot.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: \"Org-nummer\",\r\n\r\n companyInfo: \"Företags information\",\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 tillhör ett företag redan!\",\r\n\r\n fields: {\r\n name: \"Företagsnamn\",\r\n orgNumber: \"Org-nummer\",\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öretags logotyp\",\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 karaktärer\",\r\n\r\n orgNumberRequired: \"Du måste fylla i Org-nummer\",\r\n orgNumberFormatError: \"Fel format på Org-nummer\",\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 user: {\r\n name: \"Användare\",\r\n email: \"Email\",\r\n role: \"Roll\",\r\n userInfo: \"Personliga uppgifter\",\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 name: \"Namn\",\r\n phoneNumber: \"Telefonnummer\",\r\n email: \"Email\",\r\n password: \"Lösenord\",\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} karaktärer\",\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 telefonnummret måste ha en landskod (ex 4607xxxxxxxx)\",\r\n\r\n passwordMissmatch: \"Lösenorden matchar inte\",\r\n },\r\n\r\n warning: {\r\n amount: \"Aktiva Larm:\",\r\n notation: \"{0} st\",\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","const state = {\r\n active: false,\r\n message: null\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 },\r\n error(state, message) {\r\n state.active = true;\r\n state.message = message;\r\n },\r\n clear(state) {\r\n state.active = false;\r\n state.message = null;\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 axios from \"axios\";\r\n\r\nconst baseDomain =\r\n process.env.NODE_ENV == \"development\"\r\n ? \"http://localhost:5010\"\r\n : process.env.VUE_APP_SO_API_BASE_URL;\r\n\r\nconst baseURL = `${baseDomain}/api`;\r\n\r\nexport default axios.create({\r\n baseURL,\r\n});\r\n","export function getAuthHeader(user) {\r\n return {\r\n \"Access-Control-Allow-Origin\": true,\r\n Authorization: `Bearer ${user.token}`\r\n };\r\n}\r\n","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(payload) {\r\n return Repository.post(`${resource}/create/company`, payload);\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 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 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","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 = \"/device\";\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(`${resource}/${companyId}/all`, config);\r\n },\r\n\r\n getById(user, deviceId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${deviceId}`, 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 update(user, deviceId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.put(`${resource}/${deviceId}`, payload, config);\r\n },\r\n\r\n delete(user, deviceId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/${deviceId}`, config);\r\n },\r\n\r\n getKeys(user, deviceId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${deviceId}/keys`, config);\r\n },\r\n\r\n getFieldsForDevice(user, deviceId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/${deviceId}/fields`, config);\r\n },\r\n\r\n getPool(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 setPool(user, companyId, deviceId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(\r\n `${resource}/pool/${deviceId}/company/${companyId}`,\r\n null,\r\n config\r\n );\r\n },\r\n\r\n getMetas(user, deviceId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(`${resource}/meta/${deviceId}`, config);\r\n },\r\n\r\n createMeta(user, deviceId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.post(`${resource}/meta/${deviceId}`, payload, config);\r\n },\r\n\r\n deleteMeta(user, deviceMetaId) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.delete(`${resource}/meta/${deviceMetaId}`, config);\r\n },\r\n};\r\n","import Repository from \"../Repository\";\r\nimport { getAuthHeader } from \"../../_helpers/apiHelper\";\r\n\r\nconst resource = \"/devicefield\";\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(`${resource}/${companyId}/all`, config);\r\n },\r\n\r\n getById(user, deviceFieldId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/${deviceFieldId}`, config);\r\n },\r\n\r\n create(user, deviceId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.post(`${resource}/${deviceId}`, payload, config);\r\n },\r\n\r\n update(user, deviceFieldId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.put(`${resource}/${deviceFieldId}`, payload, config);\r\n },\r\n\r\n delete(user, deviceFieldId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.delete(`${resource}/${deviceFieldId}`, config);\r\n },\r\n\r\n getTemplates(user) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/templates`, config);\r\n },\r\n\r\n createTemplate(user, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.post(`${resource}/templates`, payload, config);\r\n },\r\n\r\n updateTemplate(user, deviceFieldTemplateId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.put(\r\n `${resource}/templates/${deviceFieldTemplateId}`,\r\n payload,\r\n config\r\n );\r\n },\r\n\r\n deleteTemplate(user, deviceFieldTemplateId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.delete(\r\n `${resource}/templates/${deviceFieldTemplateId}`,\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 = \"/devicedata\";\r\n\r\nexport default {\r\n getByCompany(user, companyId, queryParams) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(\r\n `${resource}/company/${companyId}?${queryParams}`,\r\n config\r\n );\r\n },\r\n\r\n getByDevice(user, deviceId, queryParams) {\r\n var config = {\r\n headers: getAuthHeader(user),\r\n };\r\n\r\n return Repository.get(\r\n `${resource}/device/${deviceId}?${queryParams}`,\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 = \"/connector\";\r\n\r\nexport default {\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 createConnector(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 editConnector(user, connectorId, payload) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.put(`${resource}/${connectorId}`, payload, config);\r\n },\r\n\r\n getConnector(user, connectorId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/${connectorId}`, config);\r\n },\r\n\r\n templates(user, active) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.get(`${resource}/templates?active=${active}`, config);\r\n },\r\n\r\n deleteConnector(user, connectorId) {\r\n var config = {\r\n headers: getAuthHeader(user)\r\n };\r\n\r\n return Repository.delete(`${resource}/${connectorId}`, config);\r\n }\r\n};\r\n","import UsersRepository from \"./repos/usersRepository\";\r\nimport CompanyRepository from \"./repos/companyRepository\";\r\nimport LogRepository from \"./repos/logRepository\";\r\nimport DeviceRepositry from \"./repos/deviceRepository\";\r\nimport DeviceFieldRepositry from \"./repos/deviceFieldRepository\";\r\nimport DeviceDataRepository from \"./repos/deviceDataRepository\";\r\nimport ConnectorRepository from \"./repos/connectorRepository\";\r\n\r\nconst repositories = {\r\n users: UsersRepository,\r\n companies: CompanyRepository,\r\n devices: DeviceRepositry,\r\n devicefields: DeviceFieldRepositry,\r\n devicedatas: DeviceDataRepository,\r\n connectors: ConnectorRepository,\r\n log: LogRepository\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\nimport i18n from \"@/plugins/i18n\";\r\nconst UserRepository = RepositoryFactory.get(\"users\");\r\n\r\nexport const users = {\r\n namespaced: true,\r\n state: {\r\n users: [],\r\n user: {},\r\n currentUser: {},\r\n userCompany: {},\r\n credentials: { email: \"\", password: \"\" },\r\n hasCompany: false,\r\n status: {\r\n loading: false,\r\n loggedIn: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async get({ commit, dispatch, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await UserRepository.get(user).then(\r\n (users) => {\r\n commit(\"GET_USER\", users.data);\r\n commit(\"LOADING\", false);\r\n },\r\n (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 commit(\"LOADING\", false);\r\n },\r\n\r\n changeCompanySuperAdmin({ commit }, company) {\r\n commit(\"GET_USER_COMPANY\", company);\r\n },\r\n\r\n async getById({ commit, dispatch, rootState }, userId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await UserRepository.getById(user, userId)\r\n .then((users) => {\r\n commit(\"GET_USER\", 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 commit(\"LOADING\", false);\r\n });\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getAll({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await UserRepository.getAll(user).then(\r\n (users) => {\r\n commit(\"GET_USERS\", users.data);\r\n commit(\"LOADING\", false);\r\n },\r\n (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 commit(\"LOADING\", false);\r\n },\r\n\r\n async getUserCompany({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n var user = rootState.users.currentUser;\r\n\r\n await UserRepository.getCompany(user).then(\r\n (company) => {\r\n commit(\"GET_USER_COMPANY\", company.data);\r\n commit(\"LOADING\", false);\r\n dispatch(\"languages/setLanguage\", company.data.country, {\r\n root: true,\r\n });\r\n },\r\n (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 async editUser({ dispatch, commit, rootState, state }, userPayload) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await UserRepository.edit(user, userPayload.userId, userPayload)\r\n .then((user) => {\r\n commit(\"EDIT_USER\", user.data);\r\n commit(\"LOADING\", false);\r\n\r\n if (state.currentUser.userId === user.data.userId) {\r\n dispatch(\"login\", state.credentials);\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(\"user.updateFailed\"), { root: true });\r\n commit(\"LOADING\", false);\r\n });\r\n },\r\n\r\n async login({ dispatch, commit }, { email, password }) {\r\n commit(\"SET_CREDENTIALS\", { email: email, password: password });\r\n\r\n commit(\"LOADING\", true);\r\n let success = false;\r\n await UserRepository.login(email, password)\r\n .then((user) => {\r\n commit(\"LOGIN_USER\", user.data);\r\n dispatch(\"getUserCompany\");\r\n success = true;\r\n commit(\"LOADING\", false);\r\n })\r\n .catch(() => {\r\n commit(\"LOGIN_FAILED\");\r\n commit(\"LOADING\", false);\r\n dispatch(\"alert/error\", i18n.t(\"user.signInFailed\"), { root: true });\r\n });\r\n\r\n return success;\r\n },\r\n\r\n async logout({ dispatch, commit }) {\r\n commit(\"LOGOUT_USER\");\r\n dispatch(\"companies/resetState\", null, { root: true });\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async updateRole(\r\n { dispatch, commit, rootState, state },\r\n { role: role, targetUserId: targetUserId }\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await UserRepository.updateRole(user, targetUserId, role)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n dispatch(\"companies/getCompanyUsers\", null, { root: true });\r\n\r\n if (state.currentUser.userId === user.data.userId) {\r\n dispatch(\"login\", state.credentials);\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 createUserAndCompany({ dispatch, commit, rootState }, payload) {\r\n commit(\"LOADING\", true);\r\n\r\n await UserRepository.createUserWithCompany(payload).then(() => {\r\n dispatch(\"alert/success\", i18n.t(\"common.created\"), {\r\n root: true,\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\"), {\r\n root: true,\r\n });\r\n });\r\n });\r\n },\r\n\r\n async delete({ dispatch, commit, rootState }, userId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n if (user.userId !== userId) {\r\n await UserRepository.delete(user, userId)\r\n .then(() => {\r\n dispatch(\"alert/success\", i18n.t(\"common.deleted\"), {\r\n root: true,\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\"), {\r\n root: true,\r\n });\r\n });\r\n }\r\n },\r\n\r\n async forgotPassword({ dispatch, commit }, email) {\r\n commit(\"LOADING\", true);\r\n await UserRepository.forgotPassword(email)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\r\n root: true,\r\n });\r\n });\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async forgotPasswordUpdate({ dispatch, commit }, { guid, password }) {\r\n commit(\"LOADING\", true);\r\n await UserRepository.forgotPasswordUpdate(guid, password)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch(() => {\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), {\r\n root: true,\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_USER(state, user) {\r\n state.user = user;\r\n },\r\n\r\n GET_USERS(state, users) {\r\n state.users = users;\r\n },\r\n\r\n GET_USER_COMPANY(state, company) {\r\n state.userCompany = company;\r\n state.hasCompany = true;\r\n },\r\n\r\n SET_CREDENTIALS(state, credentials) {\r\n state.credentials = credentials;\r\n },\r\n\r\n EDIT_USER(state, user) {\r\n state.user = user;\r\n },\r\n\r\n LOGIN_USER(state, user) {\r\n state.currentUser = user;\r\n state.status.loggedIn = true;\r\n },\r\n\r\n LOGIN_FAILED(state) {\r\n state.status.loggedIn = false;\r\n },\r\n\r\n // eslint-disable-next-line\r\n LOGOUT_USER(state) {\r\n state.users = [];\r\n state.user = [];\r\n state.currentUser = {};\r\n state.userCompany = {};\r\n state.hasCompany = false;\r\n state.status = {\r\n loading: false,\r\n loggedIn: false,\r\n };\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport i18n from \"@/plugins/i18n\";\r\nconst CompanyRepository = RepositoryFactory.get(\"companies\");\r\n\r\nexport const companies = {\r\n namespaced: true,\r\n state: {\r\n company: {},\r\n companies: [],\r\n companyUsers: [],\r\n companyApps: [],\r\n latestActivity: {},\r\n status: {\r\n loading: false,\r\n loggedIn: false\r\n }\r\n },\r\n\r\n actions: {\r\n async getCompanyUsers({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n if (rootState.users.userCompany.companyId === undefined)\r\n await this.dispatch(\"users/getUserCompany\", user, { root: true });\r\n\r\n var company = rootState.users.userCompany;\r\n\r\n await CompanyRepository.getCompanyUsers(user, company.companyId).then(\r\n users => {\r\n commit(\"GET_COMPANY_USERS\", users.data);\r\n commit(\"LOADING\", false);\r\n },\r\n error => {\r\n dispatch(\"alert/error\", error, { root: true });\r\n commit(\"LOADING\", false);\r\n }\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getCompanyApplications({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n if (rootState.users.userCompany.companyId === undefined)\r\n await this.dispatch(\"users/getUserCompany\", user, { root: true });\r\n\r\n var company = rootState.users.userCompany;\r\n\r\n await CompanyRepository.getCompanyApplications(user, company.companyId)\r\n .then(applications => {\r\n commit(\"GET_COMPANY_APPLICATION\", applications.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 });\r\n },\r\n\r\n // Get all companies\r\n async getAll({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await CompanyRepository.getAll(user).then(\r\n companies => {\r\n commit(\"GET_COMPANIES\", companies.data);\r\n commit(\"LOADING\", false);\r\n },\r\n 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 commit(\"LOADING\", false);\r\n },\r\n\r\n // Edit a company\r\n async editCompany({ dispatch, commit, rootState }, { company }) {\r\n commit(\"LOADING\", true);\r\n if (rootState.users.userCompany.companyId === undefined)\r\n await this.dispatch(\"users/getUserCompany\", user, { root: true });\r\n\r\n var user = rootState.users.currentUser;\r\n var companyId = rootState.users.userCompany.companyId;\r\n\r\n await CompanyRepository.edit(user, companyId, company).then(\r\n company => {\r\n commit(\"EDIT_COMPANY\", company.data);\r\n dispatch(\r\n \"languages/setLanguage\",\r\n rootState.users.userCompany.country,\r\n {\r\n root: true\r\n }\r\n );\r\n dispatch(\"alert/success\", i18n.t(\"common.updated\"), { root: true });\r\n commit(\"LOADING\", false);\r\n },\r\n 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 // Create a company\r\n async createCompany({ dispatch, commit, rootState }, { company }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await CompanyRepository.create(user, company).then(\r\n company => {\r\n commit(\"CREATE_COMPANY\", company);\r\n\r\n dispatch(\"alert/success\", i18n.t(\"common.created\"), { root: true });\r\n dispatch(\"users/getUserCompany\", { root: true });\r\n commit(\"LOADING\", false);\r\n },\r\n 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 async createUser({ dispatch, commit, rootState }, payload) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n if (rootState.users.userCompany.companyId === undefined)\r\n await this.dispatch(\"users/getUserCompany\", user, { root: true });\r\n\r\n await CompanyRepository.createUser(\r\n user,\r\n rootState.users.userCompany.companyId,\r\n payload\r\n )\r\n .then(() => {\r\n dispatch(\"alert/success\", i18n.t(\"common.created\"), { root: true });\r\n dispatch(\"getCompanyUsers\");\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 resetState({ commit }) {\r\n commit(\"RESET_STATE\");\r\n },\r\n\r\n async postImage({ dispatch, commit, rootState }, { image }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n if (rootState.users.userCompany.companyId === undefined)\r\n await this.dispatch(\"users/getUserCompany\", user, { root: true });\r\n\r\n await CompanyRepository.postImage(\r\n user,\r\n rootState.users.userCompany.companyId,\r\n image\r\n )\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n this.dispatch(\"users/getUserCompany\", user, { 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 commit(\"LOADING\", false);\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n },\r\n\r\n async deleteImage({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n if (rootState.users.userCompany.companyId === undefined)\r\n await this.dispatch(\"users/getUserCompany\", user, { root: true });\r\n\r\n await CompanyRepository.deleteImage(\r\n user,\r\n rootState.users.userCompany.companyId\r\n )\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n this.dispatch(\"users/getUserCompany\", user, { 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 commit(\"LOADING\", false);\r\n dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\r\n });\r\n },\r\n\r\n async getLatestActivity({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n if (rootState.users.userCompany.companyId === undefined)\r\n await this.dispatch(\"users/getUserCompany\", user, { root: true });\r\n\r\n await CompanyRepository.latestActivity(\r\n user,\r\n rootState.users.userCompany.companyId\r\n )\r\n .then(activity => {\r\n commit(\"LOADING\", false);\r\n commit(\"SET_LATEST_ACTIVITY\", activity.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 dispatch(\"alert/error\", i18n.t(\"common.error\"), { root: true });\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 SET_LATEST_ACTIVITY(state, activity) {\r\n state.latestActivity = activity;\r\n },\r\n\r\n GET_COMPANIES(state, companies) {\r\n state.companies = companies;\r\n },\r\n\r\n GET_COMPANY_APPLICATION(state, applications) {\r\n state.companyApps = applications;\r\n },\r\n\r\n GET_COMPANY_USERS(state, users) {\r\n state.companyUsers = users;\r\n },\r\n\r\n CREATE_COMPANY(state, company) {\r\n state.company = company;\r\n },\r\n\r\n EDIT_COMPANY(state, company) {\r\n state.company = company;\r\n },\r\n\r\n // eslint-disable-next-line\r\n RESET_STATE(state) {\r\n state = {\r\n company: {},\r\n companies: [],\r\n companyUsers: [],\r\n companyApps: [],\r\n status: {\r\n loading: false,\r\n loggedIn: false\r\n }\r\n };\r\n }\r\n }\r\n};\r\n","import i18n from \"@/plugins/i18n\";\r\n\r\nexport default {\r\n handle(res, dispatch, credentials, message = null) {\r\n if (res.response.status === 401) {\r\n dispatch(\r\n \"users/login\",\r\n {\r\n email: credentials.email,\r\n password: credentials.password\r\n },\r\n { root: true }\r\n );\r\n }\r\n\r\n dispatch(\r\n \"alert/error\",\r\n message == null ? i18n.t(\"common.error\") : message,\r\n { root: true }\r\n );\r\n }\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport ApiErrorHandler from \"@/_helpers/apiErrorHandler.js\";\r\n\r\nconst DeviceRepository = RepositoryFactory.get(\"devices\");\r\n\r\nexport const devices = {\r\n namespaced: true,\r\n state: {\r\n devices: [],\r\n device: {},\r\n pool: [],\r\n keys: [],\r\n metas: [],\r\n status: {\r\n loading: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async get({ dispatch, commit, rootState }, metaInclude = false) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n var companyId = rootState.users.userCompany.companyId;\r\n\r\n await DeviceRepository.get(user, companyId)\r\n .then((devices) => {\r\n if (metaInclude) commit(\"SET_DEVICES_WITH_META\", devices.data);\r\n\r\n commit(\"SET_DEVICES\", devices.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getById({ dispatch, commit, rootState }, deviceId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.getById(user, deviceId)\r\n .then((devices) => {\r\n commit(\"SET_DEVICE\", devices.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async create({ dispatch, commit, rootState }, payload) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n var companyId = rootState.users.userCompany.companyId;\r\n\r\n await DeviceRepository.create(user, companyId, payload)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async update({ dispatch, commit, rootState }, { deviceId, payload }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.update(user, deviceId, payload)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async delete({ dispatch, commit, rootState }, deviceId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.delete(user, deviceId)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getKeys({ dispatch, commit, rootState }, deviceId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.getKeys(user, deviceId)\r\n .then((keys) => {\r\n commit(\"SET_KEYS\", keys.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getPool({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.getPool(user)\r\n .then((pool) => {\r\n commit(\"SET_POOL\", pool.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async setPool({ dispatch, commit, rootState }, { companyId, deviceId }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n if (companyId == null || companyId == undefined)\r\n companyId = rootState.users.userCompany.companyId;\r\n\r\n await DeviceRepository.setPool(user, companyId, deviceId)\r\n .then(() => commit(\"LOADING\", false))\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n },\r\n\r\n async getMetas({ dispatch, commit, rootState }, deviceId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n await DeviceRepository.getMetas(user, deviceId)\r\n .then((data) => {\r\n commit(\"SET_META\", data.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async deleteMeta({ dispatch, commit, rootState }, deviceMetaId) {\r\n commit(\"LOADING\", true);\r\n var user = rootState.users.currentUser;\r\n await DeviceRepository.deleteMeta(user, deviceMetaId)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async createMeta({ dispatch, commit, rootState }, { deviceId, payload }) {\r\n commit(\"LOADING\", true);\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.createMeta(user, deviceId, payload)\r\n .then(() => {})\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\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_POOL(state, pool) {\r\n state.pool = pool;\r\n },\r\n\r\n SET_DEVICES(state, devices) {\r\n state.devices = devices;\r\n },\r\n\r\n SET_DEVICE(state, device) {\r\n state.device = device;\r\n },\r\n\r\n SET_KEYS(state, keys) {\r\n state.keys = keys;\r\n },\r\n\r\n SET_META(state, data) {\r\n state.metas = data;\r\n },\r\n\r\n SET_DEVICES_WITH_META(state, data) {\r\n for (let d in data) {\r\n let result = \"\";\r\n for (let j in data[d].deviceMetas)\r\n result += `${data[d].deviceMetas[j].keyName}: ${data[d].deviceMetas[j].value} `;\r\n\r\n data[d].meta = result;\r\n }\r\n\r\n state.devices = data;\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport ApiErrorHandler from \"@/_helpers/apiErrorHandler.js\";\r\n\r\nconst DeviceRepository = RepositoryFactory.get(\"devicefields\");\r\n\r\nexport const deviceFields = {\r\n namespaced: true,\r\n state: {\r\n fields: [],\r\n templates: [],\r\n field: {},\r\n status: {\r\n loading: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async get({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n var companyId = rootState.users.userCompany.companyId;\r\n\r\n await DeviceRepository.get(user, companyId)\r\n .then((fields) => {\r\n commit(\"SET_FIELDS\", fields.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getById({ dispatch, commit, rootState }, deviceFieldId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.getById(user, deviceFieldId)\r\n .then((fields) => {\r\n commit(\"SET_FIELD\", fields.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getFieldsForDevice({ dispatch, commit, rootState }, deviceId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await RepositoryFactory.get(\"devices\")\r\n .getFieldsForDevice(user, deviceId)\r\n .then((fields) => {\r\n commit(\"SET_FIELDS\", fields.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n },\r\n\r\n async create({ dispatch, commit, rootState }, { deviceId, payload }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.create(user, deviceId, payload)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async update({ dispatch, commit, rootState }, { deviceFieldId, payload }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.update(user, deviceFieldId, payload)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async delete({ dispatch, commit, rootState }, deviceFieldId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.delete(user, deviceFieldId)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getTemplates({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.getTemplates(user)\r\n .then((templates) => {\r\n commit(\"SET_TEMPLATES\", templates.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async createTemplate({ dispatch, commit, rootState }, payload) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.createTemplate(user, payload)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async updateTemplate(\r\n { dispatch, commit, rootState },\r\n { deviceFieldTemplateId, payload }\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.updateTemplate(\r\n user,\r\n deviceFieldTemplateId,\r\n payload\r\n )\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async deleteTemplate(\r\n { dispatch, commit, rootState },\r\n deviceFieldTemplateId\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceRepository.delete(user, deviceFieldTemplateId)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\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_FIELDS(state, fields) {\r\n state.fields = fields;\r\n },\r\n\r\n SET_FIELD(state, field) {\r\n state.field = field;\r\n },\r\n\r\n SET_TEMPLATES(state, templates) {\r\n state.templates = templates;\r\n },\r\n },\r\n};\r\n","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport ApiErrorHandler from \"@/_helpers/apiErrorHandler.js\";\r\n\r\nconst DeviceDataRepository = RepositoryFactory.get(\"devicedatas\");\r\n\r\nexport const deviceDatas = {\r\n namespaced: true,\r\n state: {\r\n datas: [],\r\n status: {\r\n loading: false,\r\n },\r\n },\r\n\r\n actions: {\r\n async getByDevice(\r\n { dispatch, commit, rootState },\r\n { deviceId, limit = 100 }\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await DeviceDataRepository.getByDevice(user, deviceId, `limit=${limit}`)\r\n .then((datas) => {\r\n commit(\"SET_DATAS\", datas.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getByCompany({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n var companyId = rootState.users.userCompany.companyId;\r\n\r\n await DeviceDataRepository.getByCompany(user, companyId, \"\")\r\n .then((datas) => {\r\n commit(\"SET_DATAS\", datas.data);\r\n })\r\n .catch((res) =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\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_DATAS(state, datas) {\r\n state.datas = datas;\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].join(\",\")}`);\r\n } else {\r\n params.push(`${k}=${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 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(logs => {\r\n commit(\"GET_LOGS\", logs.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 commit(\"LOADING\", false);\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_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 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 {\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","import { RepositoryFactory } from \"../../api/RepositoryFactory\";\r\nimport ApiErrorHandler from \"@/_helpers/apiErrorHandler.js\";\r\n\r\nconst ConnectorRepository = RepositoryFactory.get(\"connectors\");\r\n\r\nexport const connectors = {\r\n namespaced: true,\r\n state: {\r\n connectors: [],\r\n templates: [],\r\n connector: {},\r\n status: {\r\n loading: false\r\n }\r\n },\r\n\r\n actions: {\r\n async getByCompany({ dispatch, commit, rootState }) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n var companyId = rootState.users.userCompany.companyId;\r\n\r\n await ConnectorRepository.getByCompany(user, companyId)\r\n .then(datas => {\r\n commit(\"SET_DATAS\", datas.data);\r\n })\r\n .catch(res =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async createConnector(\r\n { dispatch, commit, rootState },\r\n { companyId, payload }\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n if (companyId == undefined) {\r\n companyId = rootState.users.userCompany.companyId;\r\n }\r\n\r\n await ConnectorRepository.createConnector(user, companyId, payload)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch(res =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async editConnector(\r\n { dispatch, commit, rootState },\r\n { connectorId, payload }\r\n ) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await ConnectorRepository.editConnector(user, connectorId, payload)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch(res =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async deleteConnector({ dispatch, commit, rootState }, connectorId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await ConnectorRepository.deleteConnector(user, connectorId)\r\n .then(() => {\r\n commit(\"LOADING\", false);\r\n })\r\n .catch(res =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getConnector({ dispatch, commit, rootState }, connectorId) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n\r\n await ConnectorRepository.getConnector(user, connectorId)\r\n .then(connector => {\r\n commit(\"SET_CONNECTOR\", connector.data);\r\n })\r\n .catch(res =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\r\n );\r\n\r\n commit(\"LOADING\", false);\r\n },\r\n\r\n async getTemplates({ dispatch, commit, rootState }, active = true) {\r\n commit(\"LOADING\", true);\r\n\r\n var user = rootState.users.currentUser;\r\n await ConnectorRepository.templates(user, active)\r\n .then(datas => {\r\n commit(\"SET_TEMPLATES\", datas.data);\r\n })\r\n .catch(res =>\r\n ApiErrorHandler.handle(res, dispatch, rootState.users.credentials)\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_DATAS(state, datas) {\r\n state.connectors = datas;\r\n },\r\n\r\n SET_TEMPLATES(state, datas) {\r\n state.templates = datas;\r\n },\r\n\r\n SET_CONNECTOR(state, data) {\r\n state.connector = data;\r\n }\r\n }\r\n};\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\n\r\nimport { alert } from \"./modules/alert\";\r\nimport { users } from \"./modules/user\";\r\nimport { companies } from \"./modules/company\";\r\nimport { devices } from \"./modules/device\";\r\nimport { deviceFields } from \"./modules/deviceFields\";\r\nimport { deviceDatas } from \"./modules/deviceData\";\r\nimport { logs } from \"./modules/log\";\r\nimport { languages } from \"./modules/language\";\r\nimport { connectors } from \"./modules/connector\";\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 devices,\r\n deviceFields,\r\n deviceDatas,\r\n logs,\r\n alert,\r\n connectors,\r\n languages\r\n },\r\n plugins: [createPersistedState()]\r\n});\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{staticClass:\"grey lighten-4\"},[(_vm.$router.currentRoute.name !== 'home')?_c('NavBar'):_vm._e(),_c('v-main',{staticClass:\"backg\"},[_c('router-view')],1),(_vm.message != '')?_c('v-snackbar',{attrs:{\"bottom\":\"\",\"right\":\"\",\"timeout\":3000},model:{value:(_vm.refresh),callback:function ($$v) {_vm.refresh=$$v},expression:\"refresh\"}},[_vm._v(_vm._s(_vm.message))]):_vm._e(),_c('br'),(_vm.$router.currentRoute.name !== 'home')?_c('v-footer',{attrs:{\"app\":\"\"}},[_c('span',[_vm._v(\"© 2020 - Powered By IoT Application And Hardware AB\")])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',[_c('v-app-bar',{attrs:{\"app\":\"\",\"clipped\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}),_c('v-toolbar-title',{staticClass:\"text-uppercase grey--text\"},[_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"NODE\")]),_c('span',[_vm._v(\"LEDGE\")])])],1),_c('v-navigation-drawer',{staticClass:\"primary\",attrs:{\"app\":\"\",\"src\":\"bg-3.jpg\",\"temporary\":\"\"},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-list-item-title',{staticClass:\"title white--text\"},[_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"NODE\")]),_c('span',[_vm._v(\"LEDGE\")])])],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',{staticClass:\"white--text\"},[_vm._v(_vm._s(link.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"white--text\"},[_vm._v(_vm._s(link.text))])],1)],1)}),_c('v-divider'),(_vm.allowed(null, _vm.Roles.SuperAdmin))?_c('v-list-item',[_c('v-list-item-content',[_c('v-select',{attrs:{\"loading\":_vm.companyStatus.loading,\"items\":_vm.companies,\"item-value\":\"companyId\",\"item-text\":\"companyName\",\"return-object\":\"\"},on:{\"change\":_vm.setCompany},model:{value:(_vm.currentCompany),callback:function ($$v) {_vm.currentCompany=$$v},expression:\"currentCompany\"}})],1)],1):_vm._e(),_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)],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-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/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-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=1c7f4857&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js&\"\nexport * from \"./NavBar.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAppBar,VAppBarNavIcon,VDivider,VIcon,VList,VListItem,VListItemAction,VListItemContent,VListItemTitle,VNavigationDrawer,VSelect,VSwitch,VToolbarTitle})\n","\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 © 2020 - Powered By IoT Application And Hardware AB\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-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/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-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=b82a88d6&\"\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&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\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VApp,VFooter,VMain,VSnackbar})\n","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\nconst opts = {\r\n iconfont: \"mdi\",\r\n theme: {\r\n dark: true,\r\n themes: {\r\n light: {\r\n primary: colors.deepOrange,\r\n accent: colors.deepOrange.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.deepOrange,\r\n accent: colors.deepOrange.accent1,\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);\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"nice-data-col\",style:('color:' + _vm.textColor),attrs:{\"md\":\"6\",\"xs\":\"12\"}},_vm._l((Object.keys(_vm.values)),function(item,index){return _c('h3',{key:index},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.langPrefix + item))+\": \")])}),0),_c('v-col',{staticClass:\"nice-data-col\",attrs:{\"md\":\"6\",\"xs\":\"12\"}},_vm._l((_vm.values),function(item,index){return _c('h4',{key:index},[_vm._v(\" \"+_vm._s(item)+\" \")])}),0)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n {{ $t(langPrefix + item) }}:\r\n
\r\n \r\n\r\n \r\n \r\n {{ item }}\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/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NiceData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NiceData.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NiceData.vue?vue&type=template&id=40ae18e4&\"\nimport script from \"./NiceData.vue?vue&type=script&lang=js&\"\nexport * from \"./NiceData.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NiceData.vue?vue&type=style&index=0&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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('h2',{staticClass:\"text-uppercase\"},[_vm._v(_vm._s(_vm.title))]),_c('v-divider'),_c('v-text-field',{staticStyle:{\"margin\":\"0rem 2rem\"},attrs:{\"append-icon\":\"mdi-magnify\",\"label\":_vm.$t('common.search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"loading\":_vm.loading,\"items-per-page\":50,\"search\":_vm.search},on:{\"click:row\":_vm.clickedRow},scopedSlots:_vm._u([_vm._l((Object.keys(_vm.$scopedSlots)),function(slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}})],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n {{ title }}
\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/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NiceDataTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NiceDataTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NiceDataTable.vue?vue&type=template&id=62c01ced&\"\nimport script from \"./NiceDataTable.vue?vue&type=script&lang=js&\"\nexport * from \"./NiceDataTable.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VContainer,VDataTable,VDivider,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":\"450\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"flat\":\"\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.title == null ? _vm.$t(\"common.confirmDelete\") : _vm.title))]),_c('div',{staticClass:\"flex-grow-1\"})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.$emit('close-dialog')}}},[_vm._v(_vm._s(_vm.$t(\"common.close\")))]),_c('v-btn',{attrs:{\"color\":\"error\",\"text\":\"\"},on:{\"click\":function($event){return _vm.$emit('confirmed-delete')}}},[_vm._v(_vm._s(_vm.$t(\"common.delete\")))])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n {{\r\n title == null ? $t(\"common.confirmDelete\") : title\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 $t(\"common.delete\")\r\n }}\r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialogDelete.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialogDelete.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfirmDialogDelete.vue?vue&type=template&id=930f7a34&\"\nimport script from \"./ConfirmDialogDelete.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfirmDialogDelete.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VDialog,VSpacer,VToolbar,VToolbarTitle})\n","import Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"./store\";\r\nimport vuetify from \"./plugins/vuetify\";\r\nimport i18n from \"@/plugins/i18n\";\r\nimport NiceData from \"@/components/common/NiceData\";\r\nimport NiceDataTable from \"@/components/common/NiceDataTable\";\r\nimport ConfirmDeleteDialog from \"@/components/common/ConfirmDialogDelete\";\r\nimport VueJsonPretty from \"vue-json-pretty\";\r\n\r\n// Mixins\r\nimport RestrictHelper from \"@/_helpers/RestrictHelper\";\r\n\r\nVue.config.productionTip = false;\r\nVue.component(\"nice-data\", NiceData);\r\nVue.component(\"nice-data-table\", NiceDataTable);\r\nVue.component(\"vue-json-pretty\", VueJsonPretty);\r\nVue.component(\"confirm-delete-dialog\", ConfirmDeleteDialog);\r\n\r\nVue.mixin(RestrictHelper);\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n vuetify,\r\n i18n,\r\n render: h => h(App)\r\n}).$mount(\"#app\");\r\n","import Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport store from \"@/store\";\r\nimport i18n from \"@/plugins/i18n.js\";\r\n\r\n// Import components\r\nconst Home = () => import(\"@/views/Landing.vue\");\r\nconst LiveData = () => import(\"@/views/Home.vue\");\r\n\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 ConnectorView = () => import(\"@/views/ConnectorView.vue\");\r\nconst ConnectorShow = () => import(\"@/components/connectors/Show.vue\");\r\nconst ConnectorCreate = () => import(\"@/components/connectors/Create.vue\");\r\nconst ConnectorEdit = () => import(\"@/components/connectors/Edit.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 Device = () => import(\"@/views/Device.vue\");\r\nconst DeviceField = () => import(\"@/views/DeviceField.vue\");\r\n\r\nconst DeviceList = () => import(\"@/components/device/ListDevice.vue\");\r\nconst DeviceDetails = () => import(\"@/components/device/DeviceDetails.vue\");\r\nconst DeviceFieldCreate = () =>\r\n import(\"@/components/device/CreateDeviceField.vue\");\r\nconst DeviceFieldUpdate = () =>\r\n import(\"@/components/device/UpdateDeviceField.vue\");\r\n\r\nconst DevicePool = () => import(\"@/components/device/DevicePool.vue\");\r\n\r\nconst ListDeviceField = () =>\r\n import(\"@/components/device/ListDevicesFields.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 Contact = () => import(\"@/views/Contact.vue\");\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: \"/live\",\r\n component: LiveData\r\n },\r\n\r\n {\r\n path: \"/pool\",\r\n component: Device,\r\n children: [\r\n {\r\n path: \"\",\r\n component: DevicePool,\r\n meta: { authorize: Roles.AdminOrCompanyAdmin }\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: \"/device\",\r\n component: Device,\r\n children: [\r\n {\r\n path: \"\",\r\n component: DeviceList,\r\n meta: { authorize: Roles.CompanyOrUser }\r\n },\r\n\r\n {\r\n path: \"detail/:id\",\r\n component: DeviceDetails,\r\n meta: { authorize: Roles.CompanyOrUser }\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: \"/connectors\",\r\n component: ConnectorView,\r\n children: [\r\n {\r\n path: \"\",\r\n component: ConnectorShow,\r\n meta: { authorize: Roles.AdminOrCompanyAdmin }\r\n },\r\n {\r\n path: \"create\",\r\n component: ConnectorCreate,\r\n meta: { authorize: Roles.AdminOrCompanyAdmin }\r\n },\r\n {\r\n path: \"edit/:id\",\r\n component: ConnectorEdit,\r\n meta: { authorize: Roles.AdminOrCompanyAdmin }\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: \"/device/fields\",\r\n component: DeviceField,\r\n children: [\r\n {\r\n path: \"\",\r\n component: ListDeviceField,\r\n meta: { authorize: Roles.CompanyOrUser }\r\n },\r\n\r\n {\r\n path: \"create\",\r\n component: DeviceFieldCreate,\r\n meta: { authorize: Roles.CompanyOrUser }\r\n },\r\n\r\n {\r\n path: \"create/:id\",\r\n component: DeviceFieldCreate,\r\n meta: { authorize: Roles.CompanyOrUser }\r\n },\r\n\r\n {\r\n path: \"update/:id\",\r\n component: DeviceFieldUpdate,\r\n meta: { authorize: Roles.CompanyOrUser }\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: { authorize: Roles.CompanyOrUser }\r\n },\r\n {\r\n path: \"edit\",\r\n component: CompanyEdit,\r\n meta: { authorize: Roles.AdminOrCompanyAdmin }\r\n },\r\n {\r\n path: \"create\",\r\n component: CompanyCreate,\r\n meta: { authorize: Roles.Admin }\r\n },\r\n {\r\n path: \"applications\",\r\n component: CompanyApps,\r\n meta: { authorize: Roles.CompanyOrUser }\r\n },\r\n {\r\n path: \"usercreate\",\r\n component: CreateUser,\r\n meta: { authorize: Roles.AdminOrCompanyAdmin }\r\n },\r\n {\r\n path: \"user/:id\",\r\n component: EditUser,\r\n meta: { authorize: Roles.CompanyOrUser }\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: \"/superadmin\",\r\n component: AdminDashboard,\r\n meta: { authorize: Roles.SuperAdmin }\r\n },\r\n\r\n {\r\n path: \"/register\",\r\n component: Register,\r\n children: [\r\n {\r\n path: \"\",\r\n component: UserCompanyRegister\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 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 && to.meta.authorize.length > 0) {\r\n var role = store.state.users.currentUser.role;\r\n\r\n if (!role) next({ path: \"/login\" });\r\n\r\n if (to.meta.authorize.includes(role)) {\r\n next();\r\n } else {\r\n next({ path: \"/\" });\r\n }\r\n }\r\n\r\n next();\r\n});\r\n\r\nexport default router;\r\n","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\r\n AdminOrUser: [\"Admin\", \"CompanyAdmin\", \"SuperAdmin\"],\r\n CompanyOrUser: [\"Admin\", \"CompanyAdmin\", \"User\", \"SuperAdmin\"],\r\n AdminOrCompanyAdmin: [\"Admin\", \"CompanyAdmin\", \"SuperAdmin\"],\r\n AdminOrSuper: [\"Admin\", \"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 mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NiceData.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NiceData.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}