mangadex_at_home/src/main/resources/webui/js/app.0c79c898.js.map
2020-08-03 09:53:15 -05:00

1 line
401 KiB
Plaintext

{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Options.vue?f87c","webpack:///./src/store/index.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?987e","webpack:///./src/plugins/vuetify.js","webpack:///src/App.vue","webpack:///./src/App.vue?5b92","webpack:///./src/App.vue","webpack:///./src/components/Dashboard.vue?670c","webpack:///./src/components/dashGrid.vue?60f7","webpack:///src/components/dashGrid.vue","webpack:///./src/components/dashGrid.vue?9117","webpack:///./src/components/dashGrid.vue?9511","webpack:///src/components/Dashboard.vue","webpack:///./src/components/Dashboard.vue?1806","webpack:///./src/components/Dashboard.vue","webpack:///./src/components/Console.vue?a0a1","webpack:///./src/components/xterm.vue?94d2","webpack:///src/components/xterm.vue","webpack:///./src/components/xterm.vue?62ef","webpack:///./src/components/xterm.vue?b8ec","webpack:///src/components/Console.vue","webpack:///./src/components/Console.vue?1388","webpack:///./src/components/Console.vue","webpack:///./src/components/Options.vue?559b","webpack:///src/components/Options.vue","webpack:///./src/components/Options.vue?8f8a","webpack:///./src/components/Options.vue?4cb4","webpack:///./src/components/About.vue?b279","webpack:///src/components/About.vue","webpack:///./src/components/About.vue?8b63","webpack:///./src/components/About.vue","webpack:///./src/plugins/vuerouter.js","webpack:///./src/registerServiceWorker.js","webpack:///./src/main.js","webpack:///./src/constants.js","webpack:///./src/components/xterm.vue?2a74","webpack:///./src/components/dashGrid.vue?5320"],"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","Vue","use","Vuex","state","options","current","hasBgImage","bgImage","showAppBar","lockGrid","exp_showSlider","exp_connectGraphs","exp_showConsole","exp_consoleGrid","exp_showAbout","exp_showClientSettings","superSecret","themes","backgroundAlpha","custom","backgroundColor","textColor","primary","secondary","active","accent","accent1","accent2","green","red","yellow","light","dark","midnight","eyekiller","datasets","socket","stats","updateInterval","maxStorePoints","layout","grid","charts","tempoptions","title","text","legend","show","temppieoptions","x","y","w","h","maxLines","defaultLayout","defaultCharts","left","tooltip","trigger","axisPointer","label","formatter","top","yAxis","scale","offset","axisLabel","unit","splitLine","series","dataId","yAxisIndex","showSymbol","itemStyle","colorId","orient","avoidLabelOverlap","labelLine","sampling","getters","bgImg","alpha","toString","getDataset","dataset","getLastValueOfDataset","mutations","setTheme","theme","localStorage","body","style","setAlpha","val","setCustom","resetCustom","setStats","setDatasets","updateDatasets","stat","JSON","parse","timestamp","keys","statKeys","timeDate","Date","moment","forEach","lastPair","float","pushStats","spliceStats","resetStats","date","bytesSent","bytesSentChange","sizeDisk","sizeDiskChange","reqServ","reqServChange","hits","hitsChange","misses","missesChange","cached","cachedChange","resetLayout","map","constructChart","dashboardLayout","stringify","dashboardCharts","setLayout","store","setConsoleLayout","setChart","addLayoutContainer","id","ids","includes","deconstructChart","removeLayoutContainer","setHasBg","hasBackground","setBgUrl","backgroundURL","setRefresh","isNaN","Math","max","parseInt","refreshRate","setTempOptions","setTempPieOptions","setMaxStorePoints","maxDataPoints","setConsoleData","pushConsoleLine","consoleLines","setMaxConsoleLines","setOption","Store","webpackContext","req","webpackContextResolve","_vm","this","_h","$createElement","_c","_self","staticStyle","$vuetify","breakpoint","mdAndDown","$store","background","attrs","staticClass","color","on","$event","stopPropagation","drawer","_v","_e","model","callback","$$v","expression","isDark","_l","item","path","route","_s","icon","position","width","height","className","paddingAbsolute","scrollbars","autoHide","staticRenderFns","Vuetify","customProperties","component","VApp","VAppBar","VAppBarNavIcon","VFadeTransition","VIcon","VImg","VList","VListItem","VListItemContent","VListItemIcon","VListItemTitle","VMain","VNavigationDrawer","VSpacer","this$1","showModal","smAndDown","ref","index","class","right","commit","minHeight","$modal","hide","prevreload","getLightness","$set","graph","showyaxis","line","addAxis","removeAxis","units","setYAxisUnits","showdatasets","marginTop","addSet","removeSet","a","graphTypes","b","idx","setYAxis","scopedSlots","_u","fn","hover","borderColor","addPieSet","removePieSet","translate","bottom","construct","exportgraph","saveGridChanges","getIndex","zIndex","VContainer","VHover","VBtn","VBtnToggle","VCheckbox","VCol","VColorPicker","VExpandTransition","VRow","VScrollXTransition","VSelect","VSubheader","VTextField","consoleLayout","$nextTick","$refs","term","fit","refInFor","genid","items","exp_customTheme","showbar","bgimg","referr","checkNan","maxpoints","configerrors","configvals","msw","mswtprev","mcs","mcsprev","mhb","mhbprev","mbs","mbsprev","dosuperSecret","superSecretText","VSlider","VSwitch","shortValue","longValue","unitLabel","att","disp","timeframe","averagePerTime","routes","dashboard","about","VueRouter","register","process","ready","log","registered","updatefound","updated","offline","OverlayScrollbarsComponent","VModal","dynamic","dynamicDefaults","clickToClose","VueGridLayout","VueTimers","config","productionTip","mixin","methods","updateData","fetch","catch","warn","response","json","sortNeeded","sortData","interpolateData","importData","k","render","App","router","vuetify","$mount","dictionary","requests_served","requests_served_c","cache_hits","cache_hits_c","cache_misses","cache_misses_c","browser_cached","browser_cached_c","bytes_sent","bytes_sent_c","bytes_on_disk","bytes_on_disk_c","dataUnits","numberUnits","biscuitUnits","formatNumber","flot","num","abs","parseFloat","sign","div","pow","translateColor","input","reverse","translation","H","g","min","toFixed","storedConfig","temp","textStyle","toolbox","iconStyle","emphasis","textPosition","textBackgroundColor","feature","dataZoom","zoom","back","restore","saveAsImage","offadd","containLabel","inactiveColor","xAxis","axisLine","lineStyle","format","replace","splitNumber","showMaxLabel","showMinLabel","point","axisDimension","seriesData","axisIndex","areaStyle","opacity","handleSize","fillerColor","handleStyle","dataBackground","watch","exp","jsonString","imported","previousTimestamp","previousStat","quickSort","origArray","pivot","pop","concat","thresholdMS","tolerance","currStat","nextStat","currTS","nextTS","fill","numPoints","subtract","toISOString","add","number","addData","inst","floor","random","ti","statobj"],"mappings":"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","file":"js/app.0c79c898.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-7577183e\":\"18dbd756\"}[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-7577183e\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-7577183e\":\"6dc57fe0\"}[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!./Options.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!./Options.vue?vue&type=style&index=0&lang=css&\"","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport {deconstructChart, constructChart, float} from \"@/constants\";\r\nimport moment from \"moment\";\r\n\r\nVue.use(Vuex);\r\n\r\nconst state = {\r\n options: {\r\n current: 'light',\r\n hasBgImage: false,\r\n bgImage: 'https://images3.alphacoders.com/819/thumb-1920-819294.png',\r\n showAppBar: true,\r\n lockGrid: false,\r\n exp_showSlider: false,\r\n exp_connectGraphs: false,\r\n exp_showConsole: false,\r\n exp_consoleGrid: false,\r\n exp_showAbout: false,\r\n exp_showClientSettings: false,\r\n superSecret: false,\r\n },\r\n themes: {\r\n backgroundAlpha: 240, //the alpha to apply if a background exists\r\n custom: {\r\n backgroundColor: '#efeff0',\r\n textColor: '#202020',\r\n primary: '#fbfbfe',\r\n secondary: '#fafafa',\r\n active: '#e7e7e7',\r\n accent: '#717175ff',\r\n accent1: '#96969eB4',\r\n accent2: '#5e5e624D',\r\n green: '#00e000',\r\n red: '#e00000',\r\n yellow: '#e0e000',\r\n },\r\n light: { //internal name for theme\r\n backgroundAlpha: 'f0', //the alpha to apply if a background exists\r\n backgroundColor: '#efeff0', //background color\r\n textColor: '#202020', //text color\r\n primary: '#fbfbfe', //color of page and side bars\r\n secondary: '#fafafa', //color of title bars and content containers\r\n active: '#4b4b4b', //color of active switches\r\n accent: '#e0e0e0', //misc, mainly used as a secondary text/icon color\r\n accent1: 'rgba(150,150,158, 0.3)', //misc, mainly used as button color\r\n accent2: 'rgba(94,94,98,0.7)', //misc\r\n green: '#00e000', //unused\r\n red: '#e00000', //unused\r\n yellow: '#e0e000', //unused\r\n },\r\n dark: {\r\n backgroundColor: '#353536',\r\n textColor: '#f6f6f6',\r\n primary: '#505053',\r\n secondary: '#454547',\r\n active: '#e7e7e7',\r\n accent: '#606065',\r\n accent1: 'rgba(200,200,210,0.3)',\r\n accent2: 'rgba(200,200,210,0.7)',\r\n green: '#00e000',\r\n red: '#e00000',\r\n yellow: '#e0e000',\r\n },\r\n midnight: {\r\n backgroundColor: '#000',\r\n textColor: '#d0d0d0',\r\n primary: '#191919',\r\n secondary: '#212122',\r\n active: '#cbcbcb',\r\n accent: '#6b6b6d',\r\n accent1: 'rgba(255,255,255,0.3)',\r\n accent2: 'rgba(95,95,100,0.7)',\r\n green: '#00a000',\r\n red: '#a00000',\r\n yellow: '#a0a000',\r\n },\r\n eyekiller: { //internal name for theme\r\n backgroundColor: '#26ff00', //background color\r\n textColor: '#000000', //text color\r\n primary: '#ee00ff', //color of page and side bars\r\n secondary: '#ffc800', //color of title bars and content containers\r\n active: '#4b4b4b',\r\n accent: '#00aeff', //misc, mainly used as a secondary text/icon color\r\n accent1: 'rgba(255,0,0,0.3)', //misc, mainly used as button color\r\n accent2: 'rgba(0,32,255,0.7)', //misc\r\n green: '#00ff00', //unused\r\n red: '#ff0000', //unused\r\n yellow: '#ffff00', //unused\r\n },\r\n },\r\n data: {\r\n datasets: {},\r\n socket: null,\r\n stats: [],\r\n updateInterval: 2000,\r\n maxStorePoints: 1801,\r\n },\r\n layout: {\r\n grid: [],\r\n charts: [],\r\n tempoptions: {title: {text: 'title'}, legend: {show: true}},\r\n temppieoptions: {title: {text: 'title'}, legend: {show: true}},\r\n },\r\n console: {\r\n grid: [{x: 0, y: 0, w: 10, h: 8, i: 0, c: 1},\r\n {x: 10, y: 0, w: 14, h: 8, i: 1, c: 2},\r\n {x: 0, y: 8, w: 24, h: 10, i: 2, c: 0}],\r\n data: [],\r\n maxLines: 1000\r\n }\r\n};\r\n\r\n// eslint-disable-next-line no-unused-vars\r\nconst defaultConsoleLayout = [\r\n {x: 0, y: 0, w: 10, h: 8, i: 0, c: 1},\r\n {x: 10, y: 0, w: 14, h: 8, i: 1, c: 2},\r\n {x: 0, y: 8, w: 24, h: 10, i: 2, c: 0}];\r\n\r\nconst defaultLayout = [\r\n {x: 0, y: 0, w: 24, h: 8, i: 0},\r\n {x: 0, y: 8, w: 5, h: 8, i: 1},\r\n {x: 5, y: 8, w: 11, h: 8, i: 2},\r\n {x: 16, y: 8, w: 8, h: 8, i: 3}];\r\nconst defaultCharts = [\r\n {\r\n type: 'graph',\r\n title: {left: 'center', text: 'Requests'},\r\n tooltip: {trigger: 'axis', axisPointer: {type: 'cross', label: {formatter: 'number'}}},\r\n legend: {left: 'center', show: true, top: 30, data: ['Requests', 'Hits', 'Misses']},\r\n yAxis: [{\r\n type: 'value',\r\n name: 'Req/s',\r\n scale: true,\r\n offset: 0,\r\n axisLabel: {unit: 2},\r\n splitLine: {show: false}\r\n }, {\r\n type: 'value',\r\n name: 'Hits/s',\r\n scale: true,\r\n offset: 0,\r\n axisLabel: {unit: 2},\r\n splitLine: {show: false}\r\n }, {\r\n type: 'value',\r\n name: 'Misses/s',\r\n scale: true,\r\n offset: 80,\r\n axisLabel: {unit: 2},\r\n splitLine: {show: false}\r\n }],\r\n series: [{\r\n name: 'Requests',\r\n type: 'line',\r\n data: null,\r\n dataId: 'Change in Requests Served',\r\n yAxisIndex: 0,\r\n showSymbol: false,\r\n itemStyle: {colorId: 'text'}\r\n }, {\r\n name: 'Hits',\r\n type: 'line',\r\n data: null,\r\n dataId: 'Change in Hits',\r\n yAxisIndex: 1,\r\n showSymbol: false,\r\n itemStyle: {colorId: 'green'}\r\n }, {\r\n name: 'Misses',\r\n type: 'line',\r\n data: null,\r\n dataId: 'Change in Misses',\r\n yAxisIndex: 2,\r\n showSymbol: false,\r\n itemStyle: {colorId: 'red'}\r\n }]\r\n },\r\n {\r\n type: 'pie',\r\n title: {\r\n left: 'center',\r\n text: 'Reliability',\r\n },\r\n legend: {\r\n orient: 'vertical',\r\n left: 0,\r\n top: 4,\r\n show: true,\r\n data: ['Hits', 'Misses', 'Cached'],\r\n },\r\n series: [\r\n {\r\n type: 'pie',\r\n avoidLabelOverlap: true,\r\n label: {\r\n show: false,\r\n },\r\n labelLine: {\r\n show: false\r\n },\r\n data: [\r\n {\r\n value: 0,\r\n name: 'Hits',\r\n dataId: 'Hits',\r\n itemStyle: {colorId: 'green'}\r\n },\r\n {\r\n value: 0,\r\n name: 'Misses',\r\n dataId: 'Misses',\r\n itemStyle: {colorId: 'red'}\r\n },\r\n {\r\n value: 0,\r\n name: 'Cached',\r\n dataId: 'Browser Cached',\r\n itemStyle: {colorId: 'accent1'}\r\n },\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n type: 'graph',\r\n title: {\r\n left: 'center',\r\n text: 'Bytes Sent',\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'cross',\r\n label: {\r\n formatter: 'number'\r\n },\r\n }\r\n },\r\n legend: {\r\n left: 'center',\r\n top: 30,\r\n data: ['Total', 'Change'],\r\n },\r\n yAxis: [{\r\n type: 'value',\r\n name: 'Total',\r\n scale: true,\r\n axisLabel: {\r\n unit: 1\r\n },\r\n splitLine: {\r\n show: false\r\n }\r\n }, {\r\n type: 'value',\r\n name: 'Change/s',\r\n scale: true,\r\n axisLabel: {\r\n unit: 1\r\n },\r\n splitLine: {\r\n show: false\r\n }\r\n }],\r\n series: [{\r\n name: 'Total',\r\n dataId: 'Bytes Sent',\r\n type: 'line',\r\n sampling: 'average',\r\n showSymbol: false,\r\n itemStyle: {\r\n colorId: 'text'\r\n },\r\n }, {\r\n name: 'Change',\r\n dataId: 'Change in Bytes Sent',\r\n yAxisIndex: 1,\r\n type: 'line',\r\n showSymbol: false,\r\n itemStyle: {\r\n colorId: 'yellow'\r\n },\r\n }]\r\n },\r\n // {\r\n // type: 'graph',\r\n // title: {\r\n // left: 'center',\r\n // text: 'Requests Served',\r\n // },\r\n // tooltip: {\r\n // trigger: 'axis',\r\n // axisPointer: {\r\n // type: 'cross',\r\n // label: {\r\n // formatter: 'number'\r\n // },\r\n // }\r\n // },\r\n // legend: {\r\n // left: 'center',\r\n // top: 22,\r\n // data: ['Total', 'Change'],\r\n // },\r\n // yAxis: [{\r\n // type: 'value',\r\n // name: 'Total',\r\n // scale: true,\r\n // axisLabel: {\r\n // unit: 2\r\n // },\r\n // splitLine: {\r\n // show: false\r\n // }\r\n // }, {\r\n // type: 'value',\r\n // name: 'Change',\r\n // scale: true,\r\n // axisLabel: {\r\n // unit: 2\r\n // },\r\n // splitLine: {\r\n // show: false\r\n // }\r\n // }],\r\n // series: [{\r\n // name: 'Total',\r\n // dataId: 'Requests Served',\r\n // type: 'line',\r\n // sampling: 'average',\r\n // showSymbol: false,\r\n // itemStyle: {\r\n // colorId: 'text'\r\n // },\r\n // }, {\r\n // name: 'Change',\r\n // dataId: 'Change in Requests Served',\r\n // yAxisIndex: 1,\r\n // type: 'bar',\r\n // itemStyle: {\r\n // colorId: 'yellow'\r\n // },\r\n // }]\r\n // },\r\n {\r\n type: 'graph',\r\n title: {\r\n left: 'center',\r\n text: 'Cache Size',\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'cross',\r\n label: {\r\n formatter: 'number'\r\n },\r\n }\r\n },\r\n legend: {\r\n left: 'center',\r\n top: 30,\r\n data: ['Total', 'Change'],\r\n },\r\n yAxis: [{\r\n type: 'value',\r\n name: 'Total',\r\n scale: true,\r\n axisLabel: {\r\n unit: 1\r\n },\r\n splitLine: {\r\n show: false\r\n }\r\n }, {\r\n type: 'value',\r\n name: 'Change/s',\r\n scale: true,\r\n axisLabel: {\r\n unit: 1\r\n },\r\n splitLine: {\r\n show: false\r\n }\r\n }],\r\n series: [{\r\n name: 'Total',\r\n dataId: 'Cache Size',\r\n type: 'line',\r\n sampling: 'average',\r\n showSymbol: false,\r\n itemStyle: {\r\n colorId: 'text'\r\n },\r\n }, {\r\n name: 'Change',\r\n dataId: 'Change in Cache Size',\r\n yAxisIndex: 1,\r\n type: 'line',\r\n showSymbol: false,\r\n itemStyle: {\r\n colorId: 'yellow'\r\n },\r\n }]\r\n },\r\n];\r\n\r\nconst getters = {\r\n current: state => state.themes[state.options.current],\r\n themes: state => state.themes,\r\n options: state => state.options,\r\n hasBgImage: state => state.options.hasBgImage,\r\n bgImg: state => state.options.bgImage,\r\n showAppBar: state => state.options.showAppBar,\r\n alpha: state => state.options.hasBgImage ? state.themes.backgroundAlpha.toString(16) : '',\r\n data: state => state.data,\r\n getDataset: state => dataset => state.data.datasets[dataset],\r\n getLastValueOfDataset: state => dataset => state.data.datasets[dataset] ?\r\n (state.data.datasets[dataset][state.data.datasets[dataset].length - 1] ?\r\n state.data.datasets[dataset][state.data.datasets[dataset].length - 1][1] : 0) : 0,\r\n layout: state => state.layout,\r\n console: state => state.console,\r\n};\r\n\r\nconst mutations = {\r\n setTheme(state, theme) {\r\n state.options.current = theme;\r\n localStorage.theme = theme;\r\n document.body.style.backgroundColor = state.themes[state.options.current].backgroundColor;\r\n },\r\n setAlpha(state, val) {\r\n state.themes.backgroundAlpha = val\r\n },\r\n setCustom(state, val) {\r\n state.themes.custom = val\r\n },\r\n resetCustom(state) {\r\n state.themes.custom = {\r\n backgroundColor: '#efeff0',\r\n textColor: '#202020',\r\n primary: '#fbfbfe',\r\n secondary: '#fafafa',\r\n active: '#4b4b4b',\r\n accent: '#717175ff',\r\n accent1: '#96969eB4',\r\n accent2: '#5e5e624D',\r\n green: '#00e000',\r\n red: '#e00000',\r\n yellow: '#e0e000',\r\n }\r\n },\r\n setStats(state, val) {\r\n state.data.stats = val;\r\n },\r\n setDatasets(state, val) {\r\n state.data.datasets = val\r\n },\r\n updateDatasets(state, val) {\r\n // val should be a stat object\r\n let stat = JSON.parse(val)\r\n let datasets = state.data.datasets\r\n // dataset keys\r\n let timestamp = Object.keys(stat)[0]\r\n let statKeys = Object.keys(stat[timestamp])\r\n let timeDate = new Date(moment(timestamp) + 0)\r\n statKeys.forEach((x) => {\r\n if (!datasets[x]) {\r\n datasets[x] = []\r\n datasets[x + '_c'] = []\r\n }\r\n let lastPair = datasets[x].length > 0 ? datasets[x][datasets[x].length - 1] : null\r\n datasets[x].push([timeDate, stat[timestamp][x]])\r\n if (lastPair != null) // calculation of change / second\r\n datasets[x + '_c'].push([timeDate, float((stat[timestamp][x] - lastPair[1]) / (moment(timestamp) - moment(lastPair[0])) * 1000, 4)])\r\n else\r\n datasets[x + '_c'].push([timeDate, 0])\r\n if (datasets[x].length > state.data.maxStorePoints) {\r\n datasets[x].shift()\r\n datasets[x + '_c'].shift()\r\n }\r\n })\r\n },\r\n pushStats(state, val) {\r\n state.data.stats.push(val);\r\n if (state.data.stats.length > state.data.maxStorePoints) {\r\n state.data.stats.splice(0, state.data.stats.length - state.data.maxStorePoints)\r\n }\r\n },\r\n spliceStats(state, val) {\r\n state.data.stats.splice(val[0], 0, val[1]);\r\n if (state.data.stats.length > state.data.maxStorePoints) {\r\n state.data.stats.splice(0, state.data.stats.length - state.data.maxStorePoints)\r\n }\r\n },\r\n resetStats(state) {\r\n state.data = {\r\n date: [],\r\n bytesSent: [],\r\n bytesSentChange: [],\r\n sizeDisk: [],\r\n sizeDiskChange: [],\r\n reqServ: [],\r\n reqServChange: [],\r\n hits: [],\r\n hitsChange: [],\r\n misses: [],\r\n missesChange: [],\r\n cached: [],\r\n cachedChange: [],\r\n stats: [],\r\n updateInterval: state.data.updateInterval,\r\n maxStorePoints: state.data.maxStorePoints,\r\n }\r\n localStorage.stats = '';\r\n },\r\n resetLayout(state) {\r\n state.layout.grid = defaultLayout.map((x,) => {\r\n return {x: x.x, y: x.y, w: x.w, h: x.h, i: 3 - x.i}\r\n });\r\n state.layout.charts = defaultCharts.map((x) => constructChart(x));\r\n localStorage.dashboardLayout = JSON.stringify(state.layout.grid)\r\n localStorage.dashboardCharts = JSON.stringify(state.layout.charts)\r\n },\r\n setLayout(store, val) {\r\n store.layout.grid = val;\r\n },\r\n setConsoleLayout(store, val) {\r\n store.console.grid = val;\r\n },\r\n setChart(store, val) {\r\n store.layout.charts = val;\r\n },\r\n addLayoutContainer(store, val) {\r\n let id = store.layout.grid.length\r\n let ids = []\r\n store.layout.grid.forEach((x) => ids.push(x.i))\r\n for (let i = 0; i < ids.length; i++)\r\n if (!ids.includes(i)) {\r\n id = i\r\n break\r\n }\r\n store.layout.grid.push({x: 0, y: 0, w: 8, h: 8, i: id})\r\n store.layout.charts.push(val)\r\n localStorage.dashboardCharts = JSON.stringify(store.layout.charts.map((x) => deconstructChart(x, x.type)))\r\n localStorage.dashboardLayout = JSON.stringify(state.layout.grid)\r\n },\r\n removeLayoutContainer(store, val) {\r\n store.layout.grid.splice(val, 1)\r\n store.layout.charts.splice(val, 1)\r\n localStorage.dashboardCharts = JSON.stringify(store.layout.charts.map((x) => deconstructChart(x, x.type)))\r\n localStorage.dashboardLayout = JSON.stringify(state.layout.grid)\r\n },\r\n setHasBg(state, val) {\r\n state.options.hasBgImage = val;\r\n localStorage.hasBackground = state.options.hasBgImage;\r\n },\r\n setBgUrl(state, val) {\r\n state.options.bgImage = val;\r\n localStorage.backgroundURL = state.options.bgImage;\r\n },\r\n setRefresh(state, val) {\r\n if (isNaN(val) || val === '')\r\n val = 0\r\n state.data.updateInterval = Math.max(parseInt(val), 500);\r\n localStorage.refreshRate = state.data.updateInterval;\r\n },\r\n setTempOptions(state, val) {\r\n state.layout.tempoptions = val;\r\n },\r\n setTempPieOptions(state, val) {\r\n state.layout.temppieoptions = val;\r\n },\r\n showAppBar(state, val) {\r\n state.options.showAppBar = val;\r\n localStorage.showAppBar = state.options.showAppBar;\r\n },\r\n setMaxStorePoints(state, val) {\r\n if (isNaN(val) || val === '')\r\n val = 0\r\n state.data.maxStorePoints = Math.max(parseInt(val), 181);\r\n localStorage.maxDataPoints = state.data.maxStorePoints;\r\n },\r\n setConsoleData(state, val) {\r\n state.console.data = val\r\n },\r\n pushConsoleLine(state, val) {\r\n state.console.data.push(val)\r\n if (state.console.data.length > state.console.maxLines)\r\n state.console.data.splice(0, state.console.data.length - state.console.maxLines)\r\n localStorage.consoleLines = JSON.stringify(state.console.data)\r\n },\r\n setMaxConsoleLines(state, val) {\r\n state.console.maxLines = val;\r\n },\r\n setOption(state, val) {\r\n state.options[val[0]] = val[1]\r\n }\r\n}\r\n\r\nexport default new Vuex.Store({\r\n state,\r\n mutations,\r\n getters,\r\n});","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{staticStyle:{\"background\":\"rgba(0,0,0,0)\"}},[(_vm.$vuetify.breakpoint.mdAndDown || _vm.$store.getters.showAppBar)?_c('v-app-bar',{style:({background: _vm.$store.getters.current.primary + _vm.$store.getters.alpha}),attrs:{\"app\":\"\",\"clipped-left\":!_vm.$vuetify.breakpoint.mdAndDown,\"hide-on-scroll\":_vm.$vuetify.breakpoint.mdAndDown,\"floating\":\"\"}},[_c('v-app-bar-nav-icon',{staticClass:\"hidden-lg-and-up\",style:({color: _vm.$store.getters.current.textColor}),on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}),_c('v-img',{staticClass:\"shrink mr-4\",attrs:{\"alt\":\"MD Logo\",\"contain\":\"\",\"src\":\"https://mangadex.org/images/misc/navbar.svg?3\",\"transition\":\"scale-transition\"}}),_c('h1',{staticClass:\"hidden-sm-and-down\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"MD@Home Client Interface\")]),_c('h2',{staticClass:\"hidden-md-and-up\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"MD@H Client\")]),_c('v-spacer')],1):_vm._e(),_c('v-navigation-drawer',{style:({background: _vm.$store.getters.current.primary + _vm.$store.getters.alpha}),attrs:{\"expand-on-hover\":!_vm.$vuetify.breakpoint.mdAndDown,\"mini-variant\":!_vm.$vuetify.breakpoint.mdAndDown,\"permanent\":!_vm.$vuetify.breakpoint.mdAndDown,\"app\":\"\",\"clipped\":_vm.$store.getters.showAppBar,\"floating\":\"\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-list',{staticClass:\"pt-2\",attrs:{\"dense\":\"\",\"nav\":\"\",\"dark\":_vm.$store.getters.current.isDark}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',{style:({color: _vm.$store.getters.current.textColor + '!important'})},[_vm._v(\"mdi-format-list-bulleted\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{style:({color: _vm.$store.getters.current.textColor + '!important'})},[_vm._v(\"Menu \")])],1)],1),_c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"1px\"},style:({backgroundColor: _vm.$store.getters.current.accent2})}),_vm._l((_vm.items),function(item){return _c('v-list-item',{key:item.title,staticClass:\"mt-1\",attrs:{\"to\":{path: item.route},\"link\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',{style:({color: _vm.$store.getters.current.textColor + '!important'})},[_vm._v(_vm._s(item.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',{style:({color: _vm.$store.getters.current.textColor + '!important'})},[_vm._v(_vm._s(item.title)+\" \")])],1)],1)})],2)],1),(_vm.$store.getters.hasBgImage)?_c('v-img',{style:({\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }),attrs:{\"src\":_vm.$store.getters.bgImg}}):_vm._e(),_c('v-main',[_c('v-fade-transition',[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('overlay-scrollbars',{staticStyle:{\"height\":\"100%\"},attrs:{\"options\":{className: _vm.$store.getters.current.isDark ? 'os-theme-light' :'os-theme-dark', paddingAbsolute: true, scrollbars: { autoHide: 'scroll' }}}},[_c('router-view')],1):_vm._e(),(_vm.$vuetify.breakpoint.mdAndDown)?_c('router-view'):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib';\n// import store from '../store/index'\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n theme: {\n dark: false,\n options: {\n customProperties: true\n },\n themes: {\n // dark: store.getters.current\n light: {\n backgroundColor: '#efeff0',\n textColor: '#202020',\n primary: '#fbfbfe',\n secondary: '#fafafa',\n active: '#e7e7e7',\n accent: '#717175ff',\n accent1: '#96969eB4',\n accent2: '#5e5e624D',\n green: '#00e000',\n red: '#e00000',\n yellow: '#e0e000',\n }\n }\n }\n});\n","<template>\n <v-app style=\"background: rgba(0,0,0,0);\">\n <v-app-bar\n app\n :style=\"{background: $store.getters.current.primary + $store.getters.alpha}\"\n :clipped-left=\"!$vuetify.breakpoint.mdAndDown\"\n :hide-on-scroll=\"$vuetify.breakpoint.mdAndDown\"\n floating\n v-if=\"$vuetify.breakpoint.mdAndDown || $store.getters.showAppBar\"\n >\n <v-app-bar-nav-icon\n class=\"hidden-lg-and-up\"\n :style=\"{color: $store.getters.current.textColor}\"\n @click.stop=\"drawer = !drawer\"\n />\n <v-img\n alt=\"MD Logo\"\n class=\"shrink mr-4\"\n contain\n src=\"https://mangadex.org/images/misc/navbar.svg?3\"\n transition=\"scale-transition\"\n\t\t\t\t\t\t\n />\n <h1 :style=\"{color: $store.getters.current.textColor}\" class=\"hidden-sm-and-down\">MD@Home Client\n Interface</h1>\n <h2 :style=\"{color: $store.getters.current.textColor}\" class=\"hidden-md-and-up\">MD@H Client</h2>\n <v-spacer></v-spacer>\n </v-app-bar>\n <v-navigation-drawer\n v-model=\"drawer\"\n :style=\"{background: $store.getters.current.primary + $store.getters.alpha}\"\n :expand-on-hover=\"!$vuetify.breakpoint.mdAndDown\"\n :mini-variant=\"!$vuetify.breakpoint.mdAndDown\"\n :permanent=\"!$vuetify.breakpoint.mdAndDown\"\n app\n :clipped=\"$store.getters.showAppBar\"\n floating\n >\n <v-list\n dense\n nav\n class=\"pt-2\"\n :dark=\"$store.getters.current.isDark\"\n >\n <v-list-item>\n <v-list-item-icon>\n <v-icon :style=\"{color: $store.getters.current.textColor + '!important'}\">mdi-format-list-bulleted</v-icon>\n </v-list-item-icon>\n <v-list-item-content>\n <v-list-item-title :style=\"{color: $store.getters.current.textColor + '!important'}\">Menu\n </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <div style=\"width: 100%; height: 1px;\" :style=\"{backgroundColor: $store.getters.current.accent2}\"/>\n <v-list-item\n v-for=\"item in items\"\n :key=\"item.title\"\n :to=\"{path: item.route}\"\n link\n class=\"mt-1\"\n >\n <v-list-item-icon>\n <v-icon :style=\"{color: $store.getters.current.textColor + '!important'}\">{{ item.icon }}</v-icon>\n </v-list-item-icon>\n <v-list-item-content>\n <v-list-item-title :style=\"{color: $store.getters.current.textColor + '!important'}\">{{ item.title }}\n </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n </v-list>\n </v-navigation-drawer>\n <v-img\n v-if=\"$store.getters.hasBgImage\"\n :src=\"$store.getters.bgImg\"\n :style=\"{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }\"\n />\n <v-main>\n <v-fade-transition>\n <overlay-scrollbars\n v-if=\"!$vuetify.breakpoint.mdAndDown\"\n :options=\"{className: $store.getters.current.isDark ? 'os-theme-light' :'os-theme-dark', paddingAbsolute: true, scrollbars: { autoHide: 'scroll' }}\"\n style=\"height: 100%\">\n <router-view/>\n </overlay-scrollbars>\n <router-view v-if=\"$vuetify.breakpoint.mdAndDown\"/>\n </v-fade-transition>\n </v-main>\n </v-app>\n\n</template>\n\n<script>\n import store from \"@/store\";\n import vuetify from '@/plugins/vuetify'\n import {getLightness} from \"@/constants\";\n\n export default {\n name: 'App',\n timers: {\n pullData: {time: store.getters.data.updateInterval, autostart: true, repeat: true}\n },\n data() {\n return {\n drawer: null,\n items: [\n {title: 'Dashboard', icon: 'mdi-view-dashboard', route: '/'},\n {title: 'Console', icon: 'mdi-console', route: '/cons'},\n {title: 'Settings', icon: 'mdi-cog-outline', route: '/opts'},\n {title: 'Client Info', icon: 'mdi-information-outline', route: '/info'},\n ],\n }\n },\n methods: {\n pullData() {\n // let list = [\n // 'Upstream query for TESTDATA errored with status TESTDATA',\n // 'Upstream query for TESTDATA succeeded',\n // 'Request for TESTDATA missed cache',\n // 'Request for TESTDATA hit cache',\n // 'Request for TESTDATA is being served',\n // 'Request for TESTDATA is being cached and served',\n // 'Cache download for TESTDATA committed',\n // 'Cache download for TESTDATA aborted',\n // 'Cache go/no go for TESTDATA failed'\n // ]\n // let levels = [\n // 'ERROR',\n // 'WARN ',\n // 'DEBUG',\n // 'INFO ',\n // 'TRACE'\n // ]\n // store.commit('pushConsoleLine',moment(moment.now()).format('YYYY-MM-DD hh:mm:ss') + ' ' + levels[Math.floor(Math.random() * levels.length)] + ' ' + list[Math.floor(Math.random() * list.length)])\n this.updateData();\n },\n updateNav(){\n let temp = [{title: 'Dashboard', icon: 'mdi-view-dashboard', route: '/'}]\n if (store.getters.options.exp_showConsole)\n temp.push({title: 'Console', icon: 'mdi-console', route: '/cons'})\n temp.push({title: 'Settings', icon: 'mdi-cog-outline', route: '/opts'})\n if (store.getters.options.exp_showAbout)\n temp.push({title: 'Client Info', icon: 'mdi-information-outline', route: '/info'})\n this.items = temp\n }\n },\n mounted() {\n document.body.style.backgroundColor = store.getters.current.backgroundColor;\n vuetify.framework.theme.dark = getLightness(store.getters.current.secondary) < 50\n this.timers.pullData.time = store.getters.data.updateInterval\n this.$timer.restart('pullData')\n this.updateNav()\n },\n computed: {\n refresh() {\n return store.getters.data.updateInterval;\n },\n console(){\n return store.getters.options.exp_showConsole\n },\n about(){\n return store.getters.options.exp_showAbout;\n }\n },\n watch: {\n refresh() {\n this.timers.pullData.time = store.getters.data.updateInterval\n this.$timer.restart('pullData')\n },\n console(){\n this.updateNav()\n },\n about(){\n this.updateNav()\n }\n }\n }\n</script>\n<style>\n</style>","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=ab4bb226&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.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 { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VFadeTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VApp,VAppBar,VAppBarNavIcon,VFadeTransition,VIcon,VImg,VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VMain,VNavigationDrawer,VSpacer})\n","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{style:({color: _vm.$store.getters.current.textColor}),attrs:{\"fluid\":\"\"}},[_c('v-container',{staticClass:\"pt-0 pb-0\",style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',[_c('h1',{staticClass:\"pl-1\"},[_vm._v(\"Dashboard\")])]),_c('v-col',[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-right\":\"28px\",\"margin-top\":\"5px\"},style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent,\"tile\":\"\"},on:{\"click\":_vm.showModal}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Add Graph \")],1):_vm._e(),(_vm.$vuetify.breakpoint.mdAndDown)?_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-right\":\"28px\",\"margin-top\":\"5px\"},style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent,\"tile\":\"\"},on:{\"click\":_vm.showModal}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1):_vm._e()],1)],1)],1),(!_vm.$vuetify.breakpoint.smAndDown)?_c('div',{ref:\"grid\",staticStyle:{\"position\":\"relative\",\"width\":\"calc(100% + 24px)\",\"left\":\"-12px\"}}):_vm._e(),(_vm.$vuetify.breakpoint.smAndDown)?_c('v-row',_vm._l((_vm.$store.getters.layout.charts),function(item,index){return _c('v-col',{key:index,staticClass:\"pb-0\",attrs:{\"cols\":\"12\"}},[_c('v-container',{class:_vm.$store.getters.options.lockGrid ? 'pa-0' : 'pa-4',staticStyle:{\"height\":\"300px\",\"width\":\"100%\",\"position\":\"relative\"},style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"fluid\":\"\"}},[_c('chart',{staticStyle:{\"height\":\"100%\",\"width\":\"100%\"},attrs:{\"autoresize\":\"\",\"options\":item}}),(!_vm.$store.getters.options.lockGrid)?_c('v-icon',{style:({position: 'absolute', color: _vm.$store.getters.current.textColor + '!important', top: '2px', right: '2px'}),attrs:{\"dense\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.$store.commit('removeLayoutContainer', index)}}},[_vm._v(\"mdi-close \")]):_vm._e()],1)],1)}),1):_vm._e(),_c('div',[_c('modal',{attrs:{\"name\":\"createGraph\",\"styles\":{backgroundColor: _vm.$store.getters.current.secondary, minHeight: '75%'},\"width\":_vm.$vuetify.breakpoint.smAndDown ? '100%' : '90%',\"height\":\"auto\",\"scrollable\":true}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('h3',[_vm._v(\"Create Graph\")]),_c('v-btn',{staticStyle:{\"right\":\"12px\",\"top\":\"12px\"},attrs:{\"absolute\":\"\",\"small\":\"\",\"icon\":\"\",\"color\":_vm.$store.getters.current.textColor},on:{\"click\":function($event){return _vm.$modal.hide('createGraph')}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1),_c('div',{staticClass:\"mt-2 mb-2\",staticStyle:{\"width\":\"100%\",\"height\":\"1px\"},style:({backgroundColor: _vm.$store.getters.current.accent2})}),_c('v-row',{class:_vm.$vuetify.breakpoint.mdAndDown ? 'mb-12' : ''},[_c('v-col',{staticStyle:{\"position\":\"relative\"},attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 4}},[(_vm.$vuetify.breakpoint.mdAndDown)?_c('chart',{key:_vm.prevreload,staticStyle:{\"width\":\"100%\"},attrs:{\"autoresize\":\"\",\"options\":_vm.$store.getters.layout.tempoptions}}):_vm._e(),_c('v-row',{staticClass:\"mr-3\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"3\"}},[_c('v-subheader',{staticClass:\"pl-2\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Title \")])],1),_c('v-col',{staticClass:\"pa-0 pl-1\",attrs:{\"cols\":\"9\"}},[(_vm.graph)?_c('v-text-field',{staticClass:\"pt-1\",attrs:{\"dense\":\"\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},model:{value:(_vm.$store.getters.layout.tempoptions.title.text),callback:function ($$v) {_vm.$set(_vm.$store.getters.layout.tempoptions.title, \"text\", $$v)},expression:\"$store.getters.layout.tempoptions.title.text\"}}):_vm._e(),(!_vm.graph)?_c('v-text-field',{staticClass:\"pt-1\",attrs:{\"dense\":\"\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},model:{value:(_vm.$store.getters.layout.temppieoptions.title.text),callback:function ($$v) {_vm.$set(_vm.$store.getters.layout.temppieoptions.title, \"text\", $$v)},expression:\"$store.getters.layout.temppieoptions.title.text\"}}):_vm._e()],1)],1),_c('v-row',{staticClass:\"mr-3\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"3\"}},[_c('v-subheader',{staticClass:\"pl-2\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Legend \")])],1),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"9\"}},[(_vm.graph)?_c('v-checkbox',{staticClass:\"mt-2\",attrs:{\"color\":_vm.$store.getters.current.accent2,\"value\":true,\"dense\":\"\"},model:{value:(_vm.$store.getters.layout.tempoptions.legend.show),callback:function ($$v) {_vm.$set(_vm.$store.getters.layout.tempoptions.legend, \"show\", $$v)},expression:\"$store.getters.layout.tempoptions.legend.show\"}}):_vm._e(),(!_vm.graph)?_c('v-checkbox',{staticClass:\"mt-2\",attrs:{\"color\":_vm.$store.getters.current.accent2,\"value\":true,\"dense\":\"\"},model:{value:(_vm.$store.getters.layout.temppieoptions.legend.show),callback:function ($$v) {_vm.$set(_vm.$store.getters.layout.temppieoptions.legend, \"show\", $$v)},expression:\"$store.getters.layout.temppieoptions.legend.show\"}}):_vm._e()],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"3\"}},[_c('v-subheader',{staticClass:\"pl-2\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Type \")])],1),_c('v-col',{staticClass:\"pl-0\",attrs:{\"cols\":\"9\"}},[_c('v-btn-toggle',{staticClass:\"mt-2\",attrs:{\"dense\":\"\",\"mandatory\":\"\",\"tile\":\"\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50}},[_c('v-btn',{style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent,\"small\":\"\"},model:{value:(_vm.graph),callback:function ($$v) {_vm.graph=$$v},expression:\"graph\"}},[_vm._v(\" Graph \")]),_c('v-btn',{style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent,\"small\":\"\"}},[_vm._v(\" Pie \")])],1)],1)],1),_c('v-fade-transition',{attrs:{\"leave-absolute\":\"\",\"hide-on-leave\":\"\"}},[(_vm.graph)?_c('div',[_c('v-btn',{staticClass:\"mt-2\",staticStyle:{\"width\":\"100%\",\"height\":\"14px\",\"padding-top\":\"2px\",\"padding-bottom\":\"2px\"},style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent,\"elevation\":\"0\",\"tile\":\"\",\"small\":\"\"},on:{\"click\":function () { return this$1.showyaxis = !this$1.showyaxis; }}},[(_vm.showyaxis)?_c('v-icon',[_vm._v(\"mdi-chevron-up\")]):_vm._e(),(!_vm.showyaxis)?_c('v-icon',[_vm._v(\"mdi-chevron-down\")]):_vm._e(),_vm._v(\" Y-axis \")],1),_c('v-expand-transition',[(_vm.showyaxis)?_c('div',_vm._l((_vm.$store.getters.layout.tempoptions.yAxis),function(line,index){return _c('div',{key:index,class:_vm.$vuetify.breakpoint.mdAndDown ? 'mt-3' : 'mt-1'},[(index > 0)?_c('div',{staticClass:\"mt-2 mb-2\",staticStyle:{\"width\":\"100%\",\"height\":\"1px\"},style:({backgroundColor: _vm.$store.getters.current.accent2})}):_vm._e(),_c('v-row',{staticClass:\"mr-3\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"2\"}},[_c('v-btn',{staticClass:\"mt-2\",style:({color: _vm.$store.getters.current.textColor}),attrs:{\"small\":\"\",\"icon\":\"\",\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.addAxis(index)}}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1),(_vm.$store.getters.layout.tempoptions.yAxis.length > 1)?_c('v-btn',{staticClass:\"mt-2\",style:({color: _vm.$store.getters.current.textColor}),attrs:{\"small\":\"\",\"icon\":\"\",\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.removeAxis(index)}}},[_c('v-icon',[_vm._v(\"mdi-minus\")])],1):_vm._e()],1),_c('v-col',{staticClass:\"pa-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Name \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-text-field',{staticStyle:{\"padding-top\":\"6px\"},attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Name' : '',\"dense\":\"\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},model:{value:(line.name),callback:function ($$v) {_vm.$set(line, \"name\", $$v)},expression:\"line.name\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Units \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-select',{staticStyle:{\"padding-top\":\"6px\"},attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Units' : '',\"dense\":\"\",\"items\":_vm.units,\"value\":line.axisLabel ? line.axisLabel.unit : 0,\"item-text\":\"name\",\"item-value\":\"idx\",\"item-color\":\"active\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function (x) { return _vm.setYAxisUnits(x, index); }}})],1)],1)],1)],1)],1)}),0):_vm._e()]),_c('v-btn',{staticClass:\"mt-2\",staticStyle:{\"width\":\"100%\",\"height\":\"14px\",\"padding-top\":\"2px\",\"padding-bottom\":\"2px\"},style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent,\"elevation\":\"0\",\"tile\":\"\",\"small\":\"\"},on:{\"click\":function () { return this$1.showdatasets = !this$1.showdatasets; }}},[(_vm.showdatasets)?_c('v-icon',[_vm._v(\"mdi-chevron-up\")]):_vm._e(),(!_vm.showdatasets)?_c('v-icon',[_vm._v(\"mdi-chevron-down\")]):_vm._e(),_vm._v(\" Datasets \")],1),_c('v-expand-transition',[(_vm.showdatasets)?_c('div',_vm._l((_vm.$store.getters.layout.tempoptions.series),function(line,index){return _c('div',{key:index,class:_vm.$vuetify.breakpoint.mdAndDown ? 'mt-3' : 'mt-1'},[(index > 0)?_c('div',{staticClass:\"mt-2 mb-2\",staticStyle:{\"width\":\"100%\",\"height\":\"1px\"},style:({backgroundColor: _vm.$store.getters.current.accent2})}):_vm._e(),_c('v-row',{staticClass:\"mr-3\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"2\"}},[_c('v-btn',{style:({color: _vm.$store.getters.current.textColor, marginTop: '10px'}),attrs:{\"small\":\"\",\"icon\":\"\",\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.addSet(index)}}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1),(_vm.$store.getters.layout.tempoptions.series.length > 1)?_c('v-btn',{style:({color: _vm.$store.getters.current.textColor, marginTop: '10px'}),attrs:{\"small\":\"\",\"icon\":\"\",\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.removeSet(index)}}},[_c('v-icon',[_vm._v(\"mdi-minus\")])],1):_vm._e()],1),_c('v-col',{staticClass:\"pa-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Name \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-text-field',{staticStyle:{\"padding-top\":\"6px\"},attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Name' : '',\"dense\":\"\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"input\":function (a) { return _vm.$store.getters.layout.tempoptions.legend.data[index] = a; }},model:{value:(line.name),callback:function ($$v) {_vm.$set(line, \"name\", $$v)},expression:\"line.name\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Type \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-select',{staticStyle:{\"padding-top\":\"6px\"},attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Type' : '',\"dense\":\"\",\"items\":_vm.graphTypes,\"item-value\":\"val\",\"item-text\":\"name\",\"item-color\":\"active\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},model:{value:(line.type),callback:function ($$v) {_vm.$set(line, \"type\", $$v)},expression:\"line.type\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Dataset \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-select',{staticStyle:{\"padding-top\":\"6px\"},attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Dataset' : '',\"dense\":\"\",\"items\":_vm.datasets,\"item-value\":\"data\",\"item-text\":\"name\",\"item-color\":\"active\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function (a) { return _vm.datasets.forEach(function (b) {if(a === b.data) { line.dataId = b.name }}); }},model:{value:(line.data),callback:function ($$v) {_vm.$set(line, \"data\", $$v)},expression:\"line.data\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Y-Axis \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-select',{staticStyle:{\"padding-top\":\"6px\"},attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Y-Axis' : '',\"dense\":\"\",\"items\":_vm.$store.getters.layout.tempoptions.yAxis.map(function (x, i) { return ({idx: i, data: x}); }),\"value\":line.yAxisIndex ? line.yAxisIndex : 0,\"item-text\":\"data.name\",\"item-value\":\"idx\",\"item-color\":\"active\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function (x) { return _vm.setYAxis(x, index); }}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Color \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('div',{staticStyle:{\"position\":\"relative\",\"width\":\"100%\",\"height\":\"30px\",\"border\":\"2px solid\",\"margin-top\":\"9px\"},style:({backgroundColor: line.itemStyle.color, borderColor: _vm.$store.getters.current.textColor})},[_c('v-scroll-x-transition',[(hover)?_c('v-color-picker',{staticStyle:{\"position\":\"absolute\",\"z-index\":\"99999\",\"top\":\"-260px\",\"left\":\"calc(100% + 2px)\"},style:({backgroundColor: _vm.$store.getters.current.secondary}),attrs:{\"elevation\":\"3\",\"hide-mode-switch\":\"\"},model:{value:(line.itemStyle.color),callback:function ($$v) {_vm.$set(line.itemStyle, \"color\", $$v)},expression:\"line.itemStyle.color\"}}):_vm._e()],1)],1)]}}],null,true)})],1)],1)],1)],1)],1)}),0):_vm._e()])],1):_vm._e()]),_c('v-fade-transition',{attrs:{\"leave-absolute\":\"\",\"hide-on-leave\":\"\"}},[(!_vm.graph)?_c('div',_vm._l((_vm.$store.getters.layout.temppieoptions.series[0].data),function(line,index){return _c('div',{key:index},[(index > 0)?_c('div',{staticClass:\"mt-2 mb-2\",staticStyle:{\"width\":\"100%\",\"height\":\"1px\"},style:({backgroundColor: _vm.$store.getters.current.accent2})}):_vm._e(),_c('v-row',{staticClass:\"mr-3\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"2\"}},[_c('v-btn',{style:({color: _vm.$store.getters.current.textColor, marginTop: '10px'}),attrs:{\"small\":\"\",\"icon\":\"\",\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.addPieSet(index)}}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1),(_vm.$store.getters.layout.temppieoptions.series[0].data.length > 1)?_c('v-btn',{style:({color: _vm.$store.getters.current.textColor, marginTop: '10px'}),attrs:{\"small\":\"\",\"icon\":\"\",\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.removePieSet(index)}}},[_c('v-icon',[_vm._v(\"mdi-minus\")])],1):_vm._e()],1),_c('v-col',{staticClass:\"pa-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Name \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-text-field',{staticStyle:{\"padding-top\":\"6px\"},attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Name' : '',\"dense\":\"\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"input\":function (a) { return _vm.$store.getters.layout.temppieoptions.legend.data[index] = a; }},model:{value:(line.name),callback:function ($$v) {_vm.$set(line, \"name\", $$v)},expression:\"line.name\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Dataset \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-select',{staticStyle:{\"padding-top\":\"6px\"},attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Dataset' : '',\"dense\":\"\",\"items\":Object.keys(_vm.$store.getters.data.datasets).map(function (x) {return {name: _vm.translate(x), data: _vm.$store.getters.data.datasets[x]}}),\"item-value\":function (data) { return data.data[data.data.length-1][1]; },\"item-text\":\"name\",\"item-color\":\"active\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function (a) { return Object.keys(_vm.$store.getters.data.datasets).forEach(function (b) {if(a === _vm.$store.getters.data.datasets[b][_vm.$store.getters.data.datasets[b].length-1][1]) { line.dataId = _vm.translate(b) }}); }},model:{value:(line.value),callback:function ($$v) {_vm.$set(line, \"value\", $$v)},expression:\"line.value\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pl-1\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Color \")])],1):_vm._e(),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12: 8}},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('div',{staticStyle:{\"position\":\"relative\",\"width\":\"100%\",\"height\":\"30px\",\"border\":\"2px solid\",\"margin-top\":\"9px\"},style:({backgroundColor: line.itemStyle.color, borderColor: _vm.$store.getters.current.textColor})},[_c('v-scroll-x-transition',[(hover)?_c('v-color-picker',{staticStyle:{\"position\":\"absolute\",\"z-index\":\"99999\",\"top\":\"-260px\",\"left\":\"calc(100% + 2px)\"},style:({backgroundColor: _vm.$store.getters.current.secondary}),attrs:{\"elevation\":\"3\",\"hide-mode-switch\":\"\"},model:{value:(line.itemStyle.color),callback:function ($$v) {_vm.$set(line.itemStyle, \"color\", $$v)},expression:\"line.itemStyle.color\"}}):_vm._e()],1)],1)]}}],null,true)})],1)],1)],1)],1)],1)}),0):_vm._e()])],1),(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('chart',{key:_vm.prevreload,staticStyle:{\"width\":\"100%\",\"left\":\"0\"},attrs:{\"autoresize\":\"\",\"options\":_vm.graph ? _vm.$store.getters.layout.tempoptions: _vm.$store.getters.layout.temppieoptions}})],1):_vm._e()],1),_c('v-btn',{style:({color: _vm.$store.getters.current.textColor, right: '12px', bottom: '12px'}),attrs:{\"absolute\":\"\",\"tile\":\"\",\"color\":_vm.$store.getters.current.accent},on:{\"click\":function () {_vm.$store.commit('addLayoutContainer', _vm.construct(_vm.exportgraph(_vm.graph ? _vm.$store.getters.layout.tempoptions : _vm.$store.getters.layout.temppieoptions , _vm.graph ? 'graph': 'pie'))); _vm.$modal.hide('createGraph')}}},[_vm._v(\" Add Graph \")])],1)],1)],1)],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('grid-layout',{staticStyle:{\"width\":\"100%\"},attrs:{\"layout\":_vm.store.getters.layout.grid,\"col-num\":24,\"row-height\":30,\"margin\":[12,12],\"is-draggable\":!_vm.store.getters.options.lockGrid,\"is-resizable\":!_vm.store.getters.options.lockGrid,\"vertical-compact\":true},on:{\"update:layout\":function($event){return _vm.$set(_vm.store.getters.layout, \"grid\", $event)},\"layout-updated\":_vm.saveGridChanges}},_vm._l((_vm.store.getters.layout.grid),function(item,index){return _c('grid-item',{key:item.i,style:({backgroundColor: _vm.store.getters.current.secondary + _vm.store.getters.alpha}),attrs:{\"x\":item.x,\"y\":item.y,\"w\":item.w,\"h\":item.h,\"i\":item.i,\"drag-allow-from\":\".vue-draggable-handle\",\"drag-ignore-from\":\".no-drag\"}},[_c('v-container',{class:_vm.store.getters.options.lockGrid ? 'pa-0' : 'pa-4',staticStyle:{\"width\":\"100%\",\"height\":\"100%\"},attrs:{\"fluid\":\"\"}},[_c('chart',{staticClass:\"no-drag\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\"},attrs:{\"group\":_vm.store.getters.layout.charts[_vm.getIndex(item.i)].type === 'pie' ? '' : 'testing',\"autoresize\":\"\",\"options\":_vm.store.getters.layout.charts[_vm.getIndex(item.i)]}})],1),(!_vm.store.getters.options.lockGrid)?_c('v-fade-transition',[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-icon',{staticClass:\"vue-draggable-handle\",style:({position: 'absolute', color: hover ? _vm.store.getters.current.textColor : _vm.store.getters.current.accent2 + '!important', left: 'calc(50% - 5px)', width: '10px', top: '1px'}),attrs:{\"dense\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-drag-horizontal-variant \")])]}}],null,true)})],1):_vm._e(),(!_vm.store.getters.options.lockGrid)?_c('v-fade-transition',[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-icon',{style:({position: 'absolute', color: hover ? _vm.store.getters.current.textColor : _vm.store.getters.current.accent2 + '!important', top: '2px', right: '2px'}),attrs:{\"dense\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.store.commit('removeLayoutContainer', index)}}},[_vm._v(\"mdi-close \")])]}}],null,true)})],1):_vm._e(),(!_vm.store.getters.options.lockGrid)?_c('v-fade-transition',[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-icon',{staticClass:\"vue-resizable-handle pa-0\",style:({position: 'absolute', color: hover ? _vm.store.getters.current.textColor : _vm.store.getters.current.accent2 + '!important', bottom: '2px', right: '2px', zIndex: 1}),attrs:{\"dense\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-resize-bottom-right \")])]}}],null,true)})],1):_vm._e()],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <grid-layout\r\n style=\"width: 100%;\"\r\n :layout.sync=\"store.getters.layout.grid\"\r\n :col-num=\"24\"\r\n :row-height=\"30\"\r\n :margin=\"[12,12]\"\r\n :is-draggable=\"!store.getters.options.lockGrid\"\r\n :is-resizable=\"!store.getters.options.lockGrid\"\r\n :vertical-compact=\"true\"\r\n @layout-updated=\"saveGridChanges\"\r\n >\r\n <grid-item v-for=\"(item, index) in store.getters.layout.grid\"\r\n :x=\"item.x\"\r\n :y=\"item.y\"\r\n :w=\"item.w\"\r\n :h=\"item.h\"\r\n :i=\"item.i\"\r\n :key=\"item.i\"\r\n :style=\"{backgroundColor: store.getters.current.secondary + store.getters.alpha}\"\r\n drag-allow-from=\".vue-draggable-handle\"\r\n drag-ignore-from=\".no-drag\"\r\n >\r\n <v-container fluid style=\"width: 100%; height: 100%\" :class=\"store.getters.options.lockGrid ? 'pa-0' : 'pa-4'\">\r\n <chart\r\n :group=\"store.getters.layout.charts[getIndex(item.i)].type === 'pie' ? '' : 'testing'\"\r\n class=\"no-drag\"\r\n style=\"height: 100%;width: 100%;\"\r\n autoresize\r\n :options=\"store.getters.layout.charts[getIndex(item.i)]\"\r\n />\r\n </v-container>\r\n <v-fade-transition v-if=\"!store.getters.options.lockGrid\">\r\n <v-hover v-slot:default=\"{ hover }\">\r\n <v-icon\r\n :style=\"{position: 'absolute', color: hover ? store.getters.current.textColor : store.getters.current.accent2 + '!important', left: 'calc(50% - 5px)', width: '10px', top: '1px'}\"\r\n dense small\r\n class=\"vue-draggable-handle\">mdi-drag-horizontal-variant\r\n </v-icon>\r\n </v-hover>\r\n </v-fade-transition>\r\n <v-fade-transition v-if=\"!store.getters.options.lockGrid\">\r\n <v-hover v-slot:default=\"{ hover }\">\r\n <v-icon\r\n :style=\"{position: 'absolute', color: hover ? store.getters.current.textColor : store.getters.current.accent2 + '!important', top: '2px', right: '2px'}\"\r\n dense small\r\n @click=\"store.commit('removeLayoutContainer', index)\"\r\n >mdi-close\r\n </v-icon>\r\n </v-hover>\r\n </v-fade-transition>\r\n <v-fade-transition v-if=\"!store.getters.options.lockGrid\">\r\n <v-hover v-slot:default=\"{ hover }\">\r\n <v-icon\r\n :style=\"{position: 'absolute', color: hover ? store.getters.current.textColor : store.getters.current.accent2 + '!important', bottom: '2px', right: '2px', zIndex: 1}\"\r\n dense small\r\n class=\"vue-resizable-handle pa-0\"\r\n >mdi-resize-bottom-right\r\n </v-icon>\r\n </v-hover>\r\n </v-fade-transition>\r\n </grid-item>\r\n </grid-layout>\r\n</template>\r\n\r\n<script>\r\n import store from \"@/store\";\r\n import vuetify from \"@/plugins/vuetify\";\r\n import {translate} from \"@/constants\";\r\n\r\n export default {\r\n name: \"dashGrid\",\r\n components: {\r\n chart: () => import('../components/asyncChart'),\r\n },\r\n data() {\r\n return {\r\n store: store,\r\n vuetify: vuetify\r\n }\r\n },\r\n methods: {\r\n saveGridChanges() {\r\n localStorage.dashboardLayout = JSON.stringify(store.getters.layout.grid)\r\n },\r\n getIndex: (id) => {\r\n let indx = 0;\r\n store.getters.layout.grid.forEach((x, idx) => {\r\n if (id === x.i) indx = idx\r\n })\r\n return indx\r\n }\r\n },\r\n mounted() {\r\n },\r\n computed: {\r\n update() {\r\n return store.getters.data.stats;\r\n }\r\n },\r\n watch: {\r\n update() {\r\n store.getters.layout.charts.forEach((x) => {\r\n if (x.type === 'pie') {\r\n x.series[0].data.forEach((x) => {\r\n if (x.dataId)\r\n x.value = store.getters.getLastValueOfDataset(translate(x.dataId, true))\r\n })\r\n }\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .vue-resizable-handle {\r\n background-image: none !important;\r\n }\r\n</style>","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!./dashGrid.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!./dashGrid.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dashGrid.vue?vue&type=template&id=13028836&\"\nimport script from \"./dashGrid.vue?vue&type=script&lang=js&\"\nexport * from \"./dashGrid.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dashGrid.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 { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFadeTransition } from 'vuetify/lib/components/transitions';\nimport { VHover } from 'vuetify/lib/components/VHover';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VContainer,VFadeTransition,VHover,VIcon})\n","<template>\n <v-container fluid :style=\"{color: $store.getters.current.textColor}\">\n <v-container fluid :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\"\n class=\"pt-0 pb-0\">\n <v-row>\n <v-col>\n <h1 class=\"pl-1\">Dashboard</h1>\n </v-col>\n <v-col>\n <v-btn\n v-if=\"!$vuetify.breakpoint.mdAndDown\"\n :style=\"{color: $store.getters.current.textColor}\"\n style=\"position: absolute; right: 0;margin-right: 28px; margin-top: 5px\"\n :color=\"$store.getters.current.accent\"\n tile\n @click=\"showModal\"\n >\n <v-icon left>mdi-plus</v-icon>\n Add Graph\n </v-btn>\n <v-btn\n v-if=\"$vuetify.breakpoint.mdAndDown\"\n :style=\"{color: $store.getters.current.textColor}\"\n style=\"position: absolute; right: 0;margin-right: 28px; margin-top: 5px\"\n :color=\"$store.getters.current.accent\"\n tile\n @click=\"showModal\"\n >\n <v-icon>mdi-plus</v-icon>\n </v-btn>\n </v-col>\n </v-row>\n </v-container>\n <div ref=\"grid\" style=\"position:relative; width: calc(100% + 24px); left: -12px\"\n v-if=\"!$vuetify.breakpoint.smAndDown\"></div>\n <v-row v-if=\"$vuetify.breakpoint.smAndDown\">\n <v-col cols=\"12\" v-for=\"(item, index) in $store.getters.layout.charts\" class=\"pb-0\" :key=\"index\">\n <v-container fluid style=\"height: 300px;width: 100%; position: relative\" :class=\"$store.getters.options.lockGrid ? 'pa-0' : 'pa-4'\"\n :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\">\n <chart style=\"height: 100%;width: 100%\" autoresize\n :options=\"item\"/>\n <v-icon v-if=\"!$store.getters.options.lockGrid\" :style=\"{position: 'absolute', color: $store.getters.current.textColor + '!important', top: '2px', right: '2px'}\"\n dense small\n @click=\"$store.commit('removeLayoutContainer', index)\"\n >mdi-close\n </v-icon>\n </v-container>\n </v-col>\n </v-row>\n <div>\n <modal name=\"createGraph\"\n :styles=\"{backgroundColor: $store.getters.current.secondary, minHeight: '75%'}\"\n :width=\"$vuetify.breakpoint.smAndDown ? '100%' : '90%'\"\n height=\"auto\"\n :scrollable=\"true\"\n >\n <v-container fluid>\n <h3>Create Graph</h3>\n <v-btn absolute style=\"right: 12px; top: 12px\" small icon @click=\"$modal.hide('createGraph')\"\n :color=\"$store.getters.current.textColor\">\n <v-icon>mdi-close</v-icon>\n </v-btn>\n <div style=\"width: 100%; height: 1px;\" :style=\"{backgroundColor: $store.getters.current.accent2}\"\n class=\"mt-2 mb-2\"/>\n <v-row :class=\"$vuetify.breakpoint.mdAndDown ? 'mb-12' : ''\">\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 4\" style=\"position: relative\">\n <chart v-if=\"$vuetify.breakpoint.mdAndDown\"\n :key=\"prevreload\"\n autoresize\n style=\"width: 100%\"\n :options=\"$store.getters.layout.tempoptions\"\n />\n <v-row dense class=\"mr-3\">\n <v-col cols=\"3\" class=\"pa-0\">\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pl-2\">\n Title\n </v-subheader>\n </v-col>\n <v-col cols=\"9\" class=\"pa-0 pl-1\">\n <v-text-field\n v-if=\"graph\"\n class=\"pt-1\"\n dense\n v-model=\"$store.getters.layout.tempoptions.title.text\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n />\n <v-text-field\n v-if=\"!graph\"\n class=\"pt-1\"\n dense\n v-model=\"$store.getters.layout.temppieoptions.title.text\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n />\n </v-col>\n </v-row>\n <v-row dense class=\"mr-3\">\n <v-col cols=\"3\" class=\"pa-0\">\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pl-2\">\n Legend\n </v-subheader>\n </v-col>\n <v-col cols=\"9\" class=\"pa-0\">\n <v-checkbox\n v-if=\"graph\"\n class=\"mt-2\"\n :color=\"$store.getters.current.accent2\"\n v-model=\"$store.getters.layout.tempoptions.legend.show\"\n :value=\"true\"\n dense\n />\n <v-checkbox\n v-if=\"!graph\"\n class=\"mt-2\"\n :color=\"$store.getters.current.accent2\"\n v-model=\"$store.getters.layout.temppieoptions.legend.show\"\n :value=\"true\"\n dense\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"3\" class=\"pa-0\">\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pl-2\">\n Type\n </v-subheader>\n </v-col>\n <v-col cols=\"9\" class=\"pl-0\">\n <v-btn-toggle\n class=\"mt-2\"\n dense\n mandatory\n tile\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n >\n <v-btn\n v-model=\"graph\"\n :style=\"{color: $store.getters.current.textColor}\"\n :color=\"$store.getters.current.accent\"\n small>\n Graph\n </v-btn>\n <v-btn :style=\"{color: $store.getters.current.textColor}\"\n :color=\"$store.getters.current.accent\"\n small>\n Pie\n </v-btn>\n </v-btn-toggle>\n </v-col>\n </v-row>\n <v-fade-transition leave-absolute hide-on-leave>\n <div v-if=\"graph\">\n <v-btn\n style=\"width: 100%; height: 14px; padding-top: 2px; padding-bottom: 2px\"\n :style=\"{color: $store.getters.current.textColor}\"\n :color=\"$store.getters.current.accent\"\n elevation=\"0\"\n class=\"mt-2\"\n tile\n small\n @click=\"() => this.showyaxis = !this.showyaxis\"\n >\n <v-icon v-if=\"showyaxis\">mdi-chevron-up</v-icon>\n <v-icon v-if=\"!showyaxis\">mdi-chevron-down</v-icon>\n Y-axis\n </v-btn>\n <v-expand-transition>\n <div v-if=\"showyaxis\">\n <div v-for=\"(line, index) in $store.getters.layout.tempoptions.yAxis\"\n :key=\"index\" :class=\"$vuetify.breakpoint.mdAndDown ? 'mt-3' : 'mt-1'\">\n <div v-if=\"index > 0\" style=\"width: 100%; height: 1px;\"\n :style=\"{backgroundColor: $store.getters.current.accent2}\"\n class=\"mt-2 mb-2\"/>\n <v-row dense class=\"mr-3\">\n <v-col cols=\"2\" class=\"pa-0\">\n <v-btn\n class=\"mt-2\"\n small\n icon\n :style=\"{color: $store.getters.current.textColor}\"\n :color=\"$store.getters.current.accent\"\n @click=\"addAxis(index)\"\n >\n <v-icon>mdi-plus</v-icon>\n </v-btn>\n <v-btn\n class=\"mt-2\"\n small\n icon\n v-if=\"$store.getters.layout.tempoptions.yAxis.length > 1\"\n :style=\"{color: $store.getters.current.textColor}\"\n :color=\"$store.getters.current.accent\"\n @click=\"removeAxis(index)\"\n >\n <v-icon>mdi-minus</v-icon>\n </v-btn>\n </v-col>\n <v-col class=\"pa-0\">\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\"\n class=\"pa-0\">\n <v-subheader\n :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Name\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\"\n class=\"pa-0\">\n <v-text-field\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Name' : ''\"\n style=\"padding-top: 6px\"\n dense\n v-model=\"line.name\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\"\n class=\"pa-0\">\n <v-subheader\n :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Units\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\"\n class=\"pa-0\">\n <v-select\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Units' : ''\"\n style=\"padding-top: 6px\"\n dense\n :items=\"units\"\n :value=\"line.axisLabel ? line.axisLabel.unit : 0\"\n item-text=\"name\"\n item-value=\"idx\"\n item-color=\"active\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n @change=\"(x) => setYAxisUnits(x, index)\"\n />\n </v-col>\n </v-row>\n </v-col>\n </v-row>\n </div>\n </div>\n </v-expand-transition>\n <v-btn\n style=\"width: 100%; height: 14px; padding-top: 2px; padding-bottom: 2px\"\n :style=\"{color: $store.getters.current.textColor}\"\n :color=\"$store.getters.current.accent\"\n elevation=\"0\"\n class=\"mt-2\"\n tile\n small\n @click=\"() => this.showdatasets = !this.showdatasets\"\n >\n <v-icon v-if=\"showdatasets\">mdi-chevron-up</v-icon>\n <v-icon v-if=\"!showdatasets\">mdi-chevron-down</v-icon>\n Datasets\n </v-btn>\n <v-expand-transition>\n <div v-if=\"showdatasets\">\n <div v-for=\"(line, index) in $store.getters.layout.tempoptions.series\"\n :key=\"index\" :class=\"$vuetify.breakpoint.mdAndDown ? 'mt-3' : 'mt-1'\">\n <div v-if=\"index > 0\" style=\"width: 100%; height: 1px;\"\n :style=\"{backgroundColor: $store.getters.current.accent2}\"\n class=\"mt-2 mb-2\"/>\n <v-row dense class=\"mr-3\">\n <v-col cols=\"2\" class=\"pa-0\">\n <v-btn\n small\n icon\n :style=\"{color: $store.getters.current.textColor, marginTop: '10px'}\"\n :color=\"$store.getters.current.accent\"\n @click=\"addSet(index)\"\n >\n <v-icon>mdi-plus</v-icon>\n </v-btn>\n <v-btn\n small\n icon\n v-if=\"$store.getters.layout.tempoptions.series.length > 1\"\n :style=\"{color: $store.getters.current.textColor, marginTop: '10px'}\"\n :color=\"$store.getters.current.accent\"\n @click=\"removeSet(index)\"\n >\n <v-icon>mdi-minus</v-icon>\n </v-btn>\n </v-col>\n <v-col class=\"pa-0\">\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\"\n class=\"pa-0\">\n <v-subheader\n :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Name\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\"\n class=\"pa-0\">\n <v-text-field\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Name' : ''\"\n style=\"padding-top: 6px\"\n dense\n v-model=\"line.name\"\n @input=\"(a) => $store.getters.layout.tempoptions.legend.data[index] = a\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\"\n class=\"pa-0\">\n <v-subheader\n :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Type\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\"\n class=\"pa-0\">\n <v-select\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Type' : ''\"\n style=\"padding-top: 6px\"\n dense\n v-model=\"line.type\"\n :items=\"graphTypes\"\n item-value=\"val\"\n item-text=\"name\"\n item-color=\"active\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\"\n class=\"pa-0\">\n <v-subheader\n :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Dataset\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\"\n class=\"pa-0\">\n <v-select\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Dataset' : ''\"\n style=\"padding-top: 6px\"\n dense\n v-model=\"line.data\"\n :items=\"datasets\"\n item-value=\"data\"\n item-text=\"name\"\n @change=\"(a) => datasets.forEach((b) => {if(a === b.data) line.dataId = b.name})\"\n item-color=\"active\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\"\n class=\"pa-0\">\n <v-subheader\n :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Y-Axis\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\"\n class=\"pa-0\">\n <v-select\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Y-Axis' : ''\"\n style=\"padding-top: 6px\"\n dense\n :items=\"$store.getters.layout.tempoptions.yAxis.map((x, i) => ({idx: i, data: x}))\"\n :value=\"line.yAxisIndex ? line.yAxisIndex : 0\"\n item-text=\"data.name\"\n item-value=\"idx\"\n item-color=\"active\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n @change=\"(x) => setYAxis(x, index)\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\"\n class=\"pa-0\">\n <v-subheader\n :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Color\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\"\n class=\"pa-0\">\n <v-hover v-slot:default=\"{ hover }\">\n <div\n style=\"position: relative; width: 100%; height: 30px; border: 2px solid; margin-top: 9px\"\n :style=\"{backgroundColor: line.itemStyle.color, borderColor: $store.getters.current.textColor}\"\n >\n <v-scroll-x-transition>\n <v-color-picker\n v-if=\"hover\"\n elevation=\"3\"\n style=\"position: absolute; z-index: 99999; top: -260px; left: calc(100% + 2px)\"\n hide-mode-switch\n :style=\"{backgroundColor: $store.getters.current.secondary}\"\n v-model=\"line.itemStyle.color\"\n />\n </v-scroll-x-transition>\n </div>\n </v-hover>\n </v-col>\n </v-row>\n </v-col>\n </v-row>\n </div>\n </div>\n </v-expand-transition>\n </div>\n </v-fade-transition>\n <v-fade-transition leave-absolute hide-on-leave>\n <div v-if=\"!graph\">\n <div v-for=\"(line, index) in $store.getters.layout.temppieoptions.series[0].data\"\n :key=\"index\">\n <div v-if=\"index > 0\" style=\"width: 100%; height: 1px;\"\n :style=\"{backgroundColor: $store.getters.current.accent2}\"\n class=\"mt-2 mb-2\"/>\n <v-row dense class=\"mr-3\">\n <v-col cols=\"2\" class=\"pa-0\">\n <v-btn\n small\n icon\n :style=\"{color: $store.getters.current.textColor, marginTop: '10px'}\"\n :color=\"$store.getters.current.accent\"\n @click=\"addPieSet(index)\"\n >\n <v-icon>mdi-plus</v-icon>\n </v-btn>\n <v-btn\n small\n icon\n v-if=\"$store.getters.layout.temppieoptions.series[0].data.length > 1\"\n :style=\"{color: $store.getters.current.textColor, marginTop: '10px'}\"\n :color=\"$store.getters.current.accent\"\n @click=\"removePieSet(index)\"\n >\n <v-icon>mdi-minus</v-icon>\n </v-btn>\n </v-col>\n <v-col class=\"pa-0\">\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\" class=\"pa-0\">\n <v-subheader :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Name\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\" class=\"pa-0\">\n <v-text-field\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Name' : ''\"\n style=\"padding-top: 6px\"\n dense\n v-model=\"line.name\"\n @input=\"(a) => $store.getters.layout.temppieoptions.legend.data[index] = a\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\" class=\"pa-0\">\n <v-subheader :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Dataset\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\" class=\"pa-0\">\n <v-select\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Dataset' : ''\"\n style=\"padding-top: 6px\"\n dense\n v-model=\"line.value\"\n :items=\"Object.keys($store.getters.data.datasets).map(x => {return {name: translate(x), data: $store.getters.data.datasets[x]}})\"\n :item-value=\"(data) => data.data[data.data.length-1][1]\"\n @change=\"(a) => Object.keys($store.getters.data.datasets).forEach((b) => {if(a === $store.getters.data.datasets[b][$store.getters.data.datasets[b].length-1][1]) line.dataId = translate(b)})\"\n item-text=\"name\"\n item-color=\"active\"\n color=\"textColor\"\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col v-if=\"!$vuetify.breakpoint.mdAndDown\" cols=\"4\" class=\"pa-0\">\n <v-subheader :style=\"{color: $store.getters.current.textColor}\"\n class=\"pl-1\">\n Color\n </v-subheader>\n </v-col>\n <v-col :cols=\"$vuetify.breakpoint.mdAndDown ? 12: 8\" class=\"pa-0\">\n <v-hover v-slot:default=\"{ hover }\">\n <div\n style=\"position: relative; width: 100%; height: 30px; border: 2px solid; margin-top: 9px\"\n :style=\"{backgroundColor: line.itemStyle.color, borderColor: $store.getters.current.textColor}\"\n >\n <v-scroll-x-transition>\n <v-color-picker\n v-if=\"hover\"\n elevation=\"3\"\n style=\"position: absolute; z-index: 99999; top: -260px; left: calc(100% + 2px)\"\n hide-mode-switch\n :style=\"{backgroundColor: $store.getters.current.secondary}\"\n v-model=\"line.itemStyle.color\"\n />\n </v-scroll-x-transition>\n </div>\n </v-hover>\n </v-col>\n </v-row>\n </v-col>\n </v-row>\n </div>\n </div>\n </v-fade-transition>\n </v-col>\n <v-col cols=\"8\" v-if=\"!$vuetify.breakpoint.mdAndDown\">\n <chart\n :key=\"prevreload\"\n autoresize\n style=\"width: 100%; left: 0\"\n :options=\"graph ? $store.getters.layout.tempoptions: $store.getters.layout.temppieoptions\"\n />\n </v-col>\n </v-row>\n <v-btn absolute tile\n :style=\"{color: $store.getters.current.textColor, right: '12px', bottom: '12px'}\"\n :color=\"$store.getters.current.accent\"\n @click=\"() => {$store.commit('addLayoutContainer', construct(exportgraph(graph ? $store.getters.layout.tempoptions : $store.getters.layout.temppieoptions , graph ? 'graph': 'pie'))); $modal.hide('createGraph')}\"\n >\n Add Graph\n </v-btn>\n </v-container>\n </modal>\n </div>\n </v-container>\n</template>\n\n<script>\n import store from '../store/index';\n import {\n dataUnits,\n numberUnits,\n formatNumber,\n constructChart,\n deconstructChart,\n addData, translate, getLightness, biscuitUnits\n } from \"@/constants\";\n import DashGrid from \"@/components/dashGrid\";\n import Vue from 'vue'\n\n let ComponentClass = Vue.extend(DashGrid)\n export default {\n name: 'Dashboard',\n components: {\n chart: () => import('../components/asyncChart'),\n },\n data() {\n return {\n graph: true,\n showdatasets: true,\n showyaxis: true,\n prevreload: 0,\n units: [{\n idx: 0,\n name: 'None',\n arr: []\n }, {\n idx: 1,\n name: 'Data',\n arr: dataUnits\n }, {\n idx: 2,\n name: 'Number',\n arr: numberUnits\n }],\n datasets: Object.keys(store.getters.data.datasets).map(x => translate(x)).sort().map(x => {\n return {name: x, data: store.getters.data.datasets[translate(x, true)]}\n }),\n graphTypes: [{name: 'Line', val: 'line'}, {name: 'Bar', val: 'bar'}],\n instance: null\n }\n },\n mounted() {\n if (store.getters.options.superSecret)\n this.units = [{\n idx: 0,\n name: 'None',\n arr: []\n }, {\n idx: 1,\n name: 'Data',\n arr: dataUnits\n }, {\n idx: 2,\n name: 'Number',\n arr: numberUnits\n }, {\n idx: 3,\n name: 'Biscuit',\n arr: biscuitUnits\n }]\n this.$nextTick(() => {\n this.instance = new ComponentClass()\n this.instance.$mount()\n this.$refs.grid.appendChild(this.instance.$el)\n })\n },\n beforeDestroy() {\n this.instance.$destroy()\n },\n methods: {\n construct: (a) => constructChart(a),\n showModal() {\n this.uniqpieindex = 0;\n this.uniqindex = 0;\n this.axisindex = 0;\n store.commit('setTempOptions', constructChart({\n type: 'graph',\n title: {left: 'center', text: 'Title'},\n tooltip: {trigger: 'axis', axisPointer: {type: 'cross', label: {formatter: 'number'}}},\n legend: {left: 'center', show: true, top: 35, data: ['Item']},\n yAxis: [{\n type: 'value',\n name: 'Axis',\n scale: true,\n offset: 0,\n axisLabel: {unit: 2},\n splitLine: {show: false}\n }],\n series: [{\n name: 'Item',\n type: 'line',\n data: null,\n dataId: this.datasets[0].name,\n yAxisIndex: 0,\n showSymbol: false,\n itemStyle: {colorId: 'text'}\n }]\n }))\n store.commit('setTempPieOptions', constructChart({\n type: 'pie',\n title: {\n left: 'center',\n text: 'Title',\n },\n legend: {\n orient: 'vertical',\n left: 0,\n top: 10,\n show: true,\n data: ['Item'],\n },\n series: [\n {\n type: 'pie',\n avoidLabelOverlap: true,\n label: {\n show: false,\n },\n labelLine: {\n show: false\n },\n data: [\n {\n value: 0,\n name: 'Item',\n dataId: this.datasets[0].name,\n itemStyle: {colorId: 'text'}\n }\n ]\n }\n ]\n }))\n this.$modal.show('createGraph')\n },\n addSet(index) {\n let colorrand = '0123456789abcdef'\n let rand = '#'\n for (let i = 0; i < 6; i++) {\n rand += colorrand.substr(Math.floor(Math.random() * colorrand.length), 1)\n }\n let a = {\n name: 'item ' + (this.uniqindex++),\n type: 'line',\n data: this.datasets[0].data,\n dataId: this.datasets[0].name,\n yAxisIndex: 0,\n showSymbol: false,\n itemStyle: {\n color: rand\n }\n }\n store.getters.layout.tempoptions.series.splice(index + 1, 0, a)\n store.getters.layout.tempoptions.legend.data.splice(index + 1, 0, a.name)\n this.prevreload = !this.prevreload\n },\n removeSet(index) {\n store.getters.layout.tempoptions.series.splice(index, 1)\n store.getters.layout.tempoptions.legend.data.splice(index, 1)\n this.prevreload = !this.prevreload\n },\n addPieSet(index) {\n let colorrand = '0123456789abcdef'\n let rand = '#'\n for (let i = 0; i < 6; i++) {\n rand += colorrand.substr(Math.floor(Math.random() * colorrand.length), 1)\n }\n let a = {\n name: 'item ' + (this.uniqpieindex++),\n value: store.getters.getLastValueOfDataset(translate(this.datasets[0].name, true)),\n dataId: this.datasets[0].name,\n itemStyle: {color: rand}\n }\n store.getters.layout.temppieoptions.series[0].data.splice(index + 1, 0, a)\n store.getters.layout.temppieoptions.legend.data.splice(index + 1, 0, a.name)\n this.prevreload = !this.prevreload\n },\n removePieSet(index) {\n store.getters.layout.temppieoptions.series[0].data.splice(index, 1)\n store.getters.layout.temppieoptions.legend.data.splice(index, 1)\n this.prevreload = !this.prevreload\n },\n setYAxis(axis, index) {\n store.getters.layout.tempoptions.series[index].yAxisIndex = axis\n this.prevreload = !this.prevreload\n },\n setYAxisUnits(unit, index) {\n if (unit === 0) {\n store.getters.layout.tempoptions.yAxis[index].axisLabel = {\n formatter: null,\n unit: 0\n }\n } else\n store.getters.layout.tempoptions.yAxis[index].axisLabel = {\n formatter: (x) => formatNumber(x, this.units[unit].arr),\n unit: unit\n }\n this.prevreload = !this.prevreload\n },\n addAxis(index) {\n store.getters.layout.tempoptions.yAxis.splice(index + 1, 0, {\n type: 'value',\n name: 'axis ' + (this.axisindex++),\n offset: (store.getters.layout.tempoptions.yAxis.length - 1) * 80,\n scale: true,\n max: function (value) {\n return (value.max).toFixed(5).replace(/\\.?0*$/, '');\n },\n min: function (value) {\n return (value.min).toFixed(5).replace(/\\.?0*$/, '');\n },\n axisLine: {\n lineStyle: {\n color: store.getters.current.textColor\n }\n },\n axisLabel: {\n formatter: null,\n unit: 0\n },\n splitLine: {\n show: false\n }\n })\n this.prevreload = !this.prevreload\n },\n removeAxis(index) {\n store.getters.layout.tempoptions.yAxis.splice(index, 1)\n this.prevreload = !this.prevreload\n },\n exportgraph: (a, t) => deconstructChart(a, t),\n addData: () => addData(),\n getLightness: (H) => getLightness(H),\n translate: (a, b) => translate(a, b),\n log(a) {\n console.log(a)\n }\n },\n computed: {\n g() {\n return this.graph\n }\n },\n watch: {\n g() {\n this.prevreload = !this.prevreload\n }\n }\n }\n</script>\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!./Dashboard.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!./Dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=707a08c7&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Dashboard.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 { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VColorPicker } from 'vuetify/lib/components/VColorPicker';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VFadeTransition } from 'vuetify/lib/components/transitions';\nimport { VHover } from 'vuetify/lib/components/VHover';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VScrollXTransition } from 'vuetify/lib/components/transitions';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VBtnToggle,VCheckbox,VCol,VColorPicker,VContainer,VExpandTransition,VFadeTransition,VHover,VIcon,VRow,VScrollXTransition,VSelect,VSubheader,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticStyle:{\"height\":\"100%\"},style:({color: _vm.$store.getters.current.textColor}),attrs:{\"fluid\":\"\"}},[_c('v-container',{staticClass:\"pt-0 pb-0\",style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',[_c('h1',{staticClass:\"pl-1\"},[_vm._v(\"Console\")])]),_c('v-col',[_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-right\":\"28px\",\"margin-top\":\"5px\"},style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent1,\"elevation\":\"0\",\"tile\":\"\"}},[_vm._v(\"Disconnected \")])],1)],1)],1),_c('grid-layout',{staticStyle:{\"width\":\"calc(100% + 24px)\",\"left\":\"-12px\"},attrs:{\"layout\":_vm.$store.getters.console.grid,\"col-num\":24,\"row-height\":30,\"margin\":[12,12],\"is-draggable\":_vm.$store.getters.options.exp_consoleGrid,\"is-resizable\":_vm.$store.getters.options.exp_consoleGrid,\"vertical-compact\":false},on:{\"update:layout\":function($event){return _vm.$set(_vm.$store.getters.console, \"grid\", $event)},\"layout-updated\":function () {_vm.localStorage.consoleLayout = JSON.stringify(_vm.$store.getters.console.grid)},\"layout-ready\":function () { return _vm.$nextTick(function () { return _vm.$refs.term[0].fit(); }); }}},_vm._l((_vm.$store.getters.console.grid),function(item,index){return _c('grid-item',{key:index,style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"x\":item.x,\"y\":item.y,\"w\":item.w,\"h\":item.h,\"i\":item.i,\"drag-allow-from\":\".vue-draggable-handle\",\"drag-ignore-from\":\".no-drag\"},on:{\"resize\":function($event){return _vm.$refs.term[0].fit()},\"resized\":function () { return _vm.$nextTick(function () { return _vm.$refs.term[0].fit(); }); }}},[_c('v-container',{class:_vm.$store.getters.options.exp_consoleGrid ? 'pa-4':'pa-0',staticStyle:{\"position\":\"absolute\",\"height\":\"100%\",\"width\":\"100%\"},attrs:{\"fluid\":\"\"}},[(item.c === 0)?_c('xterm',{ref:\"term\",refInFor:true,staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"background-color\":\"black\"}}):_vm._e(),(item.c === 1)?_c('div',{style:({color: _vm.$store.getters.current.textColor})},[_c('v-row',[_c('v-col',[_c('h3',[_vm._v(\"Some Buttons\")])]),_c('v-col',[_c('h3',[_vm._v(\"Some Buttons\")])]),_c('v-col',[_c('h3',[_vm._v(\"Some Buttons\")])]),_c('v-col',[_c('h3',[_vm._v(\"Some Buttons\")])]),_c('v-col',[_c('h3',[_vm._v(\"Some Buttons\")])])],1)],1):_vm._e(),(item.c === 2)?_c('div',{style:({color: _vm.$store.getters.current.textColor})},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('h3',[_vm._v(\"Some Status\")])]),_c('v-col',[_c('h5',[_vm._v(\"Probably Online\")])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('h3',[_vm._v(\"Another Status\")])]),_c('v-col',[_c('h5',[_vm._v(\"Maybe Online\")])])],1)],1)],1):_vm._e()],1),(_vm.$store.getters.options.exp_consoleGrid)?_c('div',[_c('v-fade-transition',[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-icon',{staticClass:\"vue-draggable-handle\",style:({position: 'absolute', color: hover ? _vm.$store.getters.current.textColor : _vm.$store.getters.current.accent, left: 'calc(50% - 5px)', width: '10px'}),attrs:{\"dense\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-drag-horizontal-variant \")])]}}],null,true)})],1),_c('v-fade-transition',[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-icon',{style:({position: 'absolute', color: hover ? _vm.$store.getters.current.textColor : _vm.$store.getters.current.accent, top: '2px', right: '2px'}),attrs:{\"dense\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-close \")])]}}],null,true)})],1),_c('v-fade-transition',[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-icon',{staticClass:\"vue-resizable-handle pa-0\",style:({position: 'absolute', color: hover ? _vm.$store.getters.current.textColor : _vm.$store.getters.current.accent, bottom: '2px', right: '2px', zIndex: 1}),attrs:{\"dense\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-resize-bottom-right \")])]}}],null,true)})],1)],1):_vm._e()],1)}),1)],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('div',{ref:\"term\",attrs:{\"id\":_vm.genid}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div :id=\"genid\" ref=\"term\"></div>\r\n</template>\r\n\r\n<script>\r\n import {Terminal} from \"xterm\";\r\n import {FitAddon} from 'xterm-addon-fit';\r\n // import moment from 'moment'\r\n import store from '../store/index'\r\n import 'xterm/css/xterm.css'\r\n\r\n export default {\r\n name: \"xterm\",\r\n props: ['lines'],\r\n data() {\r\n return {genid: 'term', term: null, fitaddon: new FitAddon(), currentLine: 0}\r\n },\r\n beforeMount() {\r\n let result = '';\r\n let characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n for (let i = 0; i < 20; i++) {\r\n result += characters.charAt(Math.floor(Math.random() * characters.length));\r\n }\r\n this.genid = result;\r\n this.term = new Terminal({\r\n disableStdin: false,\r\n cursorBlink: true,\r\n cursorStyle: 'underline',\r\n fontSize: 15,\r\n fastScrollModifier: 'shift',\r\n fastScrollSensitivity: 5\r\n });\r\n this.term.loadAddon(this.fitaddon);\r\n },\r\n mounted() {\r\n this.currentLine = store.getters.console.data.length\r\n // this.term.open(document.getElementById(this.genid))\r\n this.term.open(this.$refs.term.$el)\r\n window.addEventListener('resize', this.fit)\r\n this.$nextTick(() => this.fitaddon.fit())\r\n this.runFakeTerminal()\r\n store.getters.console.data.forEach((x) => this.writeMessage(x))\r\n },\r\n beforeDestroy() {\r\n clearInterval(this)\r\n this.term.dispose()\r\n window.removeEventListener('resize', this.fit)\r\n },\r\n methods: {\r\n fit() {\r\n this.fitaddon.fit()\r\n },\r\n writeMessage(input) {\r\n let date = input.substr(0, 20)\r\n let type = input.substr(20, 5)\r\n let message = input.substr(26)\r\n let tid = ''\r\n let line = ''\r\n if (message.includes('hit cache') || message.includes('cached and served') || message.includes('being served') || message.includes('completed')) {\r\n line = '\\x1b[1;34m' //bright blue\r\n } else if (message.includes('missed cache')) {\r\n line = '\\x1b[34m' //blue\r\n }\r\n else if (message.includes('exception')) {//exception color\r\n line = '\\x1b[31m' //red\r\n }\r\n else if (message.includes('succeeded') || message.includes('committed')) { //success color\r\n line = '\\x1b[1;32m' //bright green\r\n } else if (message.includes('errored') || message.includes('failed') || message.includes('aborted')) { //fail color\r\n line = '\\x1b[1;31m' //bright red\r\n }\r\n switch (type){\r\n case 'ERROR':\r\n tid = '\\x1b[1;31m' //bright red\r\n break\r\n case 'WARN ':\r\n tid = '\\x1b[1;33m' //bright yellow\r\n break\r\n case 'DEBUG':\r\n tid = '\\x1b[1;36m' //bright cyan\r\n break\r\n }\r\n this.term.writeln(date + tid + type + ' \\x1b[0m' + line + message + '\\x1b[0m')\r\n },\r\n runFakeTerminal() {\r\n if (this.term._initialized) {\r\n return;\r\n }\r\n this.term._initialized = true;\r\n //https://xtermjs.org/docs/api/terminal/interfaces/itheme/\r\n //colors ^\r\n this.term.writeln('Welcome to the Web UI console');\r\n this.term.writeln('Anti was super lazy and didnt bother to actually implement a console sync');\r\n this.term.writeln('Go ping him (please don\\'t) to do some more work and stop reading manga');\r\n // this.term.writeln('You\\'re still free to type and spam in this console to your heart\\'s content tho');\r\n this.term.writeln('');\r\n // this.prompt(this.term);\r\n //\r\n // this.term.onData(e => {\r\n // switch (e) {\r\n // case '\\r': // Enter\r\n // case '\\u0003': // Ctrl+C\r\n // this.prompt(this.term);\r\n // break;\r\n // case '\\u007F': // Backspace (DEL)\r\n // // Do not delete the prompt\r\n // if (this.term._core.buffer.x > 2) {\r\n // this.term.write('\\b \\b');\r\n // }\r\n // break;\r\n // default: // Print all other characters for demo\r\n // this.term.write(e);\r\n // }\r\n // });\r\n },\r\n prompt(t) {\r\n t.write('\\r\\n> ');\r\n }\r\n },\r\n computed: {\r\n terchanged(){\r\n return store.getters.console.data\r\n }\r\n },\r\n watch: {\r\n terchanged(){\r\n let looped = false\r\n for (let i = this.currentLine; i < store.getters.console.data.length; i++){\r\n this.writeMessage(store.getters.console.data[i])\r\n looped = true\r\n }\r\n if (!looped)\r\n this.writeMessage(store.getters.console.data[store.getters.console.data.length - 1])\r\n this.currentLine = store.getters.console.data.length\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .xterm ::-webkit-scrollbar {\r\n width: 7px;\r\n }\r\n\r\n .xterm ::-webkit-scrollbar-track {\r\n background-color: #00000000;\r\n\r\n }\r\n\r\n .xterm ::-webkit-scrollbar-thumb {\r\n background-color: #FFF;\r\n }\r\n</style>","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!./xterm.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!./xterm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./xterm.vue?vue&type=template&id=6a13b7b6&\"\nimport script from \"./xterm.vue?vue&type=script&lang=js&\"\nexport * from \"./xterm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./xterm.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","<template>\r\n <v-container fluid :style=\"{color: $store.getters.current.textColor}\" style=\"height: 100%\">\r\n <v-container fluid class=\"pt-0 pb-0\"\r\n :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\">\r\n <v-row>\r\n <v-col>\r\n <h1 class=\"pl-1\">Console</h1>\r\n </v-col>\r\n <v-col>\r\n <v-btn\r\n :style=\"{color: $store.getters.current.textColor}\"\r\n :color=\"$store.getters.current.accent1\"\r\n elevation=\"0\"\r\n tile\r\n style=\"position: absolute; right: 0;margin-right: 28px; margin-top: 5px\"\r\n >Disconnected\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n <grid-layout\r\n style=\"width: calc(100% + 24px); left: -12px\"\r\n :layout.sync=\"$store.getters.console.grid\"\r\n :col-num=\"24\"\r\n :row-height=\"30\"\r\n :margin=\"[12,12]\"\r\n :is-draggable=\"$store.getters.options.exp_consoleGrid\"\r\n :is-resizable=\"$store.getters.options.exp_consoleGrid\"\r\n :vertical-compact=\"false\"\r\n @layout-updated=\"() => {localStorage.consoleLayout = JSON.stringify($store.getters.console.grid)}\"\r\n @layout-ready=\"() => $nextTick(() => $refs.term[0].fit())\"\r\n >\r\n <grid-item v-for=\"(item,index) in $store.getters.console.grid\"\r\n :x=\"item.x\"\r\n :y=\"item.y\"\r\n :w=\"item.w\"\r\n :h=\"item.h\"\r\n :i=\"item.i\"\r\n :key=\"index\"\r\n :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\"\r\n drag-allow-from=\".vue-draggable-handle\"\r\n drag-ignore-from=\".no-drag\"\r\n @resize=\"$refs.term[0].fit()\"\r\n @resized=\"() => $nextTick(() => $refs.term[0].fit())\"\r\n >\r\n <v-container fluid style=\"position: absolute; height: 100%; width: 100%\"\r\n :class=\"$store.getters.options.exp_consoleGrid ? 'pa-4':'pa-0'\">\r\n <xterm v-if=\"item.c === 0\" style=\"width: 100%; height: 100%; background-color: black\" ref=\"term\"/>\r\n <div v-if=\"item.c === 1\" :style=\"{color: $store.getters.current.textColor}\">\r\n <v-row>\r\n <v-col>\r\n <h3>Some Buttons</h3>\r\n </v-col>\r\n <v-col>\r\n <h3>Some Buttons</h3>\r\n </v-col>\r\n <v-col>\r\n <h3>Some Buttons</h3>\r\n </v-col>\r\n <v-col>\r\n <h3>Some Buttons</h3>\r\n </v-col>\r\n <v-col>\r\n <h3>Some Buttons</h3>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <div v-if=\"item.c === 2\" :style=\"{color: $store.getters.current.textColor}\">\r\n <v-container fluid>\r\n <v-row dense>\r\n <v-col><h3>Some Status</h3></v-col>\r\n <v-col><h5>Probably Online</h5></v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col><h3>Another Status</h3></v-col>\r\n <v-col><h5>Maybe Online</h5></v-col>\r\n </v-row>\r\n </v-container>\r\n </div>\r\n </v-container>\r\n <div v-if=\"$store.getters.options.exp_consoleGrid\">\r\n <v-fade-transition>\r\n <v-hover v-slot:default=\"{ hover }\">\r\n <v-icon\r\n :style=\"{position: 'absolute', color: hover ? $store.getters.current.textColor : $store.getters.current.accent, left: 'calc(50% - 5px)', width: '10px'}\"\r\n dense small\r\n class=\"vue-draggable-handle\">mdi-drag-horizontal-variant\r\n </v-icon>\r\n </v-hover>\r\n </v-fade-transition>\r\n <v-fade-transition>\r\n <v-hover v-slot:default=\"{ hover }\">\r\n <v-icon\r\n :style=\"{position: 'absolute', color: hover ? $store.getters.current.textColor : $store.getters.current.accent, top: '2px', right: '2px'}\"\r\n dense small\r\n >mdi-close\r\n </v-icon>\r\n </v-hover>\r\n </v-fade-transition>\r\n <v-fade-transition>\r\n <v-hover v-slot:default=\"{ hover }\">\r\n <v-icon\r\n :style=\"{position: 'absolute', color: hover ? $store.getters.current.textColor : $store.getters.current.accent, bottom: '2px', right: '2px', zIndex: 1}\"\r\n dense small\r\n class=\"vue-resizable-handle pa-0\"\r\n >mdi-resize-bottom-right\r\n </v-icon>\r\n </v-hover>\r\n </v-fade-transition>\r\n </div>\r\n </grid-item>\r\n </grid-layout>\r\n </v-container>\r\n</template>\r\n\r\n<script>\r\n import Xterm from \"@/components/xterm\";\r\n\r\n export default {\r\n name: \"Console\",\r\n components: {Xterm},\r\n data() {\r\n return {\r\n localStorage: localStorage,\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>","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!./Console.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!./Console.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Console.vue?vue&type=template&id=972e8ab0&scoped=true&\"\nimport script from \"./Console.vue?vue&type=script&lang=js&\"\nexport * from \"./Console.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 \"972e8ab0\",\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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFadeTransition } from 'vuetify/lib/components/transitions';\nimport { VHover } from 'vuetify/lib/components/VHover';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VFadeTransition,VHover,VIcon,VRow})\n","var render = function () {\nvar this$1 = this;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticStyle:{\"position\":\"relative\",\"z-index\":\"1\"},style:({color: _vm.$store.getters.current.textColor}),attrs:{\"fluid\":\"\"}},[_c('v-container',{style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"fluid\":\"\"}},[_c('h1',{staticClass:\"pl-1\"},[_vm._v(\"Settings\")])]),_c('v-container',{staticClass:\"pa-3 pb-9 mt-3\",style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"fluid\":\"\"}},[_c('h3',[_vm._v(\"Web Settings\")]),_c('div',{staticClass:\"mt-2 mb-2\",staticStyle:{\"width\":\"100%\",\"height\":\"1px\"},style:({backgroundColor: _vm.$store.getters.current.accent2})}),_c('h4',[_vm._v(\"Display\")]),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Theme \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-2 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-select',{attrs:{\"dense\":\"\",\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Theme' : '',\"items\":_vm.items,\"item-value\":\"val\",\"item-text\":\"disp\",\"value\":_vm.$store.state.options.current,\"item-color\":\"active\",\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function (val) {_vm.$store.commit('setTheme', val); _vm.$vuetify.theme.themes.light = _vm.$store.getters.current; _vm.$vuetify.theme.dark = _vm.getLightness(_vm.$store.getters.current.secondary) < 50}}})],1)],1),_c('v-expand-transition',[(_vm.$store.getters.options.current === 'custom' && _vm.$store.getters.options.superSecret)?_c('div',{staticStyle:{\"position\":\"relative\"}},[_vm._l((Object.keys(_vm.$store.getters.themes.custom)),function(item,index){return _c('div',{key:index},[_c('v-row',{staticClass:\"pl-3\",attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{style:({color: _vm.$store.getters.current.textColor})},[_vm._v(_vm._s(item)+\" \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-02 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('div',{staticStyle:{\"position\":\"relative\",\"width\":\"150px\",\"height\":\"30px\",\"border\":\"2px solid\"},style:({backgroundColor: _vm.$store.getters.themes.custom[item], borderColor: _vm.$store.getters.current.textColor})},[_c('v-scroll-x-transition',[(hover)?_c('v-color-picker',{staticClass:\"textColor--text\",staticStyle:{\"position\":\"absolute\",\"left\":\"148px\",\"z-index\":\"9999\"},style:({backgroundColor: _vm.$store.getters.current.secondary, color: _vm.$store.getters.current.textColor + '!important'}),attrs:{\"elevation\":\"3\"},on:{\"input\":function () { return _vm.localStorage.exp_customTheme = JSON.stringify(_vm.$store.getters.themes.custom); }},model:{value:(_vm.$store.getters.themes.custom[item]),callback:function ($$v) {_vm.$set(_vm.$store.getters.themes.custom, item, $$v)},expression:\"$store.getters.themes.custom[item]\"}}):_vm._e()],1)],1)]}}],null,true)})],1)],1)],1)}),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"30px\",\"bottom\":\"2px\"},style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.$store.commit('resetCustom')}}},[_vm._v(\" Reset \")])],2):_vm._e()]),(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Show App Bar \")])],1),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-switch',{attrs:{\"color\":_vm.$store.getters.current.active,\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){return _vm.$store.commit('showAppBar', _vm.showbar)}},model:{value:(_vm.showbar),callback:function ($$v) {_vm.showbar=$$v},expression:\"showbar\"}})],1)],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Background Image \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-switch',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Background Image': '',\"color\":_vm.$store.getters.current.active,\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){return _vm.$store.commit('setHasBg', _vm.hasBgImage)}},model:{value:(_vm.hasBgImage),callback:function ($$v) {_vm.hasBgImage=$$v},expression:\"hasBgImage\"}})],1)],1),_c('v-expand-transition',[(_vm.hasBgImage)?_c('div',{staticClass:\"pl-3\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Image URL \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"dense\":\"\",\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Image URL': '',\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){return _vm.$store.commit('setBgUrl', _vm.bgimg)}},model:{value:(_vm.bgimg),callback:function ($$v) {_vm.bgimg=$$v},expression:\"bgimg\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Transparency \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-slider',{staticClass:\"pt-1\",attrs:{\"min\":\"0\",\"max\":\"255\",\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Transparency': '',\"track-color\":_vm.$store.getters.current.accent,\"thumb-color\":_vm.$store.getters.current.textColor,\"track-fill-color\":_vm.$store.getters.current.active,\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"input\":function($event){_vm.localStorage.backgroundAlpha = _vm.$store.getters.themes.backgroundAlpha}},model:{value:(_vm.$store.getters.themes.backgroundAlpha),callback:function ($$v) {_vm.$set(_vm.$store.getters.themes, \"backgroundAlpha\", $$v)},expression:\"$store.getters.themes.backgroundAlpha\"}})],1)],1)],1):_vm._e()]),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Lock Dashboard \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-switch',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Lock Dashboard': '',\"color\":_vm.$store.getters.current.active + '!important',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){_vm.localStorage.lockGrid = _vm.$store.getters.options.lockGrid}},model:{value:(_vm.$store.getters.options.lockGrid),callback:function ($$v) {_vm.$set(_vm.$store.getters.options, \"lockGrid\", $$v)},expression:\"$store.getters.options.lockGrid\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-3\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Dashboard \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-2 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-btn',{style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.$store.commit('resetLayout')}}},[_vm._v(\" Reset \")]):_vm._e(),(_vm.$vuetify.breakpoint.mdAndDown)?_c('v-btn',{style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.$store.commit('resetLayout')}}},[_vm._v(\" Reset Dashboard \")]):_vm._e()],1)],1),_c('h4',{staticClass:\"mt-3\"},[_vm._v(\"Data\")]),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Data Refresh Rate \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Data Refresh Rate': '',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"error-messages\":_vm.referr[0],\"color\":\"textColor\",\"suffix\":\"ms\"},on:{\"input\":function (val) {_vm.checkNan(val, 0); _vm.$store.commit('setRefresh', val)},\"focusout\":function () { return this$1.updateInterval = _vm.$store.getters.data.updateInterval; }},model:{value:(_vm.updateInterval),callback:function ($$v) {_vm.updateInterval=$$v},expression:\"updateInterval\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Max Data Points \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Max Data Points': '',\"color\":\"textColor\",\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"error-messages\":_vm.referr[1]},on:{\"input\":function (val) {_vm.checkNan(val, 1); _vm.$store.commit('setMaxStorePoints', val)},\"focusout\":function () { return this$1.maxpoints = _vm.$store.getters.data.maxStorePoints; }},model:{value:(_vm.maxpoints),callback:function ($$v) {_vm.maxpoints=$$v},expression:\"maxpoints\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-2\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Stats \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-2 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-btn',{style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.$store.commit('resetStats')}}},[_vm._v(\" Reset \")]):_vm._e(),(_vm.$vuetify.breakpoint.mdAndDown)?_c('v-btn',{style:({color: _vm.$store.getters.current.textColor}),attrs:{\"color\":_vm.$store.getters.current.accent},on:{\"click\":function($event){return _vm.$store.commit('resetStats')}}},[_vm._v(\" Reset Stats \")]):_vm._e()],1)],1),_c('v-expand-transition',[(_vm.$store.getters.options.superSecret)?_c('div',[_c('h4',{staticClass:\"mt-3\"},[_vm._v(\"Experimental & WIP\")]),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Console Page \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-switch',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Console Page': '',\"color\":_vm.$store.getters.current.active,\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){_vm.localStorage.exp_showConsole = _vm.$store.getters.options.exp_showConsole}},model:{value:(_vm.$store.getters.options.exp_showConsole),callback:function ($$v) {_vm.$set(_vm.$store.getters.options, \"exp_showConsole\", $$v)},expression:\"$store.getters.options.exp_showConsole\"}})],1)],1),_c('v-expand-transition',[(_vm.$store.getters.options.exp_showConsole)?_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Console Grid \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-switch',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Console Grid': '',\"color\":_vm.$store.getters.current.active,\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){_vm.localStorage.exp_consoleGrid = _vm.$store.getters.options.exp_consoleGrid}},model:{value:(_vm.$store.getters.options.exp_consoleGrid),callback:function ($$v) {_vm.$set(_vm.$store.getters.options, \"exp_consoleGrid\", $$v)},expression:\"$store.getters.options.exp_consoleGrid\"}})],1)],1):_vm._e()],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" About Page \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-switch',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'About Page': '',\"color\":_vm.$store.getters.current.active,\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){_vm.localStorage.exp_showAbout = _vm.$store.getters.options.exp_showAbout}},model:{value:(_vm.$store.getters.options.exp_showAbout),callback:function ($$v) {_vm.$set(_vm.$store.getters.options, \"exp_showAbout\", $$v)},expression:\"$store.getters.options.exp_showAbout\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Client Settings \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-switch',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Client Settings': '',\"color\":_vm.$store.getters.current.active,\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){_vm.localStorage.exp_showClientSettings = _vm.$store.getters.options.exp_showClientSettings}},model:{value:(_vm.$store.getters.options.exp_showClientSettings),callback:function ($$v) {_vm.$set(_vm.$store.getters.options, \"exp_showClientSettings\", $$v)},expression:\"$store.getters.options.exp_showClientSettings\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Connect Dashboard Graphs \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-switch',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Connect Dashboard Graphs': '',\"color\":_vm.$store.getters.current.active,\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){_vm.localStorage.exp_connectGraphs = _vm.$store.getters.options.exp_connectGraphs}},model:{value:(_vm.$store.getters.options.exp_connectGraphs),callback:function ($$v) {_vm.$set(_vm.$store.getters.options, \"exp_connectGraphs\", $$v)},expression:\"$store.getters.options.exp_connectGraphs\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\" Show Graph Zoom Sliders \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-switch',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown? 'Show Graph Zoom Sliders': '',\"color\":_vm.$store.getters.current.active,\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50},on:{\"change\":function($event){_vm.localStorage.exp_showSlider = _vm.$store.getters.options.exp_showSlider}},model:{value:(_vm.$store.getters.options.exp_showSlider),callback:function ($$v) {_vm.$set(_vm.$store.getters.options, \"exp_showSlider\", $$v)},expression:\"$store.getters.options.exp_showSlider\"}})],1)],1)],1):_vm._e()])],1),(_vm.$store.getters.options.exp_showClientSettings)?_c('v-container',{staticClass:\"pa-5 mt-3\",style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"fluid\":\"\"}},[_c('h3',[_vm._v(\"Client Settings (Currently only for creating new settings)\")]),_c('div',{staticClass:\"mt-2 mb-2\",staticStyle:{\"width\":\"100%\",\"height\":\"1px\"},style:({backgroundColor: _vm.$store.getters.current.accent2})}),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Client Secret \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.configerrors[0],\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Client Secret' : '',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"color\":\"textColor\"},model:{value:(_vm.configvals[0]),callback:function ($$v) {_vm.$set(_vm.configvals, 0, $$v)},expression:\"configvals[0]\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Client Host IP \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.configerrors[1],\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Client Host IP' : '',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"color\":\"textColor\"},model:{value:(_vm.configvals[1]),callback:function ($$v) {_vm.$set(_vm.configvals, 1, $$v)},expression:\"configvals[1]\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Client Port \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.configerrors[2],\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Client Port' : '',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"color\":\"textColor\"},model:{value:(_vm.configvals[2]),callback:function ($$v) {_vm.$set(_vm.configvals, 2, $$v)},expression:\"configvals[2]\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Max Shutdown Wait Time \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.configerrors[3],\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Max Shutdown Wait Time' : '',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"color\":\"textColor\"},model:{value:(_vm.msw),callback:function ($$v) {_vm.msw=$$v},expression:\"msw\"}})],1),_c('v-col',{staticClass:\"pt-6 pb-0\",attrs:{\"cols\":\"4\",\"md\":\"2\"}},[_c('span',[_vm._v(_vm._s(_vm.mswtprev))])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Max Threads \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.configerrors[4],\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Max Threads' : '',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"color\":\"textColor\"},model:{value:(_vm.configvals[3]),callback:function ($$v) {_vm.$set(_vm.configvals, 3, $$v)},expression:\"configvals[3]\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Max Cache Size \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"8\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.configerrors[5],\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Max Cache Size' : '',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"color\":\"textColor\"},model:{value:(_vm.mcs),callback:function ($$v) {_vm.mcs=$$v},expression:\"mcs\"}})],1),_c('v-col',{staticClass:\"pt-6 pb-0\",attrs:{\"cols\":\"4\",\"md\":\"2\"}},[_c('span',[_vm._v(_vm._s(_vm.mcsprev))])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Max Hourly Bandwith \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"8\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.configerrors[6],\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Max Hourly Bandwith' : '',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"color\":\"textColor\"},model:{value:(_vm.mhb),callback:function ($$v) {_vm.mhb=$$v},expression:\"mhb\"}})],1),_c('v-col',{staticClass:\"pt-6 pb-0\",attrs:{\"cols\":\"4\",\"md\":\"2\"}},[_c('span',[_vm._v(_vm._s(_vm.mhbprev))])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.$vuetify.breakpoint.mdAndDown)?_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"4\"}},[_c('v-subheader',{staticClass:\"pt-5\",style:({color: _vm.$store.getters.current.textColor})},[_vm._v(\"Max Burst Speed \")])],1):_vm._e(),_c('v-col',{staticClass:\"pt-0 pb-0\",attrs:{\"cols\":\"8\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"error-messages\":_vm.configerrors[7],\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Max Burst Speed' : '',\"dark\":_vm.getLightness(_vm.$store.getters.current.secondary) < 50,\"color\":\"textColor\"},model:{value:(_vm.mbs),callback:function ($$v) {_vm.mbs=$$v},expression:\"mbs\"}})],1),_c('v-col',{staticClass:\"pt-6 pb-0\",attrs:{\"cols\":\"4\",\"md\":\"2\"}},[_c('span',[_vm._v(_vm._s(_vm.mbsprev))])])],1),_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('h3',[_vm._v(\"Config Result\")]),_c('v-container',{staticStyle:{\"background-color\":\"#000000\",\"color\":\"#fff\"},attrs:{\"fluid\":\"\"}},[_c('p',{staticClass:\"mb-0\",staticStyle:{\"font-family\":\"monospace\"}},[_vm._v(\" {\"),_c('br'),_vm._v(\" \\\"client_secret\\\": \\\"\"+_vm._s(_vm.configvals[0])+\"\\\",\"),_c('br'),_vm._v(\" \\\"client_hostname\\\": \\\"\"+_vm._s(_vm.configvals[1])+\"\\\",\"),_c('br'),_vm._v(\" \\\"client_port\\\": \\\"\"+_vm._s(_vm.configvals[2])+\"\\\",\"),_c('br'),_vm._v(\" \\\"threads\\\": \\\"\"+_vm._s(_vm.configvals[3])+\"\\\",\"),_c('br'),_vm._v(\" \\\"graceful_shutdown_wait_seconds\\\": \\\"\"+_vm._s(_vm.configvals[4])+\"\\\",\"),_c('br'),_vm._v(\" \\\"max_cache_size_in_mebibytes\\\": \\\"\"+_vm._s(_vm.configvals[5])+\"\\\",\"),_c('br'),_vm._v(\" \\\"max_kilobits_per_second\\\": \\\"\"+_vm._s(_vm.configvals[6])+\"\\\",\"),_c('br'),_vm._v(\" \\\"max_mebibytes_per_hour\\\": \\\"\"+_vm._s(_vm.configvals[7])+\"\\\",\"),_c('br'),_vm._v(\" } \")])])],1)],1):_vm._e(),_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-btn',{staticStyle:{\"z-index\":\"1000\"},style:({position: 'absolute', top:'18px', right: '18px',color: _vm.$store.getters.options.superSecret? _vm.$store.getters.current.textColor : _vm.$store.getters.current.secondary}),attrs:{\"small\":\"\",\"tile\":\"\",\"elevation\":hover || _vm.$store.getters.options.superSecret? 1 : 0,\"color\":_vm.$store.getters.options.superSecret? _vm.$store.getters.current.accent : '#00000000'},on:{\"click\":function (){_vm.dosuperSecret() ; _vm.localStorage.superSecret = _vm.$store.getters.options.superSecret}}},[_vm._v(\" \"+_vm._s(_vm.superSecretText)+\" \")])]}}])}),(_vm.$store.getters.options.superSecret)?_c('v-btn',{staticStyle:{\"z-index\":\"1000\"},style:({position: 'absolute', top:'50px', right: '18px', color: _vm.$store.getters.options.superSecret ? _vm.$store.getters.current.textColor : _vm.$store.getters.current.secondary}),attrs:{\"small\":\"\",\"tile\":\"\",\"elevation\":1,\"color\":_vm.$store.getters.current.accent},on:{\"click\":function () {_vm.$store.commit('setOption', ['superSecret', false]); this$1.superSecretText = ''; _vm.localStorage.superSecret = _vm.$store.getters.options.superSecret}}},[_vm._v(\" Close EXP options \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid :style=\"{color: $store.getters.current.textColor}\" style=\"position: relative; z-index: 1\">\r\n <v-container fluid\r\n :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\">\r\n <h1 class=\"pl-1\">Settings</h1>\r\n </v-container>\r\n <v-container fluid :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\"\r\n class=\"pa-3 pb-9 mt-3\">\r\n <h3>Web Settings</h3>\r\n <div style=\"width: 100%; height: 1px;\" :style=\"{backgroundColor: $store.getters.current.accent2}\"\r\n class=\"mt-2 mb-2\"/>\r\n <h4>Display</h4>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\">Theme\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-2 pb-0\">\r\n <v-select\r\n dense\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Theme' : ''\"\r\n :items=\"items\"\r\n item-value=\"val\"\r\n item-text=\"disp\"\r\n @change=\"(val) => {$store.commit('setTheme', val); $vuetify.theme.themes.light = $store.getters.current; $vuetify.theme.dark = getLightness($store.getters.current.secondary) < 50}\"\r\n :value=\"$store.state.options.current\"\r\n item-color=\"active\"\r\n color=\"textColor\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-expand-transition>\r\n <div v-if=\"$store.getters.options.current === 'custom' && $store.getters.options.superSecret\"\r\n style=\"position:relative;\">\r\n <div v-for=\"(item, index) in Object.keys($store.getters.themes.custom)\" :key=\"index\">\r\n <v-row dense class=\"pl-3\">\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\">{{item}}\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-02 pb-0\">\r\n <v-hover v-slot:default=\"{ hover }\">\r\n <div\r\n style=\"position: relative; width: 150px; height: 30px; border: 2px solid;\"\r\n :style=\"{backgroundColor: $store.getters.themes.custom[item], borderColor: $store.getters.current.textColor}\"\r\n >\r\n <v-scroll-x-transition>\r\n <v-color-picker\r\n v-if=\"hover\"\r\n elevation=\"3\"\r\n style=\"position: absolute; left: 148px; z-index: 9999\"\r\n :style=\"{backgroundColor: $store.getters.current.secondary, color: $store.getters.current.textColor + '!important'}\"\r\n class=\"textColor--text\"\r\n v-model=\"$store.getters.themes.custom[item]\"\r\n @input=\"() => localStorage.exp_customTheme = JSON.stringify($store.getters.themes.custom)\"\r\n />\r\n </v-scroll-x-transition>\r\n </div>\r\n </v-hover>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n <v-btn\r\n style=\"position:absolute; right: 30px; bottom: 2px\"\r\n @click=\"$store.commit('resetCustom')\"\r\n :style=\"{color: $store.getters.current.textColor}\"\r\n :color=\"$store.getters.current.accent\"\r\n >\r\n Reset\r\n </v-btn>\r\n </div>\r\n </v-expand-transition>\r\n <v-row dense v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n <v-col cols=\"4\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Show App Bar\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-switch\r\n v-model=\"showbar\"\r\n @change=\"$store.commit('showAppBar', showbar)\"\r\n :color=\"$store.getters.current.active\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n >\r\n </v-switch>\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Background\r\n Image\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-switch\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Background Image': ''\"\r\n v-model=\"hasBgImage\"\r\n @change=\"$store.commit('setHasBg', hasBgImage)\"\r\n :color=\"$store.getters.current.active\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-expand-transition>\r\n <div v-if=\"hasBgImage\" class=\"pl-3\">\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\">Image URL\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n dense\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Image URL': ''\"\r\n v-model=\"bgimg\"\r\n color=\"textColor\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n @change=\"$store.commit('setBgUrl', bgimg)\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\">Transparency\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-slider\r\n class=\"pt-1\"\r\n min=\"0\"\r\n max=\"255\"\r\n v-model=\"$store.getters.themes.backgroundAlpha\"\r\n @input=\"localStorage.backgroundAlpha = $store.getters.themes.backgroundAlpha\"\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Transparency': ''\"\r\n :track-color=\"$store.getters.current.accent\"\r\n :thumb-color=\"$store.getters.current.textColor\"\r\n :track-fill-color=\"$store.getters.current.active\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </v-expand-transition>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\"\r\n class=\"pt-5\">Lock Dashboard\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-switch\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Lock Dashboard': ''\"\r\n v-model=\"$store.getters.options.lockGrid\"\r\n @change=\"localStorage.lockGrid = $store.getters.options.lockGrid\"\r\n :color=\"$store.getters.current.active + '!important'\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-3\">Dashboard\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-2 pb-0\">\r\n <v-btn\r\n @click=\"$store.commit('resetLayout')\"\r\n :style=\"{color: $store.getters.current.textColor}\"\r\n :color=\"$store.getters.current.accent\"\r\n v-if=\"!$vuetify.breakpoint.mdAndDown\"\r\n >\r\n Reset\r\n </v-btn>\r\n <v-btn\r\n @click=\"$store.commit('resetLayout')\"\r\n :style=\"{color: $store.getters.current.textColor}\"\r\n :color=\"$store.getters.current.accent\"\r\n v-if=\"$vuetify.breakpoint.mdAndDown\">\r\n Reset Dashboard\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n <h4 class=\"mt-3\">Data</h4>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Data Refresh\r\n Rate\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Data Refresh Rate': ''\"\r\n v-model=\"updateInterval\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n :error-messages=\"referr[0]\"\r\n color=\"textColor\"\r\n @input=\"(val) => {checkNan(val, 0); $store.commit('setRefresh', val)}\"\r\n @focusout=\"() => this.updateInterval = $store.getters.data.updateInterval\"\r\n suffix=\"ms\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Max Data Points\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Max Data Points': ''\"\r\n v-model=\"maxpoints\"\r\n color=\"textColor\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n :error-messages=\"referr[1]\"\r\n @input=\"(val) => {checkNan(val, 1); $store.commit('setMaxStorePoints', val)}\"\r\n @focusout=\"() => this.maxpoints = $store.getters.data.maxStorePoints\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-2\">Stats\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-2 pb-0\">\r\n <v-btn @click=\"$store.commit('resetStats')\"\r\n :style=\"{color: $store.getters.current.textColor}\"\r\n :color=\"$store.getters.current.accent\"\r\n v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n Reset\r\n </v-btn>\r\n <v-btn @click=\"$store.commit('resetStats')\"\r\n :style=\"{color: $store.getters.current.textColor}\"\r\n :color=\"$store.getters.current.accent\"\r\n v-if=\"$vuetify.breakpoint.mdAndDown\">\r\n Reset Stats\r\n </v-btn>\r\n </v-col>\r\n </v-row>\r\n <v-expand-transition>\r\n <div v-if=\"$store.getters.options.superSecret\">\r\n <h4 class=\"mt-3\">Experimental & WIP</h4>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">\r\n Console Page\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-switch\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Console Page': ''\"\r\n v-model=\"$store.getters.options.exp_showConsole\"\r\n @change=\"localStorage.exp_showConsole = $store.getters.options.exp_showConsole\"\r\n :color=\"$store.getters.current.active\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-expand-transition>\r\n <v-row dense v-if=\"$store.getters.options.exp_showConsole\">\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">\r\n Console Grid\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-switch\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Console Grid': ''\"\r\n v-model=\"$store.getters.options.exp_consoleGrid\"\r\n @change=\"localStorage.exp_consoleGrid = $store.getters.options.exp_consoleGrid\"\r\n :color=\"$store.getters.current.active\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n </v-expand-transition>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">\r\n About Page\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-switch\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'About Page': ''\"\r\n v-model=\"$store.getters.options.exp_showAbout\"\r\n @change=\"localStorage.exp_showAbout = $store.getters.options.exp_showAbout\"\r\n :color=\"$store.getters.current.active\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">\r\n Client Settings\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-switch\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Client Settings': ''\"\r\n v-model=\"$store.getters.options.exp_showClientSettings\"\r\n @change=\"localStorage.exp_showClientSettings = $store.getters.options.exp_showClientSettings\"\r\n :color=\"$store.getters.current.active\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">\r\n Connect Dashboard Graphs\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-switch\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Connect Dashboard Graphs': ''\"\r\n v-model=\"$store.getters.options.exp_connectGraphs\"\r\n @change=\"localStorage.exp_connectGraphs = $store.getters.options.exp_connectGraphs\"\r\n :color=\"$store.getters.current.active\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" v-if=\"!$vuetify.breakpoint.mdAndDown\" class=\"pt-0 pb-0\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">\r\n Show Graph Zoom Sliders\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-switch\r\n :label=\"$vuetify.breakpoint.mdAndDown? 'Show Graph Zoom Sliders': ''\"\r\n v-model=\"$store.getters.options.exp_showSlider\"\r\n @change=\"localStorage.exp_showSlider = $store.getters.options.exp_showSlider\"\r\n :color=\"$store.getters.current.active\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n />\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </v-expand-transition>\r\n </v-container>\r\n <v-container v-if=\"$store.getters.options.exp_showClientSettings\" fluid\r\n :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\"\r\n class=\"pa-5 mt-3\">\r\n <h3>Client Settings (Currently only for creating new settings)</h3>\r\n <div style=\"width: 100%; height: 1px;\" :style=\"{backgroundColor: $store.getters.current.accent2}\"\r\n class=\"mt-2 mb-2\"/>\r\n <v-row dense>\r\n <v-col cols=\"4\" class=\"pt-0 pb-0\" v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Client Secret\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n v-model=\"configvals[0]\"\r\n :error-messages=\"configerrors[0]\"\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Client Secret' : ''\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n color=\"textColor\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" class=\"pt-0 pb-0\" v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Client Host IP\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n v-model=\"configvals[1]\"\r\n :error-messages=\"configerrors[1]\"\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Client Host IP' : ''\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n color=\"textColor\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" class=\"pt-0 pb-0\" v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Client Port\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n v-model=\"configvals[2]\"\r\n :error-messages=\"configerrors[2]\"\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Client Port' : ''\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n color=\"textColor\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" class=\"pt-0 pb-0\" v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Max Shutdown\r\n Wait Time\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"6\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n v-model=\"msw\"\r\n :error-messages=\"configerrors[3]\"\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Max Shutdown Wait Time' : ''\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n color=\"textColor\"\r\n />\r\n </v-col>\r\n <v-col cols=\"4\" md=\"2\" class=\"pt-6 pb-0\">\r\n <span>{{mswtprev}}</span>\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" class=\"pt-0 pb-0\" v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Max Threads\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"12\" md=\"8\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n v-model=\"configvals[3]\"\r\n :error-messages=\"configerrors[4]\"\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Max Threads' : ''\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n color=\"textColor\"\r\n />\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" class=\"pt-0 pb-0\" v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Max Cache Size\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"8\" md=\"6\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n v-model=\"mcs\"\r\n :error-messages=\"configerrors[5]\"\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Max Cache Size' : ''\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n color=\"textColor\"\r\n />\r\n </v-col>\r\n <v-col cols=\"4\" md=\"2\" class=\"pt-6 pb-0\">\r\n <span>{{mcsprev}}</span>\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" class=\"pt-0 pb-0\" v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Max Hourly\r\n Bandwith\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"8\" md=\"6\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n v-model=\"mhb\"\r\n :error-messages=\"configerrors[6]\"\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Max Hourly Bandwith' : ''\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n color=\"textColor\"\r\n />\r\n </v-col>\r\n <v-col cols=\"4\" md=\"2\" class=\"pt-6 pb-0\">\r\n <span>{{mhbprev}}</span>\r\n </v-col>\r\n </v-row>\r\n <v-row dense>\r\n <v-col cols=\"4\" class=\"pt-0 pb-0\" v-if=\"!$vuetify.breakpoint.mdAndDown\">\r\n <v-subheader :style=\"{color: $store.getters.current.textColor}\" class=\"pt-5\">Max Burst Speed\r\n </v-subheader>\r\n </v-col>\r\n <v-col cols=\"8\" md=\"6\" class=\"pt-0 pb-0\">\r\n <v-text-field\r\n v-model=\"mbs\"\r\n :error-messages=\"configerrors[7]\"\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Max Burst Speed' : ''\"\r\n :dark=\"getLightness($store.getters.current.secondary) < 50\"\r\n color=\"textColor\"\r\n />\r\n </v-col>\r\n <v-col cols=\"4\" md=\"2\" class=\"pt-6 pb-0\">\r\n <span>{{mbsprev}}</span>\r\n </v-col>\r\n </v-row>\r\n <v-container fluid>\r\n <h3>Config Result</h3>\r\n <v-container fluid\r\n style=\"background-color: #000000; color: #fff\">\r\n <p style=\"font-family: monospace\" class=\"mb-0\">\r\n {<br>\r\n \"client_secret\": \"{{configvals[0]}}\",<br>\r\n \"client_hostname\": \"{{configvals[1]}}\",<br>\r\n \"client_port\": \"{{configvals[2]}}\",<br>\r\n \"threads\": \"{{configvals[3]}}\",<br>\r\n \"graceful_shutdown_wait_seconds\": \"{{configvals[4]}}\",<br>\r\n \"max_cache_size_in_mebibytes\": \"{{configvals[5]}}\",<br>\r\n \"max_kilobits_per_second\": \"{{configvals[6]}}\",<br>\r\n \"max_mebibytes_per_hour\": \"{{configvals[7]}}\",<br>\r\n }\r\n </p>\r\n </v-container>\r\n </v-container>\r\n </v-container>\r\n <v-hover v-slot:default=\"{ hover }\">\r\n <v-btn\r\n small\r\n tile\r\n :elevation=\"hover || $store.getters.options.superSecret? 1 : 0\"\r\n style=\"z-index: 1000\"\r\n :style=\"{position: 'absolute', top:'18px', right: '18px',color: $store.getters.options.superSecret? $store.getters.current.textColor : $store.getters.current.secondary}\"\r\n @click=\"()=>{dosuperSecret() ; localStorage.superSecret = $store.getters.options.superSecret}\"\r\n :color=\"$store.getters.options.superSecret? $store.getters.current.accent : '#00000000'\"\r\n >\r\n {{superSecretText}}\r\n </v-btn>\r\n </v-hover>\r\n <v-btn\r\n v-if=\"$store.getters.options.superSecret\"\r\n small\r\n tile\r\n :elevation=\"1\"\r\n style=\"z-index: 1000\"\r\n :style=\"{position: 'absolute', top:'50px', right: '18px', color: $store.getters.options.superSecret ? $store.getters.current.textColor : $store.getters.current.secondary}\"\r\n @click=\"() => {$store.commit('setOption', ['superSecret', false]); this.superSecretText = ''; localStorage.superSecret = $store.getters.options.superSecret}\"\r\n :color=\"$store.getters.current.accent\"\r\n >\r\n Close EXP options\r\n </v-btn>\r\n </v-container>\r\n</template>\r\n\r\n<script>\r\n import store from \"../store/index\";\r\n import {getLightness} from \"@/constants\";\r\n\r\n let secretText = [\r\n 'AHHH!!!! YOU FOUND ME!!!',\r\n 'You pushed it....',\r\n 'I-It\\'s not like i m-mind being p-p-pressed',\r\n 'Your pointer is dirty :(',\r\n 'How could you...',\r\n 'Was I that bad at hiding?',\r\n 'I hope you\\'re not trying to find all the messages...',\r\n 'What even is a button?',\r\n 'Do buttons normally talk?',\r\n 'I\\'m different...',\r\n '↑ ↓ ↑ ↓ ← → ← → A B A B START',\r\n 'I\\'m a potato',\r\n 'Heh... Made you click!',\r\n 'PLUSSSSSS ULTRAAAAAAA!!!!!',\r\n ]\r\n\r\n export default {\r\n name: \"Options\",\r\n methods: {\r\n checkNan(val, index) {\r\n if (isNaN(val))\r\n this.referr[index] = 'That is not a number!';\r\n else {\r\n this.referr[index] = ''\r\n }\r\n },\r\n changetext() {\r\n let newt = secretText[Math.floor(Math.random() * secretText.length)]\r\n while (this.superSecretText === newt)\r\n newt = secretText[Math.floor(Math.random() * secretText.length)]\r\n this.superSecretText = newt\r\n },\r\n dosuperSecret() {\r\n // if (this.superSecretClickCount < 2) {\r\n store.commit('setOption', ['superSecret', true])\r\n this.superSecret = true;\r\n if (store.getters.options.superSecret)\r\n this.items = [{\r\n disp: 'Light',\r\n val: 'light'\r\n }, {\r\n disp: 'Dark',\r\n val: 'dark'\r\n }, {\r\n disp: 'Midnight',\r\n val: 'midnight'\r\n }, {\r\n disp: 'I want to die',\r\n val: 'eyekiller'\r\n }, {\r\n disp: 'Custom',\r\n val: 'custom',\r\n }]\r\n this.changetext()\r\n // } else {\r\n // this.superSecretClickCount--;\r\n // this.superSecretText = this.superSecretClickCount\r\n // }\r\n },\r\n getLightness: (H) => getLightness(H),\r\n log: (H) => console.log(H),\r\n },\r\n mounted() {\r\n if (store.getters.options.current === 'custom' || store.getters.options.superSecret)\r\n this.items = [{\r\n disp: 'Light',\r\n val: 'light'\r\n }, {\r\n disp: 'Dark',\r\n val: 'dark'\r\n }, {\r\n disp: 'Midnight',\r\n val: 'midnight'\r\n }, {\r\n disp: 'I want to die',\r\n val: 'eyekiller'\r\n }, {\r\n disp: 'Custom',\r\n val: 'custom',\r\n }]\r\n if (store.getters.options.superSecret)\r\n this.changetext()\r\n },\r\n data() {\r\n return {\r\n items: [{\r\n disp: 'Light',\r\n val: 'light'\r\n }, {\r\n disp: 'Dark',\r\n val: 'dark'\r\n }, {\r\n disp: 'Midnight',\r\n val: 'midnight'\r\n }, {\r\n disp: 'I want to die',\r\n val: 'eyekiller'\r\n }],\r\n mcsprev: '1.049 mb',\r\n mcs: 1048576,\r\n mhbprev: '1.049 mb',\r\n mhb: 1048576,\r\n mbsprev: '1 kps',\r\n mbs: 1000,\r\n mswtprev: '1 m',\r\n msw: 60,\r\n configvals: ['iiesenpaithisisoursecret', '0.0.0.0', 44300, 16, 60, 1, 1, 1],\r\n configerrors: ['', '', '', '', '', '', '', ''],\r\n hasBgImage: store.getters.hasBgImage,\r\n bgimg: store.getters.bgImg,\r\n updateInterval: store.getters.data.updateInterval,\r\n maxpoints: store.getters.data.maxStorePoints,\r\n referr: ['', ''],\r\n showbar: store.getters.showAppBar,\r\n localStorage: localStorage,\r\n superSecretClickCount: 5,\r\n superSecret: false,\r\n // superSecretText: 'Super Secret Button Of Secrets',\r\n superSecretText: '',\r\n }\r\n },\r\n computed: {\r\n hasbg() {\r\n return store.getters.hasBgImage;\r\n },\r\n bgurl() {\r\n return store.getters.bgImg;\r\n },\r\n showAppBar() {\r\n return store.getters.showAppBar\r\n },\r\n maxbs() {\r\n return this.mbs\r\n },\r\n maxhb() {\r\n return this.mhb\r\n },\r\n maxcs() {\r\n return this.mcs\r\n },\r\n maxsw() {\r\n return this.msw\r\n },\r\n configval() {\r\n return this.configvals\r\n },\r\n custbg() {\r\n return store.getters.themes.custom.backgroundColor\r\n }\r\n },\r\n watch: {\r\n hasbg() {\r\n this.hasBgImage = store.getters.hasBgImage;\r\n },\r\n bgurl() {\r\n this.bgimg = store.getters.bgImg;\r\n },\r\n showAppBar() {\r\n\r\n },\r\n maxbs() {\r\n if (this.mbs === '') {\r\n this.mbsprev = '0 bits/s';\r\n return;\r\n }\r\n let unit = ['bps', 'kbps', 'mbps', 'gbps', 'tbps', 'pbps', 'ebps', 'zbps', 'ybps'];\r\n if (isNaN(this.mbs)) {\r\n for (let i in unit) {\r\n if (this.mbs.indexOf(unit[i]) !== -1) {\r\n let val = parseFloat(this.mbs.replace(unit[i], ''));\r\n for (let j in unit) {\r\n let divisor = Math.pow(10, parseInt(j) * 3)\r\n if (val * Math.pow(10, parseInt(i) * 3) >= divisor)\r\n this.mbsprev = (val * Math.pow(10, parseInt(i) * 3) / divisor).toPrecision(4) + ' ' + unit[j]\r\n }\r\n this.configvals[6] = val * Math.pow(10, parseInt(i) * 3) / 1000;\r\n }\r\n }\r\n } else {\r\n let bits = parseInt(this.mbs);\r\n for (let i in unit) {\r\n let divisor = Math.pow(10, parseInt(i) * 3)\r\n if (bits >= divisor)\r\n this.mbsprev = (bits / divisor).toPrecision(4) + ' ' + unit[i]\r\n }\r\n this.configvals[6] = Math.round(bits / 1000);\r\n }\r\n if (this.configvals[6] < 1) {\r\n this.configerrors[7] = 'That size is too small!';\r\n } else\r\n this.configerrors[7] = ''\r\n },\r\n maxhb() {\r\n if (this.mcs === '') {\r\n this.configvals[7] = 0;\r\n this.mcsprev = '0 bytes';\r\n return;\r\n }\r\n let unit = ['b', 'kb', 'mb', 'gb', 'tb', 'pb', 'eb', 'zb', 'yb'];\r\n if (isNaN(this.mhb)) {\r\n for (let i in unit) {\r\n if (this.mhb.indexOf(unit[i]) !== -1) {\r\n let val = parseFloat(this.mhb.replace(unit[i], ''));\r\n for (let j in unit) {\r\n let divisor = Math.pow(10, parseInt(j) * 3)\r\n if (val * Math.pow(10, parseInt(i) * 3) >= divisor)\r\n this.mhbprev = (val * Math.pow(10, parseInt(i) * 3) / divisor).toPrecision(4) + ' ' + unit[j]\r\n }\r\n this.configvals[7] = Math.round(val * Math.pow(10, parseInt(i) * 3) / 1048576);\r\n }\r\n }\r\n } else {\r\n let bytes = parseInt(this.mhb);\r\n if (bytes === 0) {\r\n this.mhbprev = '0 bytes';\r\n return;\r\n }\r\n for (let i in unit) {\r\n let divisor = Math.pow(10, parseInt(i) * 3)\r\n if (bytes >= divisor)\r\n this.mhbprev = (bytes / divisor).toPrecision(4) + ' ' + unit[i]\r\n }\r\n this.configvals[7] = Math.round(bytes / 1048576);\r\n }\r\n if (this.configvals[7] < 1) {\r\n this.configerrors[6] = 'That size is too small!';\r\n } else\r\n this.configerrors[6] = ''\r\n },\r\n maxcs() {\r\n if (this.mcs === '') {\r\n this.configvals[5] = 0;\r\n this.mcsprev = '0 bytes';\r\n return;\r\n }\r\n let unit = ['b', 'kb', 'mb', 'gb', 'tb', 'pb', 'eb', 'zb', 'yb'];\r\n if (isNaN(this.mcs)) {\r\n for (let i in unit) {\r\n if (this.mcs.indexOf(unit[i]) !== -1) {\r\n let val = parseFloat(this.mcs.replace(unit[i], ''));\r\n for (let j in unit) {\r\n let divisor = Math.pow(10, parseInt(j) * 3)\r\n if (val * Math.pow(10, parseInt(i) * 3) >= divisor)\r\n this.mcsprev = (val * Math.pow(10, parseInt(i) * 3) / divisor).toPrecision(4) + ' ' + unit[j]\r\n }\r\n this.configvals[5] = Math.round(val * Math.pow(10, parseInt(i) * 3) / 1048576);\r\n }\r\n }\r\n } else {\r\n let bytes = parseInt(this.mcs);\r\n for (let i in unit) {\r\n let divisor = Math.pow(10, parseInt(i) * 3)\r\n if (bytes >= divisor)\r\n this.mcsprev = (bytes / divisor).toPrecision(4) + ' ' + unit[i]\r\n }\r\n this.configvals[5] = Math.round(bytes / 1048576);\r\n }\r\n if (this.configvals[5] < 1) {\r\n this.configerrors[5] = 'That size is too small!';\r\n } else\r\n this.configerrors[5] = ''\r\n },\r\n maxsw() {\r\n if (this.msw === '') {\r\n this.configvals[4] = 0;\r\n this.mswtprev = '0 seconds';\r\n return;\r\n }\r\n let unit = ['s', 'm', 'h', 'd'];\r\n let conversion = [1, 60, 3600, 86400]\r\n if (isNaN(this.msw)) {\r\n for (let i in unit) {\r\n if (this.msw.indexOf(unit[i]) !== -1) {\r\n let val = parseFloat(this.msw.replace(unit[i], ''));\r\n for (let j in conversion) {\r\n let divisor = conversion[j]\r\n if (val * conversion[i] >= divisor) {\r\n this.mswtprev = (val * conversion[i] / divisor).toPrecision(4) + ' ' + unit[j]\r\n }\r\n }\r\n this.configvals[4] = Math.round(val * conversion[i]);\r\n }\r\n }\r\n } else {\r\n let time = parseInt(this.msw);\r\n for (let i in conversion) {\r\n let divisor = conversion[i]\r\n if (time >= divisor) {\r\n this.mswtprev = (time / divisor).toPrecision(4) + ' ' + unit[i]\r\n }\r\n }\r\n this.configvals[4] = Math.round(time);\r\n }\r\n },\r\n configval() {\r\n if (this.configval[0].indexOf(' ') !== -1) {\r\n this.configerrors[0] = 'Secret can\\'t have spaces!'\r\n } else {\r\n this.configerrors[0] = ''\r\n }\r\n if (this.configval[1].indexOf(' ') !== -1) {\r\n this.configerrors[1] = 'IP can\\'t have spaces!'\r\n } else {\r\n this.configerrors[1] = ''\r\n }\r\n if (isNaN(this.configval[2])) {\r\n this.configerrors[2] = 'Port can\\'t have spaces!'\r\n } else {\r\n this.configerrors[2] = ''\r\n }\r\n if (this.configval[3] < 4) {\r\n this.configerrors[4] = 'Max threads can\\'t be less than 4!'\r\n } else if (isNaN(this.configval[3]))\r\n this.configerrors[4] = 'Max threads should be a number!'\r\n else {\r\n this.configerrors[4] = ''\r\n }\r\n },\r\n custbg() {\r\n document.body.style.backgroundColor = store.getters.current.backgroundColor;\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .v-select__selection--comma {\r\n color: inherit !important;\r\n }\r\n\r\n .v-input {\r\n color: inherit !important;\r\n caret-color: inherit !important;\r\n }\r\n\r\n .v-input input {\r\n color: inherit !important;\r\n caret-color: inherit !important;\r\n }\r\n\r\n .v-icon {\r\n color: inherit !important;\r\n }\r\n\r\n .v-color-picker span {\r\n color: inherit !important;\r\n }\r\n\r\n .v-color-picker__input > input {\r\n color: inherit !important;\r\n border-color: inherit !important;\r\n }\r\n</style>","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!./Options.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!./Options.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Options.vue?vue&type=template&id=6fa5ab8e&\"\nimport script from \"./Options.vue?vue&type=script&lang=js&\"\nexport * from \"./Options.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Options.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 { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VColorPicker } from 'vuetify/lib/components/VColorPicker';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VHover } from 'vuetify/lib/components/VHover';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VScrollXTransition } from 'vuetify/lib/components/transitions';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSlider } from 'vuetify/lib/components/VSlider';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VColorPicker,VContainer,VExpandTransition,VHover,VRow,VScrollXTransition,VSelect,VSlider,VSubheader,VSwitch,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{style:({color: _vm.$store.getters.current.textColor}),attrs:{\"fluid\":\"\"}},[_c('v-container',{style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"fluid\":\"\"}},[_c('h1',{staticClass:\"pl-1\"},[_vm._v(\"Info\")])]),_c('v-container',{staticClass:\"mt-3\",style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"fluid\":\"\"}},_vm._l((_vm.infoList),function(stat,index){return _c('div',{key:index,staticStyle:{\"width\":\"50%\"}},[_c('h3',[_vm._v(_vm._s(stat.name))]),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('p',[_vm._v(_vm._s(stat.shortValue))])]),(stat.longValue)?_c('v-col',[_c('p',[_vm._v(_vm._s(stat.longValue + (stat.unitLabel ? ' ' + stat.unitLabel : '')))])]):_vm._e()],1)],1)}),0),_c('v-container',{staticClass:\"mt-3\",style:({backgroundColor: _vm.$store.getters.current.secondary + _vm.$store.getters.alpha}),attrs:{\"fluid\":\"\"}},[_vm._l((_vm.serverResponse),function(att,index){return _c('div',{key:index,staticStyle:{\"width\":\"50%\"}},[_c('h3',[_vm._v(_vm._s(att.name))]),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('p',[_vm._v(_vm._s(att.value))])])],1)],1)}),_c('v-select',{attrs:{\"label\":_vm.$vuetify.breakpoint.mdAndDown ? 'Theme' : '',\"items\":[{disp: 'Minute', val: 60},{disp: 'Hour', val: 3600},{disp: 'Day', val: 3600 * 24}],\"item-value\":\"val\",\"item-text\":\"disp\",\"item-color\":\"active\",\"color\":\"textColor\"},model:{value:(_vm.timeframe),callback:function ($$v) {_vm.timeframe=$$v},expression:\"timeframe\"}}),_c('h3',[_vm._v(\"average hits per hour\")]),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('p',[_vm._v(_vm._s(_vm.averagePerTime(_vm.$store.getters.getDataset('cache_hits_c'))))])])],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid :style=\"{color: $store.getters.current.textColor}\">\r\n <v-container fluid\r\n :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\">\r\n <h1 class=\"pl-1\">Info</h1>\r\n </v-container>\r\n <v-container fluid class=\"mt-3\"\r\n :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\">\r\n <div v-for=\"(stat, index) in infoList\" :key=\"index\" style=\"width: 50%\">\r\n <h3>{{stat.name}}</h3>\r\n <v-row dense>\r\n <v-col><p>{{stat.shortValue}}</p></v-col>\r\n <v-col v-if=\"stat.longValue\"><p>{{stat.longValue + (stat.unitLabel ? ' ' + stat.unitLabel :\r\n '')}}</p>\r\n </v-col>\r\n </v-row>\r\n </div>\r\n </v-container>\r\n <v-container fluid class=\"mt-3\"\r\n :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\">\r\n <div v-for=\"(att, index) in serverResponse\" :key=\"index\" style=\"width: 50%\">\r\n <h3>{{att.name}}</h3>\r\n <v-row dense>\r\n <v-col><p>{{att.value}}</p></v-col>\r\n </v-row>\r\n </div>\r\n <v-select\r\n :label=\"$vuetify.breakpoint.mdAndDown ? 'Theme' : ''\"\r\n :items=\"[{disp: 'Minute', val: 60},{disp: 'Hour', val: 3600},{disp: 'Day', val: 3600 * 24}]\"\r\n v-model=\"timeframe\"\r\n item-value=\"val\"\r\n item-text=\"disp\"\r\n item-color=\"active\"\r\n color=\"textColor\"\r\n />\r\n <h3>average hits per hour</h3>\r\n <v-row dense>\r\n <v-col><p>{{averagePerTime($store.getters.getDataset('cache_hits_c'))}}</p></v-col>\r\n </v-row>\r\n </v-container>\r\n <!-- <v-container fluid class=\"mt-3\"-->\r\n <!-- :style=\"{backgroundColor: $store.getters.current.secondary + $store.getters.alpha}\">-->\r\n <!-- <div v-for=\"(stat, index) in Object.keys($store.getters.data.datasets)\" :key=\"index\"-->\r\n <!-- style=\"width: 50%\">-->\r\n <!-- <h3>{{translate(stat)}}</h3>-->\r\n <!-- <v-row dense>-->\r\n <!-- <v-col><p>{{$store.getters.getLastValueOfDataset(stat)}}</p></v-col>-->\r\n <!-- </v-row>-->\r\n <!-- </div>-->\r\n <!-- </v-container>-->\r\n </v-container>\r\n</template>\r\n\r\n<script>\r\n import store from '../store/index'\r\n import {dataUnits, numberUnits, formatNumber, translate, float} from \"@/constants\";\r\n // import moment from 'moment'\r\n\r\n export default {\r\n name: \"About\",\r\n data() {\r\n return {\r\n rel: 0,\r\n infoList: [{\r\n name: 'Client Version (Temporary fake data)',\r\n shortValue: '1.0.0',\r\n longValue: 'latest: x.x.x'\r\n }, {\r\n name: 'Total Hits',\r\n unitLabel: 'hits',\r\n longValue: store.getters.getLastValueOfDataset('cache_hits'),\r\n shortValue: formatNumber(store.getters.getLastValueOfDataset('cache_hits'), numberUnits),\r\n }, {\r\n name: 'Total Misses',\r\n unitLabel: 'misses',\r\n longValue: store.getters.getLastValueOfDataset('cache_misses'),\r\n shortValue: formatNumber(store.getters.getLastValueOfDataset('cache_misses'), numberUnits),\r\n }, {\r\n name: 'Total Data Sent',\r\n unitLabel: 'bytes',\r\n longValue: store.getters.getLastValueOfDataset('bytes_sent'),\r\n shortValue: formatNumber(store.getters.getLastValueOfDataset('bytes_sent'), dataUnits),\r\n }, {\r\n name: 'Total Requests Served',\r\n unitLabel: 'requests',\r\n longValue: store.getters.getLastValueOfDataset('requests_served'),\r\n shortValue: formatNumber(store.getters.getLastValueOfDataset('requests_served'), numberUnits),\r\n }, {\r\n name: 'Cache Size',\r\n unitLabel: 'bytes',\r\n longValue: store.getters.getLastValueOfDataset('bytes_on_disk'),\r\n shortValue: formatNumber(store.getters.getLastValueOfDataset('bytes_on_disk'), dataUnits),\r\n }],\r\n serverResponse: [{\r\n name: 'Some Client Setting',\r\n value: 'Whatever that setting was set to'\r\n }, {\r\n name: 'Some Client Setting',\r\n value: 'Whatever that setting was set to'\r\n }, {\r\n name: 'Some Client Setting',\r\n value: 'Whatever that setting was set to'\r\n }, {\r\n name: 'Some Client Setting',\r\n value: 'Whatever that setting was set to'\r\n }, {\r\n name: 'Some Client Setting',\r\n value: 'Whatever that setting was set to'\r\n }, {\r\n name: 'Some Client Setting',\r\n value: 'Whatever that setting was set to'\r\n },],\r\n timeframe: 3600\r\n }\r\n },\r\n methods: {\r\n translate: (a) => translate(a),\r\n // eslint-disable-next-line no-unused-vars\r\n averagePerTime(dataset, mults) {\r\n let total = 0\r\n dataset.forEach((x) => total += parseFloat(x[1]))\r\n // let timespan = (moment(dataset[dataset.length - 1][0]) - moment(dataset[0][0])) / 1000\r\n return float(total / dataset.length * this.timeframe, 2)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>","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!./About.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!./About.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=c35f57c6&scoped=true&\"\nimport script from \"./About.vue?vue&type=script&lang=js&\"\nexport * from \"./About.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 \"c35f57c6\",\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';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VCol,VContainer,VRow,VSelect})\n","import Vue from 'vue'\r\nimport dashboard from \"@/components/Dashboard\";\r\nimport console from \"@/components/Console\";\r\nimport options from \"@/components/Options\";\r\nimport about from \"@/components/About\";\r\nimport VueRouter from \"vue-router\";\r\n\r\nconst routes = [\r\n {path: '/', component: dashboard},\r\n {path: '/cons', component: console},\r\n {path: '/opts', component: options},\r\n {path: '/info', component: about},\r\n]\r\n\r\nVue.use(VueRouter)\r\n\r\nexport default new VueRouter({\r\n routes\r\n})","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready () {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered () {\n console.log('Service worker has been registered.')\n },\n cached () {\n console.log('Content has been cached for offline use.')\n },\n updatefound () {\n console.log('New content is downloading.')\n },\n updated () {\n console.log('New content is available; please refresh.')\n },\n offline () {\n console.log('No internet connection found. App is running in offline mode.')\n },\n error (error) {\n console.error('Error during service worker registration:', error)\n }\n })\n}\n","import Vue from 'vue'\r\nimport App from './App'\r\nimport vuetify from './plugins/vuetify';\r\nimport router from './plugins/vuerouter';\r\nimport store from './store';\r\nimport './plugins/echarts';\r\nimport VueTimers from 'vue-timers'\r\nimport './registerServiceWorker'\r\nimport VModal from 'vue-js-modal'\r\nimport {constructChart, sortData, importData, interpolateData} from \"@/constants\";\r\nimport moment from \"moment\";\r\nimport {OverlayScrollbarsComponent} from 'overlayscrollbars-vue';\r\nimport 'overlayscrollbars/css/OverlayScrollbars.css';\r\nimport VueGridLayout from \"vue-grid-layout\";\r\n\r\nVue.component('overlay-scrollbars', OverlayScrollbarsComponent);\r\nVue.use(VModal, {dynamic: true, dynamicDefaults: {clickToClose: true}})\r\nVue.use(VueGridLayout);\r\nVue.use(VueTimers)\r\n\r\nVue.config.productionTip = false;\r\n\r\nVue.mixin({\r\n methods: {\r\n updateData: function () {\r\n fetch(\"api/stats\").catch(e => {\r\n console.warn('Response Error: ' + e);\r\n return null\r\n })\r\n .then(response => response.json().catch(e => {\r\n console.warn('Response Error: ' + e);\r\n return null\r\n }))\r\n .then(response => {\r\n if (response === null)\r\n return\r\n store.commit('pushStats', response);\r\n store.commit('updateDatasets', response)\r\n localStorage.stats = JSON.stringify(store.getters.data.stats);\r\n }).catch((err) => {\r\n console.log(err);\r\n });\r\n },\r\n }\r\n})\r\n\r\nif (localStorage.refreshRate)\r\n store.commit('setRefresh', parseInt(localStorage.refreshRate))\r\nif (localStorage.stats && store.getters.data.stats.length < 1) {\r\n store.commit('setStats', JSON.parse(localStorage.stats))\r\n let sortNeeded = false;\r\n store.getters.data.stats.forEach((x, idx) => {\r\n if (idx > 0){\r\n if (moment(Object.keys(x)[0]) < moment(Object.keys(store.getters.data.stats[idx - 1])[0])) {\r\n sortNeeded = true\r\n }\r\n }\r\n })\r\n if (sortNeeded)\r\n sortData();\r\n interpolateData(store.getters.data.updateInterval, store.getters.data.updateInterval/5);\r\n store.commit('setDatasets', importData(JSON.stringify(store.getters.data.stats)))\r\n}\r\nfetch(\"api/pastStats\")\r\n .then(response => response.json().catch(e => {\r\n console.warn('Response Error: ' + e);\r\n return null\r\n }))\r\n .then(response => {\r\n if (response === null) return;\r\n Object.keys(response).forEach((k) => {\r\n store.commit('pushStats', JSON.parse('{\"' + k + '\": ' + JSON.stringify(response[k]) + '}'))\r\n });\r\n }).catch((err) => console.log(err));\r\n\r\n\r\nif (localStorage.hasBackground)\r\n store.commit('setOption', ['hasBgImage', localStorage.hasBackground === 'true'])\r\nif (localStorage.showAppBar)\r\n store.commit('setOption', ['showAppBar', localStorage.showAppBar === 'true'])\r\nif (localStorage.theme && localStorage.theme !== 'undefined')\r\n store.commit('setTheme', localStorage.theme);\r\nelse\r\n store.commit('setTheme', 'light');\r\nif (localStorage.exp_customTheme)\r\n store.commit('setCustom', JSON.parse(localStorage.exp_customTheme))\r\nif (localStorage.backgroundAlpha)\r\n store.commit('setAlpha', parseInt(localStorage.backgroundAlpha))\r\nif (localStorage.backgroundURL)\r\n store.commit('setOption', ['bgImage', localStorage.backgroundURL])\r\nif (localStorage.consoleLines)\r\n store.commit('setConsoleData', JSON.parse(localStorage.consoleLines))\r\nif (localStorage.lockGrid)\r\n store.commit('setOption', ['lockGrid', localStorage.lockGrid === 'true'])\r\nif (localStorage.exp_connectGraphs)\r\n store.commit('setOption', ['exp_connectGraphs', localStorage.exp_connectGraphs === 'true'])\r\nif (localStorage.exp_showAbout)\r\n store.commit('setOption', ['exp_showAbout', localStorage.exp_showAbout === 'true'])\r\nif (localStorage.exp_showConsole)\r\n store.commit('setOption', ['exp_showConsole', localStorage.exp_showConsole === 'true'])\r\nif (localStorage.exp_consoleGrid)\r\n store.commit('setOption', ['exp_consoleGrid', localStorage.exp_consoleGrid === 'true'])\r\nif (localStorage.exp_showClientSettings)\r\n store.commit('setOption', ['exp_showClientSettings', localStorage.exp_showClientSettings === 'true'])\r\nif (localStorage.superSecret)\r\n store.commit('setOption', ['superSecret', localStorage.superSecret === 'true'])\r\nif (localStorage.dashboardLayout) {\r\n try {\r\n store.commit('setLayout', JSON.parse(localStorage.dashboardLayout));\r\n store.commit('setChart', JSON.parse(localStorage.dashboardCharts).map((x) => constructChart(x)))\r\n } catch (e) {\r\n store.commit('resetLayout');\r\n console.warn('There was an error reading the saved layout:')\r\n console.warn(e)\r\n console.warn('Using default layout')\r\n }\r\n} else\r\n store.commit('resetLayout');\r\nnew Vue({\r\n render: h => h(App),\r\n router,\r\n store,\r\n vuetify,\r\n}).$mount('#app')\r\n","import store from \"@/store\";\r\nimport moment from \"moment\";\r\n\r\nconst dictionary = {\r\n //data id\r\n requests_served: 'Requests Served',\r\n requests_served_c: 'Change in Requests Served',\r\n cache_hits: 'Hits',\r\n cache_hits_c: 'Change in Hits',\r\n cache_misses: 'Misses',\r\n cache_misses_c: 'Change in Misses',\r\n browser_cached: 'Browser Cached',\r\n browser_cached_c: 'Change in Browser Cached',\r\n bytes_sent: 'Bytes Sent',\r\n bytes_sent_c: 'Change in Bytes Sent',\r\n bytes_on_disk: 'Cache Size',\r\n bytes_on_disk_c: 'Change in Cache Size',\r\n //color id\r\n // background: store.getters.current.backgroundColor,\r\n // text: store.getters.current.textColor,\r\n // primary: store.getters.current.primary,\r\n // secondary: store.getters.current.secondary,\r\n // accent: store.getters.current.accent,\r\n // accent1: store.getters.current.accent1,\r\n // accent2: store.getters.current.accent2,\r\n // red: store.getters.current.red,\r\n // yellow: store.getters.current.yellow,\r\n // green: store.getters.current.green,\r\n}\r\nexport const dataUnits = ['YB', 'ZB', 'EB', 'PB', 'TB', 'GB', 'MB', 'KB', 'B']\r\nexport const numberUnits = ['d', 'n', 'o', 'S', 's', 'Q', 'q', 't', 'B', 'M', 'K', '']\r\nexport const biscuitUnits = ['YottaBiscuits', 'ZettaBiscuits', 'ExaBiscuits', 'PetaBiscuits', 'TeraBiscuits', 'GigaBiscuits', 'MegaBiscuits', 'KiloBiscuits', 'Biscuits']\r\nexport const formatNumber = (value, units, flot) => {\r\n let num = Math.abs(parseFloat(value));\r\n let sign = parseFloat(value) > 0 ? 1 : -1\r\n for (let i = 0; i < units.length; i++) {\r\n let div = Math.pow(10, (units.length - i - 1) * 3);\r\n if (num >= div)\r\n return float(num / div * sign, flot) + ' ' + units[i]\r\n }\r\n return float(num * sign, flot)\r\n}\r\nexport const units = [[], dataUnits, numberUnits, biscuitUnits]\r\n\r\nfunction translateColor(input) {\r\n switch (input) {\r\n case 'background':\r\n return store.getters.current.backgroundColor\r\n case 'text':\r\n return store.getters.current.textColor\r\n case 'primary':\r\n return store.getters.current.primary\r\n case 'secondary':\r\n return store.getters.current.secondary\r\n case 'active':\r\n return store.getters.current.active\r\n case 'accent':\r\n return store.getters.current.accent\r\n case 'accent1':\r\n return store.getters.current.accent1\r\n case 'accent2':\r\n return store.getters.current.accent2\r\n case 'red':\r\n return store.getters.current.red\r\n case 'green':\r\n return store.getters.current.green\r\n case 'yellow':\r\n return store.getters.current.yellow\r\n default:\r\n\r\n }\r\n}\r\n\r\nexport const translate = (input, reverse) => {\r\n let translation;\r\n if (reverse) {\r\n Object.keys(dictionary).forEach((x) => {\r\n if (dictionary[x] === input)\r\n translation = x\r\n })\r\n return translation ? translation : input\r\n } else {\r\n translation = dictionary[input]\r\n return translation ? translation : input\r\n }\r\n}\r\n\r\nexport const getLightness = (H) => {\r\n let r = \"0x\" + H[1] + H[2];\r\n let g = \"0x\" + H[3] + H[4];\r\n let b = \"0x\" + H[5] + H[6];\r\n r /= 255;\r\n g /= 255;\r\n b /= 255;\r\n let l = (Math.max(r, g, b) + Math.min(r, g, b)) / 2;\r\n l = +(l * 100).toFixed(1);\r\n return l;\r\n}\r\n\r\nexport const constructChart = (storedConfig) => {\r\n let temp = JSON.parse(JSON.stringify(storedConfig));\r\n if (storedConfig.type === 'graph') {\r\n temp.title.textStyle = {\r\n color: store.getters.current.textColor\r\n }\r\n temp.backgroundColor = store.getters.current.secondary\r\n temp.title.top = 4\r\n temp.toolbox = {\r\n orient: 'horizontal',\r\n top: 2,\r\n right: 0,\r\n iconStyle: {\r\n color: store.getters.current.accent2,\r\n borderColor: '#00000000'\r\n },\r\n emphasis: {\r\n iconStyle: {\r\n textPosition: 'left',\r\n color: store.getters.current.textColor,\r\n textBackgroundColor: store.getters.current.secondary,\r\n borderColor: '#00000000'\r\n }\r\n },\r\n feature: {\r\n dataZoom: {\r\n show: true,\r\n yAxisIndex: 'none',\r\n icon: {\r\n zoom: 'M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z',\r\n back: 'M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z'\r\n },\r\n title: {\r\n zoom: 'Zoom',\r\n back: \"Undo\"\r\n }\r\n },\r\n restore: {\r\n title: 'Restore',\r\n icon: 'M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z',\r\n },\r\n saveAsImage: {\r\n show: true,\r\n title: 'Save',\r\n icon: 'M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z'\r\n },\r\n }\r\n }\r\n let offadd = 0\r\n temp.yAxis.forEach((x) => {\r\n offadd += x.offset ? x.offset : 0\r\n })\r\n temp.grid = {\r\n right: 30 + offadd,\r\n left: 30,\r\n bottom: store.getters.options.exp_showSlider ? 40 : 10,\r\n top: 60,\r\n containLabel: true,\r\n };\r\n temp.legend.inactiveColor = store.getters.current.accent2;\r\n temp.legend.textStyle = {color: store.getters.current.textColor};\r\n temp.xAxis = {\r\n type: 'time',\r\n axisLine: {\r\n lineStyle: {\r\n color: store.getters.current.textColor\r\n }\r\n },\r\n splitLine: {\r\n lineStyle: {\r\n color: store.getters.current.accent1\r\n }\r\n },\r\n axisLabel: {\r\n formatter: (value) => moment(value).format('MMM D|h:mma').replace('|', '\\n'),\r\n splitNumber: 10,\r\n showMaxLabel: true,\r\n showMinLabel: true,\r\n },\r\n // value: store.getters.data.date\r\n }\r\n temp.yAxis.forEach((x) => {\r\n x.axisLine = {\r\n lineStyle: {\r\n color: store.getters.current.textColor\r\n }\r\n };\r\n x.axisLabel.formatter = (val) => formatNumber(val, units[x.axisLabel.unit], 2)\r\n })\r\n temp.tooltip = {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'cross',\r\n label: {\r\n color: store.getters.current.secondary,\r\n }\r\n },\r\n textStyle: {\r\n color: store.getters.current.secondary,\r\n },\r\n backgroundColor: store.getters.current.textColor + 'f0'\r\n };\r\n temp.tooltip.axisPointer.label.formatter = (point) => {\r\n if (point.axisDimension === 'x' && point.seriesData[0] && point.seriesData[0].data) {\r\n return moment(point.seriesData[0].data[0]).format('MMM D, h:mm:ssa')\r\n }\r\n return formatNumber(point.value, units[temp.yAxis[point.axisIndex].axisLabel.unit], 4)\r\n }\r\n temp.series.forEach((x) => {\r\n if (x.dataId)\r\n x.data = store.getters.getDataset(translate(x.dataId, true))\r\n x.areaStyle = {opacity: 0.05}\r\n if (x.itemStyle.colorId)\r\n x.itemStyle.color = translateColor(x.itemStyle.colorId)\r\n })\r\n temp.dataZoom = [{\r\n type: 'inside',\r\n }, {\r\n show: store.getters.options.exp_showSlider,\r\n type: 'slider',\r\n handleSize: '100%',\r\n fillerColor: store.getters.current.accent1,\r\n handleStyle: {\r\n color: store.getters.current.textColor,\r\n },\r\n dataBackground: {\r\n lineStyle: {\r\n color: store.getters.current.textColor\r\n },\r\n areaStyle: {\r\n color: store.getters.current.accent\r\n }\r\n },\r\n textStyle: {\r\n color: store.getters.current.textColor\r\n },\r\n }];\r\n store.watch((state) => state.options.exp_showSlider, () => {\r\n temp.dataZoom[1].show = store.getters.options.exp_showSlider\r\n temp.grid.bottom = store.getters.options.exp_showSlider ? 40 : 10\r\n })\r\n store.watch((state) => state.options.current, (theme) => {\r\n temp.dataZoom[1].fillerColor = store.getters.themes[theme].accent1\r\n temp.dataZoom[1].textStyle.color = store.getters.themes[theme].textColor\r\n temp.dataZoom[1].dataBackground.areaStyle.color = store.getters.themes[theme].accent\r\n temp.dataZoom[1].dataBackground.lineStyle.color = store.getters.themes[theme].textColor\r\n temp.dataZoom[1].handleStyle.color = store.getters.themes[theme].textColor\r\n temp.series.forEach((x) => {\r\n if (x.itemStyle.colorId)\r\n x.itemStyle.color = translateColor(x.itemStyle.colorId)\r\n })\r\n temp.yAxis.forEach((x) => {\r\n x.axisLine.lineStyle.color = store.getters.themes[theme].textColor;\r\n })\r\n temp.xAxis.splitLine.lineStyle.color = store.getters.themes[theme].accent1\r\n temp.xAxis.axisLine.lineStyle.color = store.getters.themes[theme].textColor\r\n temp.tooltip.axisPointer.label.color = store.getters.themes[theme].secondary\r\n temp.tooltip.textStyle.color = store.getters.themes[theme].secondary\r\n temp.tooltip.backgroundColor = store.getters.themes[theme].textColor + 'f0'\r\n temp.legend.inactiveColor = store.getters.themes[theme].accent2;\r\n temp.legend.textStyle.color = store.getters.themes[theme].textColor;\r\n temp.toolbox.iconStyle.color = store.getters.themes[theme].accent2;\r\n temp.toolbox.emphasis.iconStyle.color = store.getters.themes[theme].textColor;\r\n temp.toolbox.emphasis.iconStyle.textBackgroundColor = store.getters.themes[theme].secondary;\r\n temp.title.textStyle.color = store.getters.themes[theme].textColor\r\n temp.backgroundColor = store.getters.themes[theme].secondary\r\n })\r\n return temp\r\n } else if (storedConfig.type === 'pie') {\r\n temp.title.textStyle = {\r\n color: store.getters.current.textColor\r\n }\r\n temp.backgroundColor = store.getters.current.secondary\r\n temp.toolbox = {\r\n orient: 'vertical',\r\n top: 2,\r\n right: 0,\r\n iconStyle: {\r\n color: store.getters.current.accent2,\r\n borderColor: '#00000000'\r\n },\r\n emphasis: {\r\n iconStyle: {\r\n textPosition: 'left',\r\n color: store.getters.current.textColor,\r\n textBackgroundColor: store.getters.current.secondary,\r\n borderColor: '#00000000'\r\n }\r\n },\r\n feature: {\r\n saveAsImage: {\r\n show: true,\r\n title: 'Save',\r\n icon: 'M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z'\r\n }\r\n }\r\n }\r\n temp.title.top = 4\r\n temp.legend.inactiveColor = store.getters.current.accent2;\r\n temp.legend.textStyle = {color: store.getters.current.textColor};\r\n temp.tooltip = {\r\n trigger: 'item',\r\n formatter: ' {b}<br/>{c} ({d}%)',\r\n textStyle: {\r\n color: store.getters.current.secondary,\r\n },\r\n backgroundColor: store.getters.current.textColor + 'f0'\r\n }\r\n temp.series[0].data.forEach((x) => {\r\n if (x.dataId)\r\n x.value = store.getters.getLastValueOfDataset(translate(x.dataId, true))\r\n if (x.itemStyle.colorId)\r\n x.itemStyle.color = translateColor(x.itemStyle.colorId)\r\n })\r\n store.watch((state) => state.options.current, (theme) => {\r\n temp.series[0].data.forEach((x) => {\r\n if (x.itemStyle.colorId)\r\n x.itemStyle.color = translateColor(x.itemStyle.colorId)\r\n })\r\n temp.tooltip.textStyle.color = store.getters.themes[theme].secondary\r\n temp.tooltip.backgroundColor = store.getters.themes[theme].textColor + 'f0'\r\n temp.legend.inactiveColor = store.getters.themes[theme].accent2;\r\n temp.legend.textStyle.color = store.getters.themes[theme].textColor;\r\n temp.toolbox.iconStyle.color = store.getters.themes[theme].accent2;\r\n temp.toolbox.emphasis.iconStyle.color = store.getters.themes[theme].textColor;\r\n temp.toolbox.emphasis.iconStyle.textBackgroundColor = store.getters.themes[theme].secondary;\r\n temp.title.textStyle.color = store.getters.themes[theme].textColor\r\n temp.backgroundColor = store.getters.themes[theme].secondary\r\n })\r\n return temp\r\n }\r\n return {}\r\n}\r\n\r\nexport const deconstructChart = (config, type) => {\r\n if (type === 'graph') {\r\n let exp = {\r\n type: type,\r\n title: {\r\n left: 'center',\r\n text: config.title.text\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'cross',\r\n label: {\r\n formatter: 'number'\r\n },\r\n }\r\n },\r\n legend: {\r\n left: config.legend.left,\r\n show: config.legend.show,\r\n top: config.legend.top,\r\n data: config.legend.data,\r\n },\r\n yAxis: config.yAxis.map((x) => {\r\n return {\r\n type: 'value',\r\n name: x.name,\r\n scale: true,\r\n offset: x.offset ? x.offset : 0,\r\n axisLabel: {\r\n unit: x.axisLabel.unit\r\n },\r\n splitLine: {\r\n show: false\r\n }\r\n }\r\n }),\r\n series: config.series.map((x) => {\r\n return {\r\n name: x.name,\r\n type: x.type,\r\n data: null,\r\n dataId: x.dataId,\r\n yAxisIndex: x.yAxisIndex,\r\n showSymbol: false,\r\n itemStyle: {\r\n color: x.itemStyle.color,\r\n colorId: x.colorId,\r\n }\r\n }\r\n })\r\n }\r\n return exp\r\n } else if (type === 'pie') {\r\n let exp = {\r\n type: type,\r\n title: {\r\n left: 'center',\r\n text: config.title.text\r\n },\r\n legend: {\r\n orient: 'vertical',\r\n left: config.legend.left,\r\n show: config.legend.show,\r\n top: config.legend.top,\r\n data: config.legend.data,\r\n },\r\n series: [{\r\n type: 'pie',\r\n avoidLabelOverlap: true,\r\n label: {\r\n show: false,\r\n },\r\n labelLine: {\r\n show: false\r\n },\r\n data: config.series[0].data.map((x) => {\r\n return {\r\n name: x.name,\r\n value: 0,\r\n dataId: x.dataId,\r\n itemStyle: {color: x.itemStyle.color}\r\n }\r\n })\r\n }]\r\n }\r\n return exp\r\n }\r\n}\r\n\r\n//jsonString should be an array of objects\r\nexport const importData = (jsonString) => {\r\n let imported = JSON.parse(jsonString)\r\n // Object.keys(imported[0])[0] returns the date key at the beginning of each object\r\n // keys is the data keys of the first object\r\n let keys = Object.keys(imported[0][Object.keys(imported[0])[0]])\r\n let data = {}\r\n // initiate data with the the keys from the first stat object\r\n keys.forEach((x) => {\r\n data[x] = []\r\n data[x + '_c'] = []\r\n });\r\n imported.forEach((stat, index) => {\r\n // dataset keys\r\n let previousTimestamp = index > 0 ? Object.keys(imported[index - 1])[0] : null\r\n let previousStat = index > 0 ? imported[index - 1] : null\r\n let timestamp = Object.keys(stat)[0]\r\n let statKeys = Object.keys(stat[timestamp])\r\n let timeDate = new Date(moment(timestamp) + 0)\r\n\r\n statKeys.forEach((x) => {\r\n data[x].push([timeDate, stat[timestamp][x]])\r\n if (previousTimestamp != null) // calculation of change / second\r\n data[x + '_c'].push([timeDate, float((stat[timestamp][x] - previousStat[previousTimestamp][x]) / (moment(timestamp) - moment(previousTimestamp)) * 1000, 4)])\r\n else\r\n data[x + '_c'].push([timeDate, 0])\r\n })\r\n })\r\n return data\r\n}\r\n\r\nexport const sortData = () => {\r\n let stats = store.getters.data.stats;\r\n store.commit('setStats', quickSort(stats));\r\n // store.getters.data.stats.forEach((x) => console.log(Object.keys(x)[0]))\r\n localStorage.stats = JSON.stringify(store.getters.data.stats);\r\n\r\n function quickSort(origArray) {\r\n if (origArray.length <= 1) {\r\n return origArray;\r\n } else {\r\n let left = [];\r\n let right = [];\r\n let pivot = origArray.pop();\r\n let length = origArray.length;\r\n for (let i = 0; i < length; i++) {\r\n if (moment(Object.keys(origArray[i])[0]) <= moment(Object.keys(pivot)[0])) {\r\n left.push(origArray[i]);\r\n } else {\r\n right.push(origArray[i]);\r\n }\r\n }\r\n return [].concat(quickSort(left), pivot, quickSort(right));\r\n }\r\n }\r\n\r\n // if (stats.length >= 1)\r\n // for (let i = 1; i < stats.length; i++) {\r\n // if (Object.keys(stats[i])[0] === Object.keys(stats[i - 1])[0]) {\r\n // store.commit('spliceStats', [i, 1]);\r\n // i--\r\n // }\r\n // }\r\n}\r\n\r\nexport const interpolateData = (thresholdMS, tolerance) => {\r\n let stats = store.getters.data.stats.map(x => x);\r\n for (let index = 0; index < stats.length; index++) {\r\n let currStat = stats[index]\r\n let nextStat = index < stats.length - 1 ? stats[index + 1] : null;\r\n let currTS = Object.keys(currStat)[0]\r\n let nextTS = nextStat ? Object.keys(nextStat)[0] : null\r\n let fill = {}\r\n if (nextStat)\r\n if (moment(nextTS) - moment(currTS) - thresholdMS > tolerance) {\r\n let datasets = Object.keys(currStat[currTS])\r\n datasets.forEach((x) => {\r\n let numPoints = ((moment(nextTS) - moment(currTS)) / thresholdMS)\r\n if (moment(nextTS) - moment(currTS) - thresholdMS > store.getters.data.updateInterval * store.getters.data.maxStorePoints) {\r\n fill[x] = parseInt((currStat[currTS][x] + (nextStat[nextTS][x] - currStat[currTS][x]) / numPoints * ((moment(nextTS).subtract(store.getters.data.updateInterval * store.getters.data.maxStorePoints, 'ms') - moment(currTS)) / thresholdMS)))\r\n } else\r\n fill[x] = parseInt((currStat[currTS][x] + (nextStat[nextTS][x] - currStat[currTS][x]) / numPoints))\r\n })\r\n if (moment(nextTS) - moment(currTS) - thresholdMS > store.getters.data.updateInterval * store.getters.data.maxStorePoints)\r\n stats.splice(index + 1, 0, JSON.parse('{\"' + new Date(moment(nextTS).subtract(store.getters.data.updateInterval * store.getters.data.maxStorePoints, 'ms') + 0).toISOString() + '\": ' +\r\n JSON.stringify(fill) + ',\"interpolated\" : \"true\"}'))\r\n else\r\n stats.splice(index + 1, 0, JSON.parse('{\"' + new Date(moment(currTS).add(thresholdMS, 'ms') + 0).toISOString() + '\": ' +\r\n JSON.stringify(fill) + ',\"interpolated\" : \"true\"}'))\r\n }\r\n }\r\n if (stats.length > store.getters.data.maxStorePoints) {\r\n stats.splice(0, stats.length - store.getters.data.maxStorePoints)\r\n }\r\n store.commit('setStats', stats)\r\n localStorage.stats = JSON.stringify(store.getters.data.stats);\r\n}\r\n\r\nexport const float = (number, x) => {\r\n return number.toFixed(x ? x : 2).replace(/\\.?0*$/, '')\r\n}\r\n\r\n//purely internal testing data\r\n\r\nexport const testData = {\r\n \"2020-07-05T23:15:36.652Z\": {\r\n \"requests_served\": 4182126,\r\n \"cache_hits\": 3621024,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414940443344,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:15:51.908Z\": {\r\n \"requests_served\": 4182154,\r\n \"cache_hits\": 3621052,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414957657619,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:16:06.908Z\": {\r\n \"requests_served\": 4182155,\r\n \"cache_hits\": 3621053,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414958170243,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:16:21.909Z\": {\r\n \"requests_served\": 4182157,\r\n \"cache_hits\": 3621055,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414959158619,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:16:36.908Z\": {\r\n \"requests_served\": 4182165,\r\n \"cache_hits\": 3621063,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414962106228,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:16:51.908Z\": {\r\n \"requests_served\": 4182175,\r\n \"cache_hits\": 3621073,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414965491153,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:17:06.908Z\": {\r\n \"requests_served\": 4182184,\r\n \"cache_hits\": 3621082,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414967313062,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:17:21.908Z\": {\r\n \"requests_served\": 4182186,\r\n \"cache_hits\": 3621084,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414967987544,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:17:36.908Z\": {\r\n \"requests_served\": 4182191,\r\n \"cache_hits\": 3621089,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414970517036,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:17:51.908Z\": {\r\n \"requests_served\": 4182193,\r\n \"cache_hits\": 3621091,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414971232372,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:18:06.908Z\": {\r\n \"requests_served\": 4182194,\r\n \"cache_hits\": 3621092,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414971579754,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:18:21.908Z\": {\r\n \"requests_served\": 4182196,\r\n \"cache_hits\": 3621094,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414972276725,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:18:36.908Z\": {\r\n \"requests_served\": 4182196,\r\n \"cache_hits\": 3621094,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414972276725,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:18:51.908Z\": {\r\n \"requests_served\": 4182196,\r\n \"cache_hits\": 3621094,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414972276725,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:19:06.908Z\": {\r\n \"requests_served\": 4182196,\r\n \"cache_hits\": 3621094,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414972276725,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:19:21.908Z\": {\r\n \"requests_served\": 4182200,\r\n \"cache_hits\": 3621098,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414972730407,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:19:36.908Z\": {\r\n \"requests_served\": 4182200,\r\n \"cache_hits\": 3621098,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414972730407,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:19:51.908Z\": {\r\n \"requests_served\": 4182200,\r\n \"cache_hits\": 3621098,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414972730407,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:20:06.908Z\": {\r\n \"requests_served\": 4182200,\r\n \"cache_hits\": 3621098,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414972730407,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:20:21.908Z\": {\r\n \"requests_served\": 4182200,\r\n \"cache_hits\": 3621098,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414972730407,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:20:36.908Z\": {\r\n \"requests_served\": 4182217,\r\n \"cache_hits\": 3621115,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414977047140,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:20:51.908Z\": {\r\n \"requests_served\": 4182235,\r\n \"cache_hits\": 3621133,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414981738726,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:21:06.908Z\": {\r\n \"requests_served\": 4182239,\r\n \"cache_hits\": 3621137,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414982184961,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:21:21.908Z\": {\r\n \"requests_served\": 4182269,\r\n \"cache_hits\": 3621167,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414985884976,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:21:36.908Z\": {\r\n \"requests_served\": 4182269,\r\n \"cache_hits\": 3621167,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414985884976,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:21:51.908Z\": {\r\n \"requests_served\": 4182269,\r\n \"cache_hits\": 3621167,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414985884976,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:22:06.908Z\": {\r\n \"requests_served\": 4182269,\r\n \"cache_hits\": 3621167,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414985884976,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:22:21.908Z\": {\r\n \"requests_served\": 4182269,\r\n \"cache_hits\": 3621167,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414985884976,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:22:36.908Z\": {\r\n \"requests_served\": 4182269,\r\n \"cache_hits\": 3621167,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414985884976,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:22:51.908Z\": {\r\n \"requests_served\": 4182277,\r\n \"cache_hits\": 3621175,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2414996717694,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:23:06.908Z\": {\r\n \"requests_served\": 4182308,\r\n \"cache_hits\": 3621206,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415010868241,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:23:21.912Z\": {\r\n \"requests_served\": 4182361,\r\n \"cache_hits\": 3621257,\r\n \"cache_misses\": 558277,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415016648908,\r\n \"bytes_on_disk\": 158510430969\r\n },\r\n \"2020-07-05T23:23:36.908Z\": {\r\n \"requests_served\": 4182402,\r\n \"cache_hits\": 3621298,\r\n \"cache_misses\": 558279,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415034698166,\r\n \"bytes_on_disk\": 158511388972\r\n },\r\n \"2020-07-05T23:23:51.908Z\": {\r\n \"requests_served\": 4182454,\r\n \"cache_hits\": 3621340,\r\n \"cache_misses\": 558289,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415069326087,\r\n \"bytes_on_disk\": 158515039661\r\n },\r\n \"2020-07-05T23:24:06.910Z\": {\r\n \"requests_served\": 4182474,\r\n \"cache_hits\": 3621348,\r\n \"cache_misses\": 558300,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415078489863,\r\n \"bytes_on_disk\": 158518810100\r\n },\r\n \"2020-07-05T23:24:21.908Z\": {\r\n \"requests_served\": 4182492,\r\n \"cache_hits\": 3621359,\r\n \"cache_misses\": 558308,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415086859333,\r\n \"bytes_on_disk\": 158522870354\r\n },\r\n \"2020-07-05T23:24:36.992Z\": {\r\n \"requests_served\": 4182521,\r\n \"cache_hits\": 3621380,\r\n \"cache_misses\": 558316,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415094418185,\r\n \"bytes_on_disk\": 158526296451\r\n },\r\n \"2020-07-05T23:24:51.908Z\": {\r\n \"requests_served\": 4182572,\r\n \"cache_hits\": 3621430,\r\n \"cache_misses\": 558317,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415117773921,\r\n \"bytes_on_disk\": 158527185248\r\n },\r\n \"2020-07-05T23:25:06.908Z\": {\r\n \"requests_served\": 4182606,\r\n \"cache_hits\": 3621464,\r\n \"cache_misses\": 558317,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415128076329,\r\n \"bytes_on_disk\": 158527185248\r\n },\r\n \"2020-07-05T23:25:21.954Z\": {\r\n \"requests_served\": 4182618,\r\n \"cache_hits\": 3621475,\r\n \"cache_misses\": 558317,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415142223019,\r\n \"bytes_on_disk\": 158527185248\r\n },\r\n \"2020-07-05T23:25:36.908Z\": {\r\n \"requests_served\": 4182622,\r\n \"cache_hits\": 3621480,\r\n \"cache_misses\": 558317,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415149626398,\r\n \"bytes_on_disk\": 158527185248\r\n },\r\n \"2020-07-05T23:25:51.908Z\": {\r\n \"requests_served\": 4182623,\r\n \"cache_hits\": 3621481,\r\n \"cache_misses\": 558317,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415151439420,\r\n \"bytes_on_disk\": 158527185248\r\n },\r\n \"2020-07-05T23:26:06.908Z\": {\r\n \"requests_served\": 4182637,\r\n \"cache_hits\": 3621494,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415164959109,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:26:21.908Z\": {\r\n \"requests_served\": 4182655,\r\n \"cache_hits\": 3621512,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415181841255,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:26:36.908Z\": {\r\n \"requests_served\": 4182655,\r\n \"cache_hits\": 3621512,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415181841255,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:26:51.908Z\": {\r\n \"requests_served\": 4182695,\r\n \"cache_hits\": 3621552,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415212904966,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:27:06.908Z\": {\r\n \"requests_served\": 4182739,\r\n \"cache_hits\": 3621596,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415227199577,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:27:22.056Z\": {\r\n \"requests_served\": 4182785,\r\n \"cache_hits\": 3621641,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415245463937,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:27:36.908Z\": {\r\n \"requests_served\": 4182819,\r\n \"cache_hits\": 3621676,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415272096301,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:27:51.908Z\": {\r\n \"requests_served\": 4182828,\r\n \"cache_hits\": 3621685,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415275845763,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:28:06.921Z\": {\r\n \"requests_served\": 4182853,\r\n \"cache_hits\": 3621709,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415281416384,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:28:21.908Z\": {\r\n \"requests_served\": 4182888,\r\n \"cache_hits\": 3621745,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415296896896,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:28:36.908Z\": {\r\n \"requests_served\": 4182918,\r\n \"cache_hits\": 3621775,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415316746465,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:28:51.908Z\": {\r\n \"requests_served\": 4182960,\r\n \"cache_hits\": 3621817,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415339919164,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:29:06.908Z\": {\r\n \"requests_served\": 4182993,\r\n \"cache_hits\": 3621850,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415347547101,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:29:21.920Z\": {\r\n \"requests_served\": 4183029,\r\n \"cache_hits\": 3621885,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415360360193,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:29:36.913Z\": {\r\n \"requests_served\": 4183077,\r\n \"cache_hits\": 3621933,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415391815604,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:29:51.908Z\": {\r\n \"requests_served\": 4183083,\r\n \"cache_hits\": 3621940,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415396640084,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:30:06.908Z\": {\r\n \"requests_served\": 4183098,\r\n \"cache_hits\": 3621955,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415400990759,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:30:21.908Z\": {\r\n \"requests_served\": 4183119,\r\n \"cache_hits\": 3621976,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415410268251,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:30:36.908Z\": {\r\n \"requests_served\": 4183139,\r\n \"cache_hits\": 3621996,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415419787712,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:30:51.908Z\": {\r\n \"requests_served\": 4183158,\r\n \"cache_hits\": 3622015,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415422728656,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:31:06.908Z\": {\r\n \"requests_served\": 4183185,\r\n \"cache_hits\": 3622042,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415441911527,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:31:21.908Z\": {\r\n \"requests_served\": 4183202,\r\n \"cache_hits\": 3622059,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415480285152,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:31:36.908Z\": {\r\n \"requests_served\": 4183224,\r\n \"cache_hits\": 3622081,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415517661467,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:31:51.908Z\": {\r\n \"requests_served\": 4183235,\r\n \"cache_hits\": 3622092,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415527471161,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:32:06.908Z\": {\r\n \"requests_served\": 4183264,\r\n \"cache_hits\": 3622121,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415572969299,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:32:21.908Z\": {\r\n \"requests_served\": 4183297,\r\n \"cache_hits\": 3622154,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415604344246,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:32:37.032Z\": {\r\n \"requests_served\": 4183342,\r\n \"cache_hits\": 3622198,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415647825598,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:32:51.908Z\": {\r\n \"requests_served\": 4183371,\r\n \"cache_hits\": 3622228,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415699076776,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:33:06.908Z\": {\r\n \"requests_served\": 4183422,\r\n \"cache_hits\": 3622279,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415739574066,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:33:21.908Z\": {\r\n \"requests_served\": 4183493,\r\n \"cache_hits\": 3622350,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415774766876,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:33:36.908Z\": {\r\n \"requests_served\": 4183526,\r\n \"cache_hits\": 3622383,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415803170733,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:33:51.908Z\": {\r\n \"requests_served\": 4183563,\r\n \"cache_hits\": 3622420,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415862198034,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:34:06.908Z\": {\r\n \"requests_served\": 4183605,\r\n \"cache_hits\": 3622462,\r\n \"cache_misses\": 558318,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415903639229,\r\n \"bytes_on_disk\": 158527600351\r\n },\r\n \"2020-07-05T23:34:21.911Z\": {\r\n \"requests_served\": 4183648,\r\n \"cache_hits\": 3622487,\r\n \"cache_misses\": 558335,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415917137377,\r\n \"bytes_on_disk\": 158529861203\r\n },\r\n \"2020-07-05T23:34:36.908Z\": {\r\n \"requests_served\": 4183693,\r\n \"cache_hits\": 3622516,\r\n \"cache_misses\": 558352,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415936732848,\r\n \"bytes_on_disk\": 158532078153\r\n },\r\n \"2020-07-05T23:34:51.908Z\": {\r\n \"requests_served\": 4183693,\r\n \"cache_hits\": 3622516,\r\n \"cache_misses\": 558352,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415936732848,\r\n \"bytes_on_disk\": 158532078153\r\n },\r\n \"2020-07-05T23:35:06.908Z\": {\r\n \"requests_served\": 4183711,\r\n \"cache_hits\": 3622534,\r\n \"cache_misses\": 558352,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415959194546,\r\n \"bytes_on_disk\": 158532078153\r\n },\r\n \"2020-07-05T23:35:21.908Z\": {\r\n \"requests_served\": 4183754,\r\n \"cache_hits\": 3622577,\r\n \"cache_misses\": 558352,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2415992427636,\r\n \"bytes_on_disk\": 158532078153\r\n },\r\n \"2020-07-05T23:35:36.908Z\": {\r\n \"requests_served\": 4183794,\r\n \"cache_hits\": 3622617,\r\n \"cache_misses\": 558352,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416003613164,\r\n \"bytes_on_disk\": 158532078153\r\n },\r\n \"2020-07-05T23:35:51.908Z\": {\r\n \"requests_served\": 4183835,\r\n \"cache_hits\": 3622658,\r\n \"cache_misses\": 558352,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416031646174,\r\n \"bytes_on_disk\": 158532078153\r\n },\r\n \"2020-07-05T23:36:06.908Z\": {\r\n \"requests_served\": 4183887,\r\n \"cache_hits\": 3622696,\r\n \"cache_misses\": 558366,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416054065069,\r\n \"bytes_on_disk\": 158533834912\r\n },\r\n \"2020-07-05T23:36:21.908Z\": {\r\n \"requests_served\": 4183908,\r\n \"cache_hits\": 3622716,\r\n \"cache_misses\": 558367,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416058314895,\r\n \"bytes_on_disk\": 158534162622\r\n },\r\n \"2020-07-05T23:36:36.908Z\": {\r\n \"requests_served\": 4183924,\r\n \"cache_hits\": 3622732,\r\n \"cache_misses\": 558367,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416078459200,\r\n \"bytes_on_disk\": 158534162622\r\n },\r\n \"2020-07-05T23:36:51.908Z\": {\r\n \"requests_served\": 4183941,\r\n \"cache_hits\": 3622749,\r\n \"cache_misses\": 558367,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416099012697,\r\n \"bytes_on_disk\": 158534162622\r\n },\r\n \"2020-07-05T23:37:07.315Z\": {\r\n \"requests_served\": 4183978,\r\n \"cache_hits\": 3622786,\r\n \"cache_misses\": 558367,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416150121728,\r\n \"bytes_on_disk\": 158534162622\r\n },\r\n \"2020-07-05T23:37:21.908Z\": {\r\n \"requests_served\": 4184032,\r\n \"cache_hits\": 3622837,\r\n \"cache_misses\": 558369,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416175500948,\r\n \"bytes_on_disk\": 158534663997\r\n },\r\n \"2020-07-05T23:37:36.920Z\": {\r\n \"requests_served\": 4184068,\r\n \"cache_hits\": 3622868,\r\n \"cache_misses\": 558374,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416182572404,\r\n \"bytes_on_disk\": 158536628548\r\n },\r\n \"2020-07-05T23:37:51.908Z\": {\r\n \"requests_served\": 4184108,\r\n \"cache_hits\": 3622902,\r\n \"cache_misses\": 558381,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416191338108,\r\n \"bytes_on_disk\": 158539316633\r\n },\r\n \"2020-07-05T23:38:06.908Z\": {\r\n \"requests_served\": 4184122,\r\n \"cache_hits\": 3622916,\r\n \"cache_misses\": 558381,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416208621290,\r\n \"bytes_on_disk\": 158539316633\r\n },\r\n \"2020-07-05T23:38:21.908Z\": {\r\n \"requests_served\": 4184138,\r\n \"cache_hits\": 3622932,\r\n \"cache_misses\": 558381,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416216406040,\r\n \"bytes_on_disk\": 158539316633\r\n },\r\n \"2020-07-05T23:38:36.908Z\": {\r\n \"requests_served\": 4184184,\r\n \"cache_hits\": 3622964,\r\n \"cache_misses\": 558395,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416227180660,\r\n \"bytes_on_disk\": 158546581527\r\n },\r\n \"2020-07-05T23:38:51.938Z\": {\r\n \"requests_served\": 4184211,\r\n \"cache_hits\": 3622986,\r\n \"cache_misses\": 558399,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416236309980,\r\n \"bytes_on_disk\": 158547933440\r\n },\r\n \"2020-07-05T23:39:06.908Z\": {\r\n \"requests_served\": 4184232,\r\n \"cache_hits\": 3623008,\r\n \"cache_misses\": 558399,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416241142066,\r\n \"bytes_on_disk\": 158547933440\r\n },\r\n \"2020-07-05T23:39:22.004Z\": {\r\n \"requests_served\": 4184309,\r\n \"cache_hits\": 3623084,\r\n \"cache_misses\": 558399,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416267666483,\r\n \"bytes_on_disk\": 158547933440\r\n },\r\n \"2020-07-05T23:39:36.908Z\": {\r\n \"requests_served\": 4184392,\r\n \"cache_hits\": 3623168,\r\n \"cache_misses\": 558399,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416286682766,\r\n \"bytes_on_disk\": 158547933440\r\n },\r\n \"2020-07-05T23:39:51.908Z\": {\r\n \"requests_served\": 4184445,\r\n \"cache_hits\": 3623221,\r\n \"cache_misses\": 558399,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416305661271,\r\n \"bytes_on_disk\": 158547933440\r\n },\r\n \"2020-07-05T23:40:07.530Z\": {\r\n \"requests_served\": 4184479,\r\n \"cache_hits\": 3623238,\r\n \"cache_misses\": 558415,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416313715580,\r\n \"bytes_on_disk\": 158550442362\r\n },\r\n \"2020-07-05T23:40:22.371Z\": {\r\n \"requests_served\": 4184483,\r\n \"cache_hits\": 3623240,\r\n \"cache_misses\": 558417,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416314833474,\r\n \"bytes_on_disk\": 158550788190\r\n },\r\n \"2020-07-05T23:40:36.908Z\": {\r\n \"requests_served\": 4184509,\r\n \"cache_hits\": 3623263,\r\n \"cache_misses\": 558421,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416333620630,\r\n \"bytes_on_disk\": 158553156627\r\n },\r\n \"2020-07-05T23:40:51.908Z\": {\r\n \"requests_served\": 4184554,\r\n \"cache_hits\": 3623302,\r\n \"cache_misses\": 558427,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416345644718,\r\n \"bytes_on_disk\": 158558826676\r\n },\r\n \"2020-07-05T23:41:06.908Z\": {\r\n \"requests_served\": 4184610,\r\n \"cache_hits\": 3623358,\r\n \"cache_misses\": 558427,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416396097580,\r\n \"bytes_on_disk\": 158558826676\r\n },\r\n \"2020-07-05T23:41:21.908Z\": {\r\n \"requests_served\": 4184666,\r\n \"cache_hits\": 3623414,\r\n \"cache_misses\": 558427,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416449764585,\r\n \"bytes_on_disk\": 158558826676\r\n },\r\n \"2020-07-05T23:41:36.922Z\": {\r\n \"requests_served\": 4184697,\r\n \"cache_hits\": 3623444,\r\n \"cache_misses\": 558427,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416490327906,\r\n \"bytes_on_disk\": 158558826676\r\n },\r\n \"2020-07-05T23:41:51.908Z\": {\r\n \"requests_served\": 4184733,\r\n \"cache_hits\": 3623481,\r\n \"cache_misses\": 558427,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416511401001,\r\n \"bytes_on_disk\": 158558826676\r\n },\r\n \"2020-07-05T23:42:06.908Z\": {\r\n \"requests_served\": 4184806,\r\n \"cache_hits\": 3623554,\r\n \"cache_misses\": 558427,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416534704387,\r\n \"bytes_on_disk\": 158558826676\r\n },\r\n \"2020-07-05T23:42:21.908Z\": {\r\n \"requests_served\": 4184859,\r\n \"cache_hits\": 3623607,\r\n \"cache_misses\": 558427,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416549174243,\r\n \"bytes_on_disk\": 158558826676\r\n },\r\n \"2020-07-05T23:42:36.908Z\": {\r\n \"requests_served\": 4184885,\r\n \"cache_hits\": 3623632,\r\n \"cache_misses\": 558427,\r\n \"browser_cached\": 261,\r\n \"bytes_sent\": 2416554535464,\r\n \"bytes_on_disk\": 158558826676\r\n }\r\n}\r\n\r\nexport const addData = () => {\r\n let inst = {\r\n cache_hits: Math.floor(Math.random() * 100),\r\n cache_misses: Math.floor(Math.random() * 100),\r\n browser_cached: Math.floor(Math.random() * 100),\r\n bytes_sent: Math.floor(Math.random() * 100),\r\n requests_served: Math.floor(Math.random() * 100),\r\n bytes_on_disk: Math.floor(Math.random() * 100),\r\n }\r\n let ti = new Date().toISOString()\r\n let statobj = '{\"' + ti + '\" :' + JSON.stringify(inst) + '}'\r\n store.commit('pushStats', JSON.parse(statobj));\r\n localStorage.stats = JSON.stringify(store.getters.data.stats);\r\n store.commit('updateDatasets', statobj)\r\n}\r\n\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!./xterm.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!./xterm.vue?vue&type=style&index=0&lang=css&\"","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!./dashGrid.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!./dashGrid.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}