openc3-tool-tlmgrapher 5.0.9 → 5.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/tools/tlmgrapher/js/587.js +24 -0
- data/tools/tlmgrapher/js/587.js.map +1 -0
- data/tools/tlmgrapher/js/680.js +1 -1
- data/tools/tlmgrapher/js/680.js.map +1 -1
- data/tools/tlmgrapher/js/app.js +1 -1
- data/tools/tlmgrapher/js/app.js.map +1 -1
- metadata +4 -4
- data/tools/tlmgrapher/js/261.js +0 -24
- data/tools/tlmgrapher/js/261.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"js/680.js","mappings":"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,aACA,gDACA,gDACA,+CACA,MACA,UACA,gDACA,gDACA,4CACA,MACA,WACA,+CACA,6CACA,6CACA,MACA,YACA,+CACA,gDACA,6CACA,MAEA,sBACA,aACA,EACAlB,YAAAA,WACA,cACA,EACAZ,eAAAA,WACA,kBACA,oBACA,mCACA,8BACA,sBAEA,oCACA,EACA2H,aAAAA,WAEA,0CACA,eACA,+CAEA,EACArQ,OAAAA,WACA,0CACA,eACA,gDAEA,4BACA,EACA8H,UAAAA,WACA,kBACA,mBACA,aACA,EACAD,YAAAA,WACA,kBACA,mBACA,aACA,EACAI,YAAAA,WACA,kBACA,aACA,EACAD,cAAAA,WACA,kBACA,aACA,EACAI,aAAAA,WACA,mBACA,aACA,EACAD,eAAAA,WACA,mBACA,aACA,EACAE,iBAAAA,WACA,yBACA,mCACA,EACAiI,cAAAA,WAAA,WACA,MAEA,gBACA,oBACA,gBACA,sBAEAC,EAAAA,GAEA,0CACA,SACA,gCACAP,EAAAA,EAAAA,WAEA,QAIA,OAHA,gCACAC,EAAAA,EAAAA,WAEA,sBACA,CACA,EACAO,UAAAA,WAAA,yEACA,WACAC,mBAAA,mBAAA1N,OAAAA,YAAA,CACA2N,SAAAA,SAAAA,GAAA,sBACAC,UAAAA,WACA,mCACA,EACAC,aAAAA,WACA,eACAhM,KAAAA,eACAxC,QAAAA,yCACA6I,MAAAA,IAAAA,MAAAA,WAEA,EACA4F,SAAAA,WACA,eACAjM,KAAAA,WACAxC,QAAAA,qCACA6I,MAAAA,IAAAA,MAAAA,WAEA,IAEAoB,MAAA,YACA,gBACA,GACA,EAaAyE,QAAAA,SAAAA,GACA,mDACA,uBACA,6BAEAC,EAAAA,YACA,EAEA,IACA,gEACA,qDACAC,EAAAA,EAAAA,WACA,CACA,MACAC,KAAAA,IAAAA,SAAAA,gBAAAA,YAAAA,OAAAA,YAAAA,GACAC,EACAF,EACA,WACAhC,SAAAA,gBAAAA,aACAjM,OAAAA,aAAAA,GAGA,kDACA,MACA,eAEA,sCACA,sBAEA,IAEAgK,EAAAA,EAAAA,EAAAA,aAAAA,EAAAA,IACA,kBACAA,EAAA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","sources":["webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/services/axios.js","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/DateTimeChooser.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/DateTimeChooser.vue?591d","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/DateTimeChooser.vue?2141","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/services/cable.js","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?6252","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?f9b4","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/OpenConfigDialog.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/OpenConfigDialog.vue?3334","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/OpenConfigDialog.vue?fccb","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/SaveConfigDialog.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/SaveConfigDialog.vue?da0b","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/SaveConfigDialog.vue?bb97","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue?635c","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue?8eb7","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue?d3cb","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/SettingsDialog.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/services/api.js","webpack://@openc3/tool-tlmgrapher/src/tools/TlmGrapher/SettingsDialog.vue","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/SettingsDialog.vue?df2a","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/SettingsDialog.vue?db49","webpack://@openc3/tool-tlmgrapher/src/tools/TlmGrapher/TlmGrapher.vue","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue?462b","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue?1022","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?5563","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?86c9","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue?ae75","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue?ce29","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue?1fc5","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?4fb1","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?fcda","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue?40f1","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue?37f7","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue?f4b7"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"menus\":_vm.menus,\"title\":_vm.title}}),_c('div',[_c('v-snackbar',{attrs:{\"top\":\"\",\"type\":_vm.alertType,\"icon\":_vm.alertType,\"timeout\":5000},scopedSlots:_vm._u([{key:\"action\",fn:function({ attrs }){return [_c('v-btn',_vm._b({attrs:{\"text\":\"\"},on:{\"click\":() => {\n _vm.showAlert = false\n }}},'v-btn',attrs,false),[_vm._v(\" Close \")])]}}]),model:{value:(_vm.showAlert),callback:function ($$v) {_vm.showAlert=$$v},expression:\"showAlert\"}},[_c('v-icon',[_vm._v(\" mdi-\"+_vm._s(_vm.alertType)+\" \")]),_vm._v(\" \"+_vm._s(_vm.alert)+\" \")],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.selectedGraphId === null),expression:\"this.selectedGraphId === null\"}]},[_c('v-row',{staticClass:\"my-5\"},[_c('v-spacer'),_c('span',[_vm._v(\" Add a graph from the menu bar or select an existing graph to continue \")]),_c('v-spacer')],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.selectedGraphId !== null),expression:\"this.selectedGraphId !== null\"}],staticClass:\"px-1\",attrs:{\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"cols\":\"11\"}},[_c('target-packet-item-chooser',{attrs:{\"initial-target-name\":this.$route.params.target,\"initial-packet-name\":this.$route.params.packet,\"initial-item-name\":this.$route.params.item,\"button-text\":\"Add Item\",\"choose-item\":\"\"},on:{\"click\":_vm.addItem}})],1),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state === 'pause'),expression:\"state === 'pause'\"}],staticClass:\"pulse\",attrs:{\"color\":\"primary\",\"fab\":\"\",\"data-test\":\"start-graph\"},on:{\"click\":() => {\n _vm.state = 'start'\n }}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-play\")])],1),_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state === 'start'),expression:\"state === 'start'\"}],attrs:{\"color\":\"primary\",\"fab\":\"\",\"data-test\":\"pause-graph\"},on:{\"click\":() => {\n _vm.state = 'pause'\n }}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-pause\")])],1)],1)],1),_c('div',{staticClass:\"grid\"},_vm._l((_vm.graphs),function(graph){return _c('div',{key:graph,ref:`gridItem${graph}`,refInFor:true,staticClass:\"item\",attrs:{\"id\":`gridItem${graph}`}},[_c('div',{staticClass:\"item-content\"},[_c('graph',{ref:`graph${graph}`,refInFor:true,attrs:{\"id\":graph,\"state\":_vm.state,\"start-time\":_vm.startTime,\"selected-graph-id\":_vm.selectedGraphId,\"seconds-graphed\":_vm.settings.secondsGraphed.value,\"points-saved\":_vm.settings.pointsSaved.value,\"points-graphed\":_vm.settings.pointsGraphed.value},on:{\"close-graph\":() => _vm.closeGraph(graph),\"min-max-graph\":() => _vm.minMaxGraph(graph),\"resize\":() => _vm.resize(),\"click\":() => _vm.graphSelected(graph),\"started\":_vm.graphStarted}})],1)])}),0)],1),(_vm.showOpenConfig)?_c('open-config-dialog',{attrs:{\"tool\":_vm.toolName},on:{\"success\":_vm.openConfiguration},model:{value:(_vm.showOpenConfig),callback:function ($$v) {_vm.showOpenConfig=$$v},expression:\"showOpenConfig\"}}):_vm._e(),(_vm.showSaveConfig)?_c('save-config-dialog',{attrs:{\"tool\":_vm.toolName},on:{\"success\":_vm.saveConfiguration},model:{value:(_vm.showSaveConfig),callback:function ($$v) {_vm.showSaveConfig=$$v},expression:\"showSaveConfig\"}}):_vm._e(),_c('settings-dialog',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showSettingsDialog),expression:\"showSettingsDialog\"}],attrs:{\"settings\":_vm.settings},model:{value:(_vm.showSettingsDialog),callback:function ($$v) {_vm.showSettingsDialog=$$v},expression:\"showSettingsDialog\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true)\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}, headerOptions = {}) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n // console.log(error)\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n connect_interface(interface_name) {\n return this.exec('connect_interface', [interface_name])\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_oldest_logfile() {\n return this.exec('get_oldest_logfile', [])\n }\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items) {\n const data = await this.exec('get_tlm_values', [items])\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, data_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: data_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',{nativeOn:{\"click\":function($event){return _vm.$emit('click')}}},[_c('v-system-bar',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hideSystemBar),expression:\"!hideSystemBar\"}],class:_vm.selectedGraphId === _vm.id ? 'active' : 'inactive'},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.length !== 0),expression:\"errors.length !== 0\"}],staticClass:\"mx-2\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"error-graph-icon\"},on:{\"click\":function($event){_vm.errorDialog = true}}},[_vm._v(\"mdi-alert\")])],1)]}}])},[_c('span',[_vm._v(\"Errors\")])])],1),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"edit-graph-icon\"},on:{\"click\":function($event){_vm.editGraph = true}}},[_vm._v(\" mdi-pencil \")])],1)]}}])},[_c('span',[_vm._v(\" Edit \")])]),_c('v-spacer'),_c('span',[_vm._v(_vm._s(_vm.title))]),_c('v-spacer'),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}]},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.calcFullSize),expression:\"calcFullSize\"}],attrs:{\"data-test\":\"collapse-all\"},on:{\"click\":_vm.collapseAll}},[_vm._v(\" mdi-arrow-collapse \")]),_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.calcFullSize),expression:\"!calcFullSize\"}],attrs:{\"data-test\":\"expand-all\"},on:{\"click\":_vm.expandAll}},[_vm._v(\" mdi-arrow-expand \")])],1)]}}])},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.calcFullSize),expression:\"calcFullSize\"}]},[_vm._v(\" Collapse \")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.calcFullSize),expression:\"!calcFullSize\"}]},[_vm._v(\" Expand \")])])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}]},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fullWidth),expression:\"fullWidth\"}],attrs:{\"data-test\":\"collapse-width\"},on:{\"click\":_vm.collapseWidth}},[_vm._v(\" mdi-arrow-collapse-horizontal \")]),_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fullWidth),expression:\"!fullWidth\"}],attrs:{\"data-test\":\"expand-width\"},on:{\"click\":_vm.expandWidth}},[_vm._v(\" mdi-arrow-expand-horizontal \")])],1)]}}])},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fullWidth),expression:\"fullWidth\"}]},[_vm._v(\" Collapse Width \")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fullWidth),expression:\"!fullWidth\"}]},[_vm._v(\" Expand Width \")])])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}]},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fullHeight),expression:\"fullHeight\"}],attrs:{\"data-test\":\"collapse-height\"},on:{\"click\":_vm.collapseHeight}},[_vm._v(\" mdi-arrow-collapse-vertical \")]),_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fullHeight),expression:\"!fullHeight\"}],attrs:{\"data-test\":\"expand-height\"},on:{\"click\":_vm.expandHeight}},[_vm._v(\" mdi-arrow-expand-vertical \")])],1)]}}])},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fullHeight),expression:\"fullHeight\"}]},[_vm._v(\" Collapse Height \")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fullHeight),expression:\"!fullHeight\"}]},[_vm._v(\" Expand Height \")])])],1),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}],attrs:{\"data-test\":\"minimize-screen-icon\"},on:{\"click\":_vm.minMaxTransition}},[_vm._v(\" mdi-window-minimize \")]),_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.expand),expression:\"!expand\"}],attrs:{\"data-test\":\"maximize-screen-icon\"},on:{\"click\":_vm.minMaxTransition}},[_vm._v(\" mdi-window-maximize \")])],1)]}}])},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}]},[_vm._v(\" Minimize \")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.expand),expression:\"!expand\"}]},[_vm._v(\" Maximize \")])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"close-graph-icon\"},on:{\"click\":function($event){return _vm.$emit('close-graph')}}},[_vm._v(\" mdi-close-box \")])],1)]}}])},[_c('span',[_vm._v(\" Close \")])])],1),_c('v-expand-transition',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}],ref:\"chart\",staticClass:\"pa-1\",attrs:{\"id\":\"chart\"}},[_c('div',{attrs:{\"id\":`chart${_vm.id}`}}),_c('div',{attrs:{\"id\":\"betweenCharts\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showOverview),expression:\"showOverview\"}],attrs:{\"id\":`overview${_vm.id}`}})])])],1),_c('v-dialog',{attrs:{\"max-width\":\"600\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.$emit('input')},\"input\":function($event){return _vm.editGraphClose()}},model:{value:(_vm.editGraph),callback:function ($$v) {_vm.editGraph=$$v},expression:\"editGraph\"}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Edit Graph\")]),_c('v-spacer')],1),_c('v-card',{staticClass:\"pa-3\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{staticClass:\"pb-2\",attrs:{\"label\":\"Title\",\"hide-details\":\"\",\"data-test\":\"edit-graph-title\"},model:{value:(_vm.title),callback:function ($$v) {_vm.title=$$v},expression:\"title\"}})],1),_c('v-card-text',{staticClass:\"pa-0\"},[_vm._v(\" Select a start date/time for the graph. Leave blank for start now. \")]),_c('date-time-chooser',{attrs:{\"required\":false,\"date-label\":\"Start Date\",\"time-label\":\"Start Time\"},on:{\"date-time\":function($event){_vm.graphStartDateTime = $event}}}),_c('v-card-text',{staticClass:\"pa-0\"},[_vm._v(\" Select a end date/time for the graph. Leave blank for continuous real-time graphing. \")]),_c('date-time-chooser',{attrs:{\"date-label\":\"End Date\",\"time-label\":\"End Time\"},on:{\"date-time\":function($event){_vm.graphEndDateTime = $event}}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Legend Position\",\"items\":_vm.legendPositions,\"data-test\":\"edit-legend-position\"},model:{value:(_vm.legendPosition),callback:function ($$v) {_vm.legendPosition=$$v},expression:\"legendPosition\"}})],1),_c('v-card-text',{staticClass:\"pa-0\"},[_vm._v(\" Optional Y axis settings. \")]),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"px-2\"},[_c('v-text-field',{attrs:{\"hide-details\":\"\",\"label\":\"Min Y\",\"type\":\"number\",\"data-test\":\"graph-min-y\"},model:{value:(_vm.graphMinY),callback:function ($$v) {_vm.graphMinY=$$v},expression:\"graphMinY\"}})],1),_c('v-col',{staticClass:\"px-2\"},[_c('v-text-field',{attrs:{\"hide-details\":\"\",\"label\":\"Max Y\",\"type\":\"number\",\"data-test\":\"graph-max-y\"},model:{value:(_vm.graphMaxY),callback:function ($$v) {_vm.graphMaxY=$$v},expression:\"graphMaxY\"}})],1)],1),_c('v-data-table',{staticClass:\"elevation-1 my-2\",attrs:{\"item-key\":\"itemId\",\"headers\":_vm.itemHeaders,\"items\":_vm.editItems,\"items-per-page\":5,\"footer-props\":{\n 'items-per-page-options': [5],\n }},scopedSlots:_vm._u([{key:\"item.actions\",fn:function({ item }){return [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":`delete-item-icon${item.itemId}`},on:{\"click\":() => _vm.removeItems([item])}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Remove\")])])]}},{key:\"no-data\",fn:function(){return [_c('span',[_vm._v(\"Currently no items on this graph\")])]},proxy:true}])}),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editGraphClose()}}},[_vm._v(\" Ok \")])],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"600\"},model:{value:(_vm.errorDialog),callback:function ($$v) {_vm.errorDialog=$$v},expression:\"errorDialog\"}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Errors\")]),_c('v-spacer')],1),_c('v-card',{staticClass:\"pa-3\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{staticClass:\"pb-2\",attrs:{\"readonly\":\"\",\"hide-details\":\"\",\"label\":\"Graph Title\"},model:{value:(_vm.title),callback:function ($$v) {_vm.title=$$v},expression:\"title\"}})],1),_c('v-row',{staticClass:\"my-3\"},[_c('v-textarea',{attrs:{\"readonly\":\"\",\"rows\":\"8\",\"value\":_vm.error}})],1),_c('v-row',[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":_vm.clearErrors}},[_vm._v(\" Clear \")])],1)],1)],1),(_vm.editGraphMenu)?_c('v-menu',{attrs:{\"position-x\":_vm.editGraphMenuX,\"position-y\":_vm.editGraphMenuY,\"absolute\":\"\",\"offset-y\":\"\"},model:{value:(_vm.editGraphMenu),callback:function ($$v) {_vm.editGraphMenu=$$v},expression:\"editGraphMenu\"}},[_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){_vm.editGraph = true}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\" Edit \"+_vm._s(_vm.title)+\" \")])],1)],1)],1):_vm._e(),(_vm.editItem)?_c('v-dialog',{attrs:{\"max-width\":\"600\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;_vm.editItem = false}},model:{value:(_vm.editItem),callback:function ($$v) {_vm.editItem=$$v},expression:\"editItem\"}},[_c('v-card',{staticClass:\"pa-3\"},[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Edit Item\")]),_c('v-select',{attrs:{\"outlined\":\"\",\"hide-details\":\"\",\"label\":\"Value Type\",\"items\":_vm.valueTypes},model:{value:(_vm.currentType),callback:function ($$v) {_vm.currentType=$$v},expression:\"currentType\"}}),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.closeEditItem()}}},[_vm._v(\"Ok\")])],1)],1)],1):_vm._e(),(_vm.itemMenu)?_c('v-menu',{attrs:{\"position-x\":_vm.itemMenuX,\"position-y\":_vm.itemMenuY,\"absolute\":\"\",\"offset-y\":\"\"},model:{value:(_vm.itemMenu),callback:function ($$v) {_vm.itemMenu=$$v},expression:\"itemMenu\"}},[_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){return _vm.openEditItem()}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\" Edit \"+_vm._s(_vm.selectedItem.itemName)+\" \")])],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.removeItems([_vm.selectedItem])}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\" Delete \"+_vm._s(_vm.selectedItem.itemName)+\" \")])],1)],1)],1):_vm._e(),(_vm.legendMenu)?_c('v-menu',{attrs:{\"position-x\":_vm.legendMenuX,\"position-y\":_vm.legendMenuY,\"absolute\":\"\",\"offset-y\":\"\"},model:{value:(_vm.legendMenu),callback:function ($$v) {_vm.legendMenu=$$v},expression:\"legendMenu\"}},[_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){return _vm.moveLegend('top')}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\"Legend Top\")])],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.moveLegend('bottom')}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\"Legend Bottom\")])],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.moveLegend('left')}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\"Legend Left\")])],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.moveLegend('right')}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\"Legend RIght\")])],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-row',[_c('v-col',[_c('v-menu',{attrs:{\"close-on-content-click\":\"\",\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-text-field',_vm._g({attrs:{\"label\":_vm.dateLabel,\"name\":`date${Date.now()}`,\"rules\":_vm.dateRules,\"type\":\"date\",\"data-test\":\"date-chooser\"},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}},on))]}}])})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":_vm.timeLabel,\"name\":`time${Date.now()}`,\"rules\":_vm.timeRules,\"type\":\"time\",\"step\":\"1\",\"data-test\":\"time-chooser\"},on:{\"change\":_vm.onChange},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DateTimeChooser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DateTimeChooser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DateTimeChooser.vue?vue&type=template&id=00fd3b2e&\"\nimport script from \"./DateTimeChooser.vue?vue&type=script&lang=js&\"\nexport * from \"./DateTimeChooser.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/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# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport * as ActionCable from '@rails/actioncable'\n//ActionCable.logger.enabled = true\nActionCable.ConnectionMonitor.staleThreshold = 60\n\nexport default class Cable {\n constructor(url = '/openc3-api/cable') {\n this._cable = ActionCable.createConsumer(url)\n }\n disconnect() {\n this._cable.disconnect()\n }\n createSubscription(channel, scope, callbacks = {}, additionalOptions = {}) {\n return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {\n return this._cable.subscriptions.create(\n {\n channel,\n scope,\n token: localStorage.openc3Token,\n ...additionalOptions,\n },\n callbacks\n )\n })\n }\n}\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Graph.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Graph.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Graph.vue?vue&type=template&id=3157fc8b&scoped=true&\"\nimport script from \"./Graph.vue?vue&type=script&lang=js&\"\nexport * from \"./Graph.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Graph.vue?vue&type=style&index=0&id=3157fc8b&prod&lang=css&\"\nimport style1 from \"./Graph.vue?vue&type=style&index=1&id=3157fc8b&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3157fc8b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"600\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.cancel.apply(null, arguments)}},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.success.apply(null, arguments)}}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Open Configuration\")]),_c('v-spacer')],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"search\",\"type\":\"text\",\"data-test\":\"search\",\"prepend-icon\":\"mdi-magnify\",\"clear-icon\":\"mdi-close-circle-outline\",\"clearable\":\"\",\"autofocus\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"show-select\":\"\",\"single-select\":\"\",\"item-key\":\"configId\",\"search\":_vm.search,\"headers\":_vm.headers,\"items\":_vm.configs,\"items-per-page\":5,\"footer-props\":{ 'items-per-page-options': [5] }},on:{\"item-selected\":_vm.itemSelected,\"click:row\":(item, slot) => slot.select(item)},scopedSlots:_vm._u([{key:\"item.actions\",fn:function({ item }){return [_c('v-btn',{staticClass:\"mt-1\",attrs:{\"data-test\":\"item-delete\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteConfig(item)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)]}}])}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.error),expression:\"error\"}],staticClass:\"ma-2 red--text\",domProps:{\"textContent\":_vm._s(_vm.error)}})]),_c('v-row',[_c('v-btn',{attrs:{\"type\":\"submit\",\"color\":\"success\",\"data-test\":\"open-config-submit-btn\",\"disabled\":!!_vm.error},on:{\"click\":function($event){$event.preventDefault();return _vm.success.apply(null, arguments)}}},[_vm._v(\" Ok \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"data-test\":\"open-config-cancel-btn\"},on:{\"click\":_vm.cancel}},[_vm._v(\" Cancel \")])],1)],1)])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OpenConfigDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OpenConfigDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OpenConfigDialog.vue?vue&type=template&id=db42aa32&scoped=true&\"\nimport script from \"./OpenConfigDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./OpenConfigDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"db42aa32\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"600\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.cancel.apply(null, arguments)}},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.success.apply(null, arguments)}}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Save Configuration\")]),_c('v-spacer')],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"search\",\"type\":\"text\",\"data-test\":\"search\",\"prepend-icon\":\"mdi-magnify\",\"clear-icon\":\"mdi-close-circle-outline\",\"clearable\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"show-select\":\"\",\"single-select\":\"\",\"item-key\":\"configId\",\"search\":_vm.search,\"headers\":_vm.headers,\"items\":_vm.configs,\"items-per-page\":5,\"footer-props\":{ 'items-per-page-options': [5] }},on:{\"item-selected\":_vm.itemSelected,\"click:row\":(item, slot) => slot.select(item)},scopedSlots:_vm._u([{key:\"item.actions\",fn:function({ item }){return [_c('v-btn',{staticClass:\"mt-1\",attrs:{\"icon\":\"\",\"data-test\":\"item-delete\"},on:{\"click\":function($event){return _vm.deleteConfig(item)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)]}}])}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{attrs:{\"hide-details\":\"\",\"autofocus\":\"\",\"disabled\":!!_vm.selectedItem,\"label\":\"Configuration Name\",\"data-test\":\"name-input-save-config-dialog\"},model:{value:(_vm.configName),callback:function ($$v) {_vm.configName=$$v},expression:\"configName\"}})],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.error),expression:\"error\"}],staticClass:\"ma-2 red--text\",domProps:{\"textContent\":_vm._s(_vm.error)}})]),_c('v-row',[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"outlined\":\"\"},on:{\"click\":_vm.cancel}},[_vm._v(\" Cancel \")]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"type\":\"submit\",\"color\":\"primary\",\"data-test\":\"save-config-submit-btn\",\"disabled\":!!_vm.error},on:{\"click\":function($event){$event.preventDefault();return _vm.success.apply(null, arguments)}}},[_vm._v(\" Ok \")])],1)],1)])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SaveConfigDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SaveConfigDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SaveConfigDialog.vue?vue&type=template&id=d7576030&\"\nimport script from \"./SaveConfigDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./SaveConfigDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"c-chooser px-0\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":_vm.colSize,\"data-test\":\"select-target\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Select Target\",\"hide-details\":\"\",\"dense\":\"\",\"items\":_vm.targetNames,\"item-text\":\"label\",\"item-value\":\"value\"},on:{\"change\":_vm.targetNameChanged},model:{value:(_vm.selectedTargetName),callback:function ($$v) {_vm.selectedTargetName=$$v},expression:\"selectedTargetName\"}})],1),_c('v-col',{attrs:{\"cols\":_vm.colSize,\"data-test\":\"select-packet\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Select Packet\",\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.packetsDisabled || _vm.buttonDisabled,\"items\":_vm.packetNames,\"item-text\":\"label\",\"item-value\":\"value\"},on:{\"change\":_vm.packetNameChanged},model:{value:(_vm.selectedPacketName),callback:function ($$v) {_vm.selectedPacketName=$$v},expression:\"selectedPacketName\"}})],1),(_vm.chooseItem && !_vm.buttonDisabled)?_c('v-col',{attrs:{\"cols\":_vm.colSize,\"data-test\":\"select-item\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Select Item\",\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.itemsDisabled || _vm.buttonDisabled,\"items\":_vm.itemNames,\"item-text\":\"label\",\"item-value\":\"value\"},on:{\"change\":function($event){return _vm.itemNameChanged($event)}},model:{value:(_vm.selectedItemName),callback:function ($$v) {_vm.selectedItemName=$$v},expression:\"selectedItemName\"}})],1):_vm._e(),(_vm.buttonText)?_c('v-col',{attrs:{\"cols\":_vm.colSize}},[_c('v-btn',{attrs:{\"disabled\":_vm.buttonDisabled,\"block\":\"\",\"color\":\"primary\",\"data-test\":\"select-send\"},on:{\"click\":_vm.buttonPressed}},[_vm._v(\" \"+_vm._s(_vm.actualButtonText)+\" \")])],1):_vm._e()],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(_vm.hazardous)?_c('v-col',{staticClass:\"openc3-yellow\",attrs:{\"cols\":_vm.colSize}},[_c('astro-badge',{attrs:{\"status\":\"caution\",\"inline\":\"\"}},[_vm._v(\" Description: \"+_vm._s(_vm.description)+\" (HAZARDOUS) \")])],1):_c('v-col',{attrs:{\"cols\":_vm.colSize}},[_vm._v(\" Description: \"+_vm._s(_vm.description)+\" \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetPacketItemChooser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetPacketItemChooser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TargetPacketItemChooser.vue?vue&type=template&id=396dabb5&\"\nimport script from \"./TargetPacketItemChooser.vue?vue&type=script&lang=js&\"\nexport * from \"./TargetPacketItemChooser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TargetPacketItemChooser.vue?vue&type=style&index=0&id=396dabb5&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('div',{staticClass:\"v-toolbar__content\"},[_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider'):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":option.command}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label},model:{value:(_vm.checked),callback:function ($$v) {_vm.checked=$$v},expression:\"checked\"}})],1):_vm._e(),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),_c('v-spacer'),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.title))]),_c('v-spacer')],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=5fb8d7fb&scoped=true&\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js&\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=5fb8d7fb&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5fb8d7fb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"TlmGrapher Settings\")]),_c('v-spacer')],1),_c('v-card',{staticClass:\"pa-3\"},[_c('v-card-text',[_vm._l((_vm.settings),function(item){return _c('div',{key:item.title},[_c('v-row',{staticClass:\"my-5\"},[_c('v-text-field',{attrs:{\"hide-details\":\"auto\",\"type\":\"number\",\"rules\":item.rules,\"label\":item.title},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", _vm._n($$v))},expression:\"item.value\"}})],1)],1)}),_c('v-row',[_c('span',{staticClass:\"red--text\"},[_vm._v(\" Increasing these values may cause issues \")])])],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from './axios.js'\n\nconst request = async function (\n method,\n url,\n { data, params = {}, headers, noAuth = false, noScope = false } = {}\n) {\n if (!noAuth) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n headers['Authorization'] = localStorage.openc3Token\n }\n if (!noScope && !params['scope']) {\n params['scope'] = window.openc3Scope\n }\n return axios({\n method,\n url,\n data,\n params,\n headers,\n })\n}\n\nconst acceptOnlyDefaultHeaders = {\n Accept: 'application/json',\n}\n\nconst fullDefaultHeaders = {\n ...acceptOnlyDefaultHeaders,\n 'Content-Type': 'application/json',\n}\n\nexport default {\n get: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('get', path, { params, headers, noScope, noAuth })\n },\n\n put: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('put', path, { data, params, headers, noScope, noAuth })\n },\n\n post: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('post', path, { data, params, headers, noScope, noAuth })\n },\n\n delete: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('delete', path, { params, headers, noScope, noAuth })\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-system-bar>\n <v-spacer />\n <span>TlmGrapher Settings</span>\n <v-spacer />\n </v-system-bar>\n <v-card class=\"pa-3\">\n <v-card-text>\n <div v-for=\"item in settings\" :key=\"item.title\">\n <v-row class=\"my-5\">\n <v-text-field\n hide-details=\"auto\"\n type=\"number\"\n :rules=\"item.rules\"\n :label=\"item.title\"\n v-model.number=\"item.value\"\n />\n </v-row>\n </div>\n <v-row>\n <span class=\"red--text\">\n Increasing these values may cause issues\n </span>\n </v-row>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport Api from '@openc3/tool-common/src/services/api'\n\nexport default {\n props: {\n settings: {\n type: Object,\n required: true,\n },\n value: Boolean, // value is the default prop when using v-model\n },\n data() {\n return {}\n },\n computed: {\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n },\n methods: {},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsDialog.vue?vue&type=template&id=1c4f40a8&\"\nimport script from \"./SettingsDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/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# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <div>\n <v-snackbar\n v-model=\"showAlert\"\n top\n :type=\"alertType\"\n :icon=\"alertType\"\n :timeout=\"5000\"\n >\n <v-icon> mdi-{{ alertType }} </v-icon>\n {{ alert }}\n <template v-slot:action=\"{ attrs }\">\n <v-btn\n text\n v-bind=\"attrs\"\n @click=\"\n () => {\n showAlert = false\n }\n \"\n >\n Close\n </v-btn>\n </template>\n </v-snackbar>\n\n <div v-show=\"this.selectedGraphId === null\">\n <v-row class=\"my-5\">\n <v-spacer />\n <span>\n Add a graph from the menu bar or select an existing graph to\n continue\n </span>\n <v-spacer />\n </v-row>\n </div>\n\n <v-row\n class=\"px-1\"\n justify=\"space-between\"\n v-show=\"this.selectedGraphId !== null\"\n >\n <v-col cols=\"11\">\n <target-packet-item-chooser\n :initial-target-name=\"this.$route.params.target\"\n :initial-packet-name=\"this.$route.params.packet\"\n :initial-item-name=\"this.$route.params.item\"\n @click=\"addItem\"\n button-text=\"Add Item\"\n choose-item\n />\n </v-col>\n <v-col cols=\"1\">\n <v-btn\n v-show=\"state === 'pause'\"\n class=\"pulse\"\n v-on:click=\"\n () => {\n state = 'start'\n }\n \"\n color=\"primary\"\n fab\n data-test=\"start-graph\"\n >\n <v-icon large>mdi-play</v-icon>\n </v-btn>\n <v-btn\n v-show=\"state === 'start'\"\n v-on:click=\"\n () => {\n state = 'pause'\n }\n \"\n color=\"primary\"\n fab\n data-test=\"pause-graph\"\n >\n <v-icon large>mdi-pause</v-icon>\n </v-btn>\n </v-col>\n </v-row>\n\n <div class=\"grid\">\n <div\n class=\"item\"\n v-for=\"graph in graphs\"\n :key=\"graph\"\n :id=\"`gridItem${graph}`\"\n :ref=\"`gridItem${graph}`\"\n >\n <div class=\"item-content\">\n <graph\n :ref=\"`graph${graph}`\"\n :id=\"graph\"\n :state=\"state\"\n :start-time=\"startTime\"\n :selected-graph-id=\"selectedGraphId\"\n :seconds-graphed=\"settings.secondsGraphed.value\"\n :points-saved=\"settings.pointsSaved.value\"\n :points-graphed=\"settings.pointsGraphed.value\"\n @close-graph=\"() => closeGraph(graph)\"\n @min-max-graph=\"() => minMaxGraph(graph)\"\n @resize=\"() => resize()\"\n @click=\"() => graphSelected(graph)\"\n @started=\"graphStarted\"\n />\n </div>\n </div>\n </div>\n </div>\n <!-- Note we're using v-if here so it gets re-created each time and refreshes the list -->\n <open-config-dialog\n v-if=\"showOpenConfig\"\n v-model=\"showOpenConfig\"\n :tool=\"toolName\"\n @success=\"openConfiguration\"\n />\n <!-- Note we're using v-if here so it gets re-created each time and refreshes the list -->\n <save-config-dialog\n v-if=\"showSaveConfig\"\n v-model=\"showSaveConfig\"\n :tool=\"toolName\"\n @success=\"saveConfiguration\"\n />\n <!-- Note we're using v-if here so it gets re-created each time and refreshes the list -->\n <settings-dialog\n v-show=\"showSettingsDialog\"\n v-model=\"showSettingsDialog\"\n :settings=\"settings\"\n />\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport Graph from '@openc3/tool-common/src/components/Graph.vue'\nimport OpenConfigDialog from '@openc3/tool-common/src/components/OpenConfigDialog'\nimport SaveConfigDialog from '@openc3/tool-common/src/components/SaveConfigDialog'\nimport TargetPacketItemChooser from '@openc3/tool-common/src/components/TargetPacketItemChooser'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport Muuri from 'muuri'\n\nimport SettingsDialog from '@/tools/TlmGrapher/SettingsDialog'\n\nconst MURRI_REFRESH_TIME = 250\nexport default {\n components: {\n Graph,\n OpenConfigDialog,\n SaveConfigDialog,\n SettingsDialog,\n TargetPacketItemChooser,\n TopBar,\n },\n data() {\n return {\n alert: '',\n alertType: 'success',\n showAlert: false,\n title: 'Telemetry Grapher',\n toolName: 'telemetry-grapher',\n showOpenConfig: false,\n showSaveConfig: false,\n showSettingsDialog: false,\n grid: null,\n state: 'stop', // Valid: stop, start, pause\n startTime: null, // Start time in nanoseconds\n // Setup defaults to show an initial graph\n graphs: [0],\n selectedGraphId: 0,\n counter: 1,\n menus: [\n {\n label: 'File',\n items: [\n {\n label: 'Open Configuration',\n icon: 'mdi-folder-open',\n command: () => {\n this.showOpenConfig = true\n },\n },\n {\n label: 'Save Configuration',\n icon: 'mdi-content-save',\n command: () => {\n this.showSaveConfig = true\n },\n },\n ],\n },\n {\n label: 'Graph',\n items: [\n {\n label: 'Add Graph',\n icon: 'mdi-plus',\n command: () => {\n this.addGraph()\n },\n },\n {\n divider: true,\n },\n {\n label: 'Start / Resume',\n icon: 'mdi-play',\n command: () => {\n this.state = 'start'\n },\n },\n {\n label: 'Pause',\n icon: 'mdi-pause',\n command: () => {\n this.state = 'pause'\n },\n },\n {\n label: 'Stop',\n icon: 'mdi-stop',\n command: () => {\n this.state = 'stop'\n },\n },\n {\n divider: true,\n },\n {\n label: 'Settings',\n icon: 'mdi-cog',\n command: () => {\n this.showSettingsDialog = true\n },\n },\n ],\n },\n ],\n settings: {\n secondsGraphed: {\n title: 'Seconds Graphed',\n value: 1000,\n rules: [(value) => !!value || 'Required'],\n },\n pointsSaved: {\n title: 'Points Saved',\n value: 1000000,\n rules: [(value) => !!value || 'Required'],\n },\n pointsGraphed: {\n title: 'Points Graphed',\n value: 1000,\n rules: [(value) => !!value || 'Required'],\n },\n },\n }\n },\n mounted: function () {\n this.grid = new Muuri('.grid', {\n dragEnabled: true,\n layoutOnResize: true,\n // Only allow drags starting from the v-system-bar title\n dragHandle: '.v-system-bar',\n })\n // Sometimes when we move graphs, other graphs become non-interactive\n // This seems to fix that issue\n this.grid.on('move', function (data) {\n data.item.getGrid().synchronize()\n })\n const previousConfig = this.getLocalStorageConfig()\n // If we're passed in the route then manually addItem\n if (\n this.$route.params.target &&\n this.$route.params.packet &&\n this.$route.params.item\n ) {\n this.addItem({\n targetName: this.$route.params.target.toUpperCase(),\n packetName: this.$route.params.packet.toUpperCase(),\n itemName: this.$route.params.item.toUpperCase(),\n })\n } else if (previousConfig) {\n this.openConfiguration(previousConfig)\n }\n },\n methods: {\n alertHandler: function (event) {\n this.alert = event.text\n this.alertType = event.type\n this.showAlert = true\n },\n setLocalStorageConfig: function (value) {\n localStorage['lastconfig__telemetry_grapher'] = value\n },\n getLocalStorageConfig: function () {\n return localStorage['lastconfig__telemetry_grapher']\n },\n graphSelected: function (id) {\n this.selectedGraphId = id\n },\n addItem: function (item, startGraphing = true) {\n this.$refs[`graph${this.selectedGraphId}`][0].addItems([item])\n if (startGraphing === true) {\n this.state = 'start'\n }\n },\n addGraph: function () {\n const id = this.counter\n this.graphs.push(id)\n this.counter += 1\n this.$nextTick(function () {\n var items = this.grid.add(this.$refs[`gridItem${id}`], {\n active: false,\n })\n this.grid.show(items)\n this.selectedGraphId = id\n setTimeout(() => {\n this.grid.refreshItems().layout()\n }, MURRI_REFRESH_TIME)\n })\n },\n closeGraph: function (id) {\n var items = this.grid.getItems([document.getElementById(`gridItem${id}`)])\n this.grid.remove(items)\n this.graphs.splice(this.graphs.indexOf(id), 1)\n this.selectedGraphId = null\n },\n closeAllGraphs: function () {\n // Make a copy of this.graphs to iterate on since closeGraph modifies in place\n for (let graph of [...this.graphs]) {\n this.closeGraph(graph)\n }\n this.counter = 0\n },\n minMaxGraph: function (id) {\n this.selectedGraphId = id\n setTimeout(\n () => {\n this.grid.refreshItems().layout()\n },\n MURRI_REFRESH_TIME * 2 // Double the time since there is more animation\n )\n },\n resize: function () {\n setTimeout(\n () => {\n this.grid.refreshItems().layout()\n },\n MURRI_REFRESH_TIME * 2 // Double the time since there is more animation\n )\n },\n graphStarted: function (time) {\n // Only set startTime once when notified by the first graph to start\n // This allows us to have a uniform start time on all graphs\n if (this.startTime === null) {\n this.startTime = time\n }\n },\n saveConfiguration: function (name) {\n const config = this.grid.getItems().map((item) => {\n // Map the gridItem id to the graph id\n const graphId = `graph${item.getElement().id.substring(8)}`\n const vueGraph = this.$refs[graphId][0]\n return {\n items: vueGraph.items,\n title: vueGraph.title,\n fullWidth: vueGraph.fullWidth,\n fullHeight: vueGraph.fullHeight,\n graphMinX: vueGraph.graphMinX,\n graphMaxX: vueGraph.graphMaxX,\n legendPosition: vueGraph.legendPosition,\n }\n })\n new OpenC3Api()\n .save_config(this.toolName, name, JSON.stringify(config))\n .then((response) => {\n this.setLocalStorageConfig(name)\n this.alertHandler({\n text: `Saved configuration: ${name}`,\n type: 'success',\n })\n })\n .catch((error) => {\n if (error) {\n this.alertHandler({\n text: `Failed to save configuration: ${name}. ${error}`,\n type: 'error',\n })\n }\n })\n },\n openConfiguration: function (name) {\n this.setLocalStorageConfig(name)\n new OpenC3Api()\n .load_config(this.toolName, name)\n .then((response) => {\n if (response) {\n this.loadConfiguration(response)\n }\n })\n .catch((error) => {\n if (error) {\n this.alertHandler({\n text: `Failed to open configuration: ${name}. ${error}`,\n type: 'error',\n })\n this.setLocalStorageConfig(null)\n }\n })\n },\n async loadConfiguration(configStr) {\n this.closeAllGraphs()\n await this.$nextTick()\n const config = JSON.parse(configStr)\n for (let graph of config) {\n this.addGraph()\n }\n await this.$nextTick()\n const that = this\n config.forEach(function (graph, i) {\n let vueGraph = that.$refs[`graph${i}`][0]\n vueGraph.title = graph.title\n vueGraph.fullWidth = graph.fullWidth\n vueGraph.fullHeight = graph.fullHeight\n vueGraph.graphMinX = graph.graphMinX\n vueGraph.graphMaxX = graph.graphMaxX\n vueGraph.moveLegend(graph.legendPosition)\n vueGraph.addItems([...graph.items])\n })\n this.state = 'start'\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.v-navigation-drawer {\n z-index: 2;\n}\n.theme--dark.v-navigation-drawer {\n background-color: var(--v-primary-darken2);\n}\n.grid {\n position: relative;\n}\n.item {\n position: absolute;\n z-index: 1;\n}\n.item.muuri-item-dragging {\n z-index: 3;\n}\n.item.muuri-item-releasing {\n z-index: 2;\n}\n.item.muuri-item-hidden {\n z-index: 0;\n}\n.item-content {\n position: relative;\n cursor: pointer;\n border-radius: 6px;\n margin: 5px;\n}\n\n.pulse {\n animation: pulse 1s infinite;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.5;\n }\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmGrapher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmGrapher.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TlmGrapher.vue?vue&type=template&id=a295d204&scoped=true&\"\nimport script from \"./TlmGrapher.vue?vue&type=script&lang=js&\"\nexport * from \"./TlmGrapher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TlmGrapher.vue?vue&type=style&index=0&id=a295d204&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a295d204\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".uplot.side-legend{display:flex;width:auto}.uplot.side-legend .u-wrap{flex:none}.uplot.side-legend .u-legend{text-align:left;margin-left:0;width:220px}.uplot.side-legend .u-legend,.uplot.side-legend .u-legend td,.uplot.side-legend .u-legend th,.uplot.side-legend .u-legend tr{display:revert}.uplot.left-legend .u-legend{order:-1}.uplot.top-legend{display:flex;flex-direction:column}.uplot.top-legend .u-legend{order:-1}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#chart[data-v-3157fc8b]{background-color:var(--v-tertiary-darken2)}#chart[data-v-3157fc8b] .u-select{background-color:hsla(0,0%,100%,.07)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-badge__badge{height:auto;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-list[data-v-5fb8d7fb] .v-label{margin-left:5px}.v-list-item__icon[data-v-5fb8d7fb]{margin-right:15px!important}.v-list-item__title[data-v-5fb8d7fb]{color:#fff}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-navigation-drawer[data-v-a295d204]{z-index:2}.theme--dark.v-navigation-drawer[data-v-a295d204]{background-color:var(--v-primary-darken2)}.grid[data-v-a295d204]{position:relative}.item[data-v-a295d204]{position:absolute;z-index:1}.item.muuri-item-dragging[data-v-a295d204]{z-index:3}.item.muuri-item-releasing[data-v-a295d204]{z-index:2}.item.muuri-item-hidden[data-v-a295d204]{z-index:0}.item-content[data-v-a295d204]{position:relative;cursor:pointer;border-radius:6px;margin:5px}.pulse[data-v-a295d204]{-webkit-animation:pulse-a295d204 1s infinite;animation:pulse-a295d204 1s infinite}@-webkit-keyframes pulse-a295d204{0%{opacity:1}50%{opacity:.5}}@keyframes pulse-a295d204{0%{opacity:1}50%{opacity:.5}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Graph.vue?vue&type=style&index=0&id=3157fc8b&prod&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"14b15eed\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Graph.vue?vue&type=style&index=1&id=3157fc8b&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"926ea70e\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetPacketItemChooser.vue?vue&type=style&index=0&id=396dabb5&prod&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6c0e906e\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=5fb8d7fb&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7bc1978b\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!../../../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmGrapher.vue?vue&type=style&index=0&id=a295d204&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"c499aff2\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["render","_vm","this","_c","_self","attrs","menus","title","alertType","scopedSlots","_u","key","fn","_b","on","showAlert","_v","model","value","callback","$$v","expression","_s","alert","directives","name","rawName","selectedGraphId","staticClass","$route","params","target","packet","item","addItem","state","_l","graphs","graph","ref","refInFor","startTime","settings","secondsGraphed","pointsSaved","pointsGraphed","closeGraph","minMaxGraph","resize","graphSelected","graphStarted","showOpenConfig","toolName","openConfiguration","_e","showSaveConfig","saveConfiguration","showSettingsDialog","staticRenderFns","vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","interceptors","response","use","error","status","OpenC3Auth","updateToken","defaultMinValidity","headers","includes","toString","Promise","reject","body","statusText","config","data","message","exception","class","$notify","serious","OpenC3Api","method","kwparams","headerOptions","login","id","window","openc3Scope","jsonrpc","keyword_params","Authorization","localStorage","openc3Token","result","err","Error","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","exec","interface_name","router_name","target_commands","log_writer_name","limits_set","target_name","packet_name","value_type","type","len","length","converted","i","decode_openc3_type","items","item_name","data_type","undefined","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","call","encode_openc3_type","_cmd","tool","ignored","array","string","isSecureContext","arrayBuffer","TextEncoder","encode","crypto","subtle","digest","hashAsArrayBuffer","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join","nativeOn","$event","$emit","hideSystemBar","errors","_g","errorDialog","editGraph","expand","calcFullSize","collapseAll","expandAll","fullWidth","collapseWidth","expandWidth","fullHeight","collapseHeight","expandHeight","minMaxTransition","showOverview","indexOf","_k","keyCode","editGraphClose","graphStartDateTime","graphEndDateTime","legendPositions","legendPosition","graphMinY","graphMaxY","itemHeaders","editItems","itemId","removeItems","proxy","clearErrors","editGraphMenu","editGraphMenuX","editGraphMenuY","staticStyle","editItem","valueTypes","currentType","closeEditItem","itemMenu","itemMenuX","itemMenuY","openEditItem","selectedItem","itemName","legendMenu","legendMenuX","legendMenuY","moveLegend","dateLabel","Date","now","dateRules","date","timeLabel","timeRules","onChange","time","props","required","default","initialDate","initialTime","rules","isValid","computed","methods","component","ActionCable","Cable","url","_cable","disconnect","channel","scope","callbacks","additionalOptions","then","subscriptions","create","token","require","components","DateTimeChooser","hideOverview","sparkline","initialItems","height","width","text","sortable","active","overview","indexes","drawInterval","zoomChart","zoomOverview","cable","subscription","needToUpdate","colors","created","mounted","spanGaps","stroke","seriesObj","commonProps","label","chartSeries","overviewSeries","chartOpts","pxAlign","cursor","show","select","legend","scales","x","axes","series","document","v","format","drag","y","sync","hooks","setScale","left","ready","canvas","e","seriesEl","points","setSelect","chart","min","max","overviewOpts","beforeDestroy","watch","handleResize","setGraphRange","pad","subscribe","createSubscription","received","connected","disconnected","rejected","getSize","navDrawer","legendWidth","Math","navDrawerWidth","getScales","range","u","dataMin","dataMax","getAxes","strokeColor","axisColor","grid","size","changeType","addItems","itemArray","index","addItemsToSubscription","endTime","mode","start_time","end_time","removeItemsFromSubscription","reorderIndexes","bs_comparator","set_data_at_index","subscriptionKey","cancel","apply","arguments","preventDefault","success","search","configs","itemSelected","slot","deleteConfig","domProps","align","get","set","list_configs","configId","catch","confirm","okText","cancelText","configName","colSize","targetNames","targetNameChanged","selectedTargetName","packetsDisabled","buttonDisabled","packetNames","packetNameChanged","selectedPacketName","chooseItem","itemsDisabled","itemNames","itemNameChanged","selectedItemName","buttonText","buttonPressed","actualButtonText","hazardous","description","allowAll","disabled","initialTargetName","initialPacketName","initialItemName","validator","reduced","propValue","unknown","vertical","internalDisabled","api","ALL","UNKNOWN","targetChooserStyle","float","packetChooserStyle","updatePackets","updateItems","reduce","targetName","packetName","makeReducedItems","allTargetPacketItems","allPacketItems","menu","formatDT","radioGroup","option","j","divider","command","radio","checkbox","checked","icon","style","$set","_n","acceptOnlyDefaultHeaders","Accept","Graph","OpenConfigDialog","SaveConfigDialog","SettingsDialog","TargetPacketItemChooser","TopBar","counter","dragEnabled","layoutOnResize","dragHandle","alertHandler","setLocalStorageConfig","getLocalStorageConfig","addGraph","setTimeout","MURRI_REFRESH_TIME","closeAllGraphs","graphMinX","graphMaxX","save_config","JSON","load_config","loadConfiguration","configStr","that","vueGraph","___CSS_LOADER_EXPORT___","push","module","content","__esModule","locals","exports","add"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"js/680.js","mappings":"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aACA,gDACA,gDACA,+CACA,MACA,UACA,gDACA,gDACA,4CACA,MACA,WACA,+CACA,6CACA,6CACA,MACA,YACA,+CACA,gDACA,6CACA,MAEA,sBACA,aACA,EACAlB,YAAAA,WACA,cACA,EACAZ,eAAAA,WACA,kBACA,oBACA,mCACA,8BACA,sBAEA,oCACA,EACA2H,aAAAA,WAEA,0CACA,eACA,+CAEA,EACArQ,OAAAA,WACA,0CACA,eACA,gDAEA,4BACA,EACA8H,UAAAA,WACA,kBACA,mBACA,aACA,EACAD,YAAAA,WACA,kBACA,mBACA,aACA,EACAI,YAAAA,WACA,kBACA,aACA,EACAD,cAAAA,WACA,kBACA,aACA,EACAI,aAAAA,WACA,mBACA,aACA,EACAD,eAAAA,WACA,mBACA,aACA,EACAE,iBAAAA,WACA,yBACA,mCACA,EACAiI,cAAAA,WAAA,WACA,MAEA,gBACA,oBACA,gBACA,sBAEAC,EAAAA,GAEA,0CACA,SACA,gCACAP,EAAAA,EAAAA,WAEA,QAIA,OAHA,gCACAC,EAAAA,EAAAA,WAEA,sBACA,CACA,EACAO,UAAAA,WAAA,yEACA,WACAC,mBAAA,mBAAA1N,OAAAA,YAAA,CACA2N,SAAAA,SAAAA,GAAA,sBACAC,UAAAA,WACA,mCACA,EACAC,aAAAA,WACA,eACAhM,KAAAA,eACAxC,QAAAA,yCACA6I,MAAAA,IAAAA,MAAAA,WAEA,EACA4F,SAAAA,WACA,eACAjM,KAAAA,WACAxC,QAAAA,qCACA6I,MAAAA,IAAAA,MAAAA,WAEA,IAEAoB,MAAA,YACA,gBACA,GACA,EAaAyE,QAAAA,SAAAA,GACA,mDACA,uBACA,6BAEAC,EAAAA,YACA,EAEA,IACA,gEACA,qDACAC,EAAAA,EAAAA,WACA,CACA,MACAC,KAAAA,IAAAA,SAAAA,gBAAAA,YAAAA,OAAAA,YAAAA,GACAC,EACAF,EACA,WACAhC,SAAAA,gBAAAA,aACAjM,OAAAA,aAAAA,GAGA,kDACA,MACA,eAEA,sCACA,sBAEA,IAEAgK,EAAAA,EAAAA,EAAAA,aAAAA,EAAAA,IACA,kBACAA,EAAAA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","sources":["webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/services/axios.js","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/DateTimeChooser.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/DateTimeChooser.vue?591d","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/DateTimeChooser.vue?2141","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/services/cable.js","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?6252","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?f9b4","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/OpenConfigDialog.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/OpenConfigDialog.vue?3334","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/OpenConfigDialog.vue?fccb","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/SaveConfigDialog.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/SaveConfigDialog.vue?da0b","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/SaveConfigDialog.vue?bb97","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue?635c","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue?8eb7","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue?d3cb","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/SettingsDialog.vue","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/services/api.js","webpack://@openc3/tool-tlmgrapher/src/tools/TlmGrapher/SettingsDialog.vue","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/SettingsDialog.vue?df2a","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/SettingsDialog.vue?db49","webpack://@openc3/tool-tlmgrapher/src/tools/TlmGrapher/TlmGrapher.vue","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue?462b","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue?1022","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?5563","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?86c9","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue?ae75","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue?ce29","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue?1fc5","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?4fb1","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/Graph.vue?fcda","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TargetPacketItemChooser.vue?40f1","webpack://@openc3/tool-tlmgrapher/../openc3-tool-common/src/components/TopBar.vue?37f7","webpack://@openc3/tool-tlmgrapher/./src/tools/TlmGrapher/TlmGrapher.vue?f4b7"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"menus\":_vm.menus,\"title\":_vm.title}}),_c('div',[_c('v-snackbar',{attrs:{\"top\":\"\",\"type\":_vm.alertType,\"icon\":_vm.alertType,\"timeout\":5000},scopedSlots:_vm._u([{key:\"action\",fn:function({ attrs }){return [_c('v-btn',_vm._b({attrs:{\"text\":\"\"},on:{\"click\":() => {\n _vm.showAlert = false\n }}},'v-btn',attrs,false),[_vm._v(\" Close \")])]}}]),model:{value:(_vm.showAlert),callback:function ($$v) {_vm.showAlert=$$v},expression:\"showAlert\"}},[_c('v-icon',[_vm._v(\" mdi-\"+_vm._s(_vm.alertType)+\" \")]),_vm._v(\" \"+_vm._s(_vm.alert)+\" \")],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.selectedGraphId === null),expression:\"this.selectedGraphId === null\"}]},[_c('v-row',{staticClass:\"my-5\"},[_c('v-spacer'),_c('span',[_vm._v(\" Add a graph from the menu bar or select an existing graph to continue \")]),_c('v-spacer')],1)],1),_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(this.selectedGraphId !== null),expression:\"this.selectedGraphId !== null\"}],staticClass:\"px-1\",attrs:{\"justify\":\"space-between\"}},[_c('v-col',{attrs:{\"cols\":\"11\"}},[_c('target-packet-item-chooser',{attrs:{\"initial-target-name\":this.$route.params.target,\"initial-packet-name\":this.$route.params.packet,\"initial-item-name\":this.$route.params.item,\"button-text\":\"Add Item\",\"choose-item\":\"\"},on:{\"click\":_vm.addItem}})],1),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state === 'pause'),expression:\"state === 'pause'\"}],staticClass:\"pulse\",attrs:{\"color\":\"primary\",\"fab\":\"\",\"data-test\":\"start-graph\"},on:{\"click\":() => {\n _vm.state = 'start'\n }}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-play\")])],1),_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.state === 'start'),expression:\"state === 'start'\"}],attrs:{\"color\":\"primary\",\"fab\":\"\",\"data-test\":\"pause-graph\"},on:{\"click\":() => {\n _vm.state = 'pause'\n }}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-pause\")])],1)],1)],1),_c('div',{staticClass:\"grid\"},_vm._l((_vm.graphs),function(graph){return _c('div',{key:graph,ref:`gridItem${graph}`,refInFor:true,staticClass:\"item\",attrs:{\"id\":`gridItem${graph}`}},[_c('div',{staticClass:\"item-content\"},[_c('graph',{ref:`graph${graph}`,refInFor:true,attrs:{\"id\":graph,\"state\":_vm.state,\"start-time\":_vm.startTime,\"selected-graph-id\":_vm.selectedGraphId,\"seconds-graphed\":_vm.settings.secondsGraphed.value,\"points-saved\":_vm.settings.pointsSaved.value,\"points-graphed\":_vm.settings.pointsGraphed.value},on:{\"close-graph\":() => _vm.closeGraph(graph),\"min-max-graph\":() => _vm.minMaxGraph(graph),\"resize\":() => _vm.resize(),\"click\":() => _vm.graphSelected(graph),\"started\":_vm.graphStarted}})],1)])}),0)],1),(_vm.showOpenConfig)?_c('open-config-dialog',{attrs:{\"tool\":_vm.toolName},on:{\"success\":_vm.openConfiguration},model:{value:(_vm.showOpenConfig),callback:function ($$v) {_vm.showOpenConfig=$$v},expression:\"showOpenConfig\"}}):_vm._e(),(_vm.showSaveConfig)?_c('save-config-dialog',{attrs:{\"tool\":_vm.toolName},on:{\"success\":_vm.saveConfiguration},model:{value:(_vm.showSaveConfig),callback:function ($$v) {_vm.showSaveConfig=$$v},expression:\"showSaveConfig\"}}):_vm._e(),_c('settings-dialog',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showSettingsDialog),expression:\"showSettingsDialog\"}],attrs:{\"settings\":_vm.settings},model:{value:(_vm.showSettingsDialog),callback:function ($$v) {_vm.showSettingsDialog=$$v},expression:\"showSettingsDialog\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true)\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.headers['ignore-errors'].includes(\n error.response.status.toString()\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}, headerOptions = {}) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n // console.log(error)\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n connect_interface(interface_name) {\n return this.exec('connect_interface', [interface_name])\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_oldest_logfile() {\n return this.exec('get_oldest_logfile', [])\n }\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items) {\n const data = await this.exec('get_tlm_values', [items])\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, data_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n var err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: data_type,\n })\n }\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',{nativeOn:{\"click\":function($event){return _vm.$emit('click')}}},[_c('v-system-bar',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hideSystemBar),expression:\"!hideSystemBar\"}],class:_vm.selectedGraphId === _vm.id ? 'active' : 'inactive'},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.length !== 0),expression:\"errors.length !== 0\"}],staticClass:\"mx-2\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"error-graph-icon\"},on:{\"click\":function($event){_vm.errorDialog = true}}},[_vm._v(\"mdi-alert\")])],1)]}}])},[_c('span',[_vm._v(\"Errors\")])])],1),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"edit-graph-icon\"},on:{\"click\":function($event){_vm.editGraph = true}}},[_vm._v(\" mdi-pencil \")])],1)]}}])},[_c('span',[_vm._v(\" Edit \")])]),_c('v-spacer'),_c('span',[_vm._v(_vm._s(_vm.title))]),_c('v-spacer'),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}]},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.calcFullSize),expression:\"calcFullSize\"}],attrs:{\"data-test\":\"collapse-all\"},on:{\"click\":_vm.collapseAll}},[_vm._v(\" mdi-arrow-collapse \")]),_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.calcFullSize),expression:\"!calcFullSize\"}],attrs:{\"data-test\":\"expand-all\"},on:{\"click\":_vm.expandAll}},[_vm._v(\" mdi-arrow-expand \")])],1)]}}])},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.calcFullSize),expression:\"calcFullSize\"}]},[_vm._v(\" Collapse \")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.calcFullSize),expression:\"!calcFullSize\"}]},[_vm._v(\" Expand \")])])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}]},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fullWidth),expression:\"fullWidth\"}],attrs:{\"data-test\":\"collapse-width\"},on:{\"click\":_vm.collapseWidth}},[_vm._v(\" mdi-arrow-collapse-horizontal \")]),_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fullWidth),expression:\"!fullWidth\"}],attrs:{\"data-test\":\"expand-width\"},on:{\"click\":_vm.expandWidth}},[_vm._v(\" mdi-arrow-expand-horizontal \")])],1)]}}])},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fullWidth),expression:\"fullWidth\"}]},[_vm._v(\" Collapse Width \")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fullWidth),expression:\"!fullWidth\"}]},[_vm._v(\" Expand Width \")])])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}]},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fullHeight),expression:\"fullHeight\"}],attrs:{\"data-test\":\"collapse-height\"},on:{\"click\":_vm.collapseHeight}},[_vm._v(\" mdi-arrow-collapse-vertical \")]),_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fullHeight),expression:\"!fullHeight\"}],attrs:{\"data-test\":\"expand-height\"},on:{\"click\":_vm.expandHeight}},[_vm._v(\" mdi-arrow-expand-vertical \")])],1)]}}])},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fullHeight),expression:\"fullHeight\"}]},[_vm._v(\" Collapse Height \")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.fullHeight),expression:\"!fullHeight\"}]},[_vm._v(\" Expand Height \")])])],1),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}],attrs:{\"data-test\":\"minimize-screen-icon\"},on:{\"click\":_vm.minMaxTransition}},[_vm._v(\" mdi-window-minimize \")]),_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.expand),expression:\"!expand\"}],attrs:{\"data-test\":\"maximize-screen-icon\"},on:{\"click\":_vm.minMaxTransition}},[_vm._v(\" mdi-window-maximize \")])],1)]}}])},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}]},[_vm._v(\" Minimize \")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.expand),expression:\"!expand\"}]},[_vm._v(\" Maximize \")])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"close-graph-icon\"},on:{\"click\":function($event){return _vm.$emit('close-graph')}}},[_vm._v(\" mdi-close-box \")])],1)]}}])},[_c('span',[_vm._v(\" Close \")])])],1),_c('v-expand-transition',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expand),expression:\"expand\"}],ref:\"chart\",staticClass:\"pa-1\",attrs:{\"id\":\"chart\"}},[_c('div',{attrs:{\"id\":`chart${_vm.id}`}}),_c('div',{attrs:{\"id\":\"betweenCharts\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showOverview),expression:\"showOverview\"}],attrs:{\"id\":`overview${_vm.id}`}})])])],1),_c('v-dialog',{attrs:{\"max-width\":\"600\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.$emit('input')},\"input\":function($event){return _vm.editGraphClose()}},model:{value:(_vm.editGraph),callback:function ($$v) {_vm.editGraph=$$v},expression:\"editGraph\"}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Edit Graph\")]),_c('v-spacer')],1),_c('v-card',{staticClass:\"pa-3\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{staticClass:\"pb-2\",attrs:{\"label\":\"Title\",\"hide-details\":\"\",\"data-test\":\"edit-graph-title\"},model:{value:(_vm.title),callback:function ($$v) {_vm.title=$$v},expression:\"title\"}})],1),_c('v-card-text',{staticClass:\"pa-0\"},[_vm._v(\" Select a start date/time for the graph. Leave blank for start now. \")]),_c('date-time-chooser',{attrs:{\"required\":false,\"date-label\":\"Start Date\",\"time-label\":\"Start Time\"},on:{\"date-time\":function($event){_vm.graphStartDateTime = $event}}}),_c('v-card-text',{staticClass:\"pa-0\"},[_vm._v(\" Select a end date/time for the graph. Leave blank for continuous real-time graphing. \")]),_c('date-time-chooser',{attrs:{\"date-label\":\"End Date\",\"time-label\":\"End Time\"},on:{\"date-time\":function($event){_vm.graphEndDateTime = $event}}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-select',{attrs:{\"label\":\"Legend Position\",\"items\":_vm.legendPositions,\"data-test\":\"edit-legend-position\"},model:{value:(_vm.legendPosition),callback:function ($$v) {_vm.legendPosition=$$v},expression:\"legendPosition\"}})],1),_c('v-card-text',{staticClass:\"pa-0\"},[_vm._v(\" Optional Y axis settings. \")]),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"px-2\"},[_c('v-text-field',{attrs:{\"hide-details\":\"\",\"label\":\"Min Y\",\"type\":\"number\",\"data-test\":\"graph-min-y\"},model:{value:(_vm.graphMinY),callback:function ($$v) {_vm.graphMinY=$$v},expression:\"graphMinY\"}})],1),_c('v-col',{staticClass:\"px-2\"},[_c('v-text-field',{attrs:{\"hide-details\":\"\",\"label\":\"Max Y\",\"type\":\"number\",\"data-test\":\"graph-max-y\"},model:{value:(_vm.graphMaxY),callback:function ($$v) {_vm.graphMaxY=$$v},expression:\"graphMaxY\"}})],1)],1),_c('v-data-table',{staticClass:\"elevation-1 my-2\",attrs:{\"item-key\":\"itemId\",\"headers\":_vm.itemHeaders,\"items\":_vm.editItems,\"items-per-page\":5,\"footer-props\":{\n 'items-per-page-options': [5],\n }},scopedSlots:_vm._u([{key:\"item.actions\",fn:function({ item }){return [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":`delete-item-icon${item.itemId}`},on:{\"click\":() => _vm.removeItems([item])}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)]}}],null,true)},[_c('span',[_vm._v(\"Remove\")])])]}},{key:\"no-data\",fn:function(){return [_c('span',[_vm._v(\"Currently no items on this graph\")])]},proxy:true}])}),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editGraphClose()}}},[_vm._v(\" Ok \")])],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"600\"},model:{value:(_vm.errorDialog),callback:function ($$v) {_vm.errorDialog=$$v},expression:\"errorDialog\"}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Errors\")]),_c('v-spacer')],1),_c('v-card',{staticClass:\"pa-3\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{staticClass:\"pb-2\",attrs:{\"readonly\":\"\",\"hide-details\":\"\",\"label\":\"Graph Title\"},model:{value:(_vm.title),callback:function ($$v) {_vm.title=$$v},expression:\"title\"}})],1),_c('v-row',{staticClass:\"my-3\"},[_c('v-textarea',{attrs:{\"readonly\":\"\",\"rows\":\"8\",\"value\":_vm.error}})],1),_c('v-row',[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":_vm.clearErrors}},[_vm._v(\" Clear \")])],1)],1)],1),(_vm.editGraphMenu)?_c('v-menu',{attrs:{\"position-x\":_vm.editGraphMenuX,\"position-y\":_vm.editGraphMenuY,\"absolute\":\"\",\"offset-y\":\"\"},model:{value:(_vm.editGraphMenu),callback:function ($$v) {_vm.editGraphMenu=$$v},expression:\"editGraphMenu\"}},[_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){_vm.editGraph = true}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\" Edit \"+_vm._s(_vm.title)+\" \")])],1)],1)],1):_vm._e(),(_vm.editItem)?_c('v-dialog',{attrs:{\"max-width\":\"600\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;_vm.editItem = false}},model:{value:(_vm.editItem),callback:function ($$v) {_vm.editItem=$$v},expression:\"editItem\"}},[_c('v-card',{staticClass:\"pa-3\"},[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Edit Item\")]),_c('v-select',{attrs:{\"outlined\":\"\",\"hide-details\":\"\",\"label\":\"Value Type\",\"items\":_vm.valueTypes},model:{value:(_vm.currentType),callback:function ($$v) {_vm.currentType=$$v},expression:\"currentType\"}}),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.closeEditItem()}}},[_vm._v(\"Ok\")])],1)],1)],1):_vm._e(),(_vm.itemMenu)?_c('v-menu',{attrs:{\"position-x\":_vm.itemMenuX,\"position-y\":_vm.itemMenuY,\"absolute\":\"\",\"offset-y\":\"\"},model:{value:(_vm.itemMenu),callback:function ($$v) {_vm.itemMenu=$$v},expression:\"itemMenu\"}},[_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){return _vm.openEditItem()}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\" Edit \"+_vm._s(_vm.selectedItem.itemName)+\" \")])],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.removeItems([_vm.selectedItem])}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\" Delete \"+_vm._s(_vm.selectedItem.itemName)+\" \")])],1)],1)],1):_vm._e(),(_vm.legendMenu)?_c('v-menu',{attrs:{\"position-x\":_vm.legendMenuX,\"position-y\":_vm.legendMenuY,\"absolute\":\"\",\"offset-y\":\"\"},model:{value:(_vm.legendMenu),callback:function ($$v) {_vm.legendMenu=$$v},expression:\"legendMenu\"}},[_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){return _vm.moveLegend('top')}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\"Legend Top\")])],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.moveLegend('bottom')}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\"Legend Bottom\")])],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.moveLegend('left')}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\"Legend Left\")])],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.moveLegend('right')}}},[_c('v-list-item-title',{staticStyle:{\"cursor\":\"pointer\"}},[_vm._v(\"Legend RIght\")])],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-row',[_c('v-col',[_c('v-menu',{attrs:{\"close-on-content-click\":\"\",\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-text-field',_vm._g({attrs:{\"label\":_vm.dateLabel,\"name\":`date${Date.now()}`,\"rules\":_vm.dateRules,\"type\":\"date\",\"data-test\":\"date-chooser\"},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}},on))]}}])})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":_vm.timeLabel,\"name\":`time${Date.now()}`,\"rules\":_vm.timeRules,\"type\":\"time\",\"step\":\"1\",\"data-test\":\"time-chooser\"},on:{\"change\":_vm.onChange},model:{value:(_vm.time),callback:function ($$v) {_vm.time=$$v},expression:\"time\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DateTimeChooser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DateTimeChooser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DateTimeChooser.vue?vue&type=template&id=00fd3b2e&\"\nimport script from \"./DateTimeChooser.vue?vue&type=script&lang=js&\"\nexport * from \"./DateTimeChooser.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/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# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport * as ActionCable from '@rails/actioncable'\n//ActionCable.logger.enabled = true\nActionCable.ConnectionMonitor.staleThreshold = 60\n\nexport default class Cable {\n constructor(url = '/openc3-api/cable') {\n this._cable = ActionCable.createConsumer(url)\n }\n disconnect() {\n this._cable.disconnect()\n }\n createSubscription(channel, scope, callbacks = {}, additionalOptions = {}) {\n return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {\n return this._cable.subscriptions.create(\n {\n channel,\n scope,\n token: localStorage.openc3Token,\n ...additionalOptions,\n },\n callbacks\n )\n })\n }\n}\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Graph.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Graph.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Graph.vue?vue&type=template&id=3157fc8b&scoped=true&\"\nimport script from \"./Graph.vue?vue&type=script&lang=js&\"\nexport * from \"./Graph.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Graph.vue?vue&type=style&index=0&id=3157fc8b&prod&lang=css&\"\nimport style1 from \"./Graph.vue?vue&type=style&index=1&id=3157fc8b&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3157fc8b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"600\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.cancel.apply(null, arguments)}},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.success.apply(null, arguments)}}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Open Configuration\")]),_c('v-spacer')],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"search\",\"type\":\"text\",\"data-test\":\"search\",\"prepend-icon\":\"mdi-magnify\",\"clear-icon\":\"mdi-close-circle-outline\",\"clearable\":\"\",\"autofocus\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"show-select\":\"\",\"single-select\":\"\",\"item-key\":\"configId\",\"search\":_vm.search,\"headers\":_vm.headers,\"items\":_vm.configs,\"items-per-page\":5,\"footer-props\":{ 'items-per-page-options': [5] }},on:{\"item-selected\":_vm.itemSelected,\"click:row\":(item, slot) => slot.select(item)},scopedSlots:_vm._u([{key:\"item.actions\",fn:function({ item }){return [_c('v-btn',{staticClass:\"mt-1\",attrs:{\"data-test\":\"item-delete\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteConfig(item)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)]}}])}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.error),expression:\"error\"}],staticClass:\"ma-2 red--text\",domProps:{\"textContent\":_vm._s(_vm.error)}})]),_c('v-row',[_c('v-btn',{attrs:{\"type\":\"submit\",\"color\":\"success\",\"data-test\":\"open-config-submit-btn\",\"disabled\":!!_vm.error},on:{\"click\":function($event){$event.preventDefault();return _vm.success.apply(null, arguments)}}},[_vm._v(\" Ok \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"data-test\":\"open-config-cancel-btn\"},on:{\"click\":_vm.cancel}},[_vm._v(\" Cancel \")])],1)],1)])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OpenConfigDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OpenConfigDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OpenConfigDialog.vue?vue&type=template&id=db42aa32&scoped=true&\"\nimport script from \"./OpenConfigDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./OpenConfigDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"db42aa32\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"600\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.cancel.apply(null, arguments)}},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.success.apply(null, arguments)}}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Save Configuration\")]),_c('v-spacer')],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{attrs:{\"label\":\"search\",\"type\":\"text\",\"data-test\":\"search\",\"prepend-icon\":\"mdi-magnify\",\"clear-icon\":\"mdi-close-circle-outline\",\"clearable\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"show-select\":\"\",\"single-select\":\"\",\"item-key\":\"configId\",\"search\":_vm.search,\"headers\":_vm.headers,\"items\":_vm.configs,\"items-per-page\":5,\"footer-props\":{ 'items-per-page-options': [5] }},on:{\"item-selected\":_vm.itemSelected,\"click:row\":(item, slot) => slot.select(item)},scopedSlots:_vm._u([{key:\"item.actions\",fn:function({ item }){return [_c('v-btn',{staticClass:\"mt-1\",attrs:{\"icon\":\"\",\"data-test\":\"item-delete\"},on:{\"click\":function($event){return _vm.deleteConfig(item)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)]}}])}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-text-field',{attrs:{\"hide-details\":\"\",\"autofocus\":\"\",\"disabled\":!!_vm.selectedItem,\"label\":\"Configuration Name\",\"data-test\":\"name-input-save-config-dialog\"},model:{value:(_vm.configName),callback:function ($$v) {_vm.configName=$$v},expression:\"configName\"}})],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.error),expression:\"error\"}],staticClass:\"ma-2 red--text\",domProps:{\"textContent\":_vm._s(_vm.error)}})]),_c('v-row',[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"outlined\":\"\"},on:{\"click\":_vm.cancel}},[_vm._v(\" Cancel \")]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"type\":\"submit\",\"color\":\"primary\",\"data-test\":\"save-config-submit-btn\",\"disabled\":!!_vm.error},on:{\"click\":function($event){$event.preventDefault();return _vm.success.apply(null, arguments)}}},[_vm._v(\" Ok \")])],1)],1)])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SaveConfigDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SaveConfigDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SaveConfigDialog.vue?vue&type=template&id=d7576030&\"\nimport script from \"./SaveConfigDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./SaveConfigDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"c-chooser px-0\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":_vm.colSize,\"data-test\":\"select-target\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Select Target\",\"hide-details\":\"\",\"dense\":\"\",\"items\":_vm.targetNames,\"item-text\":\"label\",\"item-value\":\"value\"},on:{\"change\":_vm.targetNameChanged},model:{value:(_vm.selectedTargetName),callback:function ($$v) {_vm.selectedTargetName=$$v},expression:\"selectedTargetName\"}})],1),_c('v-col',{attrs:{\"cols\":_vm.colSize,\"data-test\":\"select-packet\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Select Packet\",\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.packetsDisabled || _vm.buttonDisabled,\"items\":_vm.packetNames,\"item-text\":\"label\",\"item-value\":\"value\"},on:{\"change\":_vm.packetNameChanged},model:{value:(_vm.selectedPacketName),callback:function ($$v) {_vm.selectedPacketName=$$v},expression:\"selectedPacketName\"}})],1),(_vm.chooseItem && !_vm.buttonDisabled)?_c('v-col',{attrs:{\"cols\":_vm.colSize,\"data-test\":\"select-item\"}},[_c('v-autocomplete',{attrs:{\"label\":\"Select Item\",\"hide-details\":\"\",\"dense\":\"\",\"disabled\":_vm.itemsDisabled || _vm.buttonDisabled,\"items\":_vm.itemNames,\"item-text\":\"label\",\"item-value\":\"value\"},on:{\"change\":function($event){return _vm.itemNameChanged($event)}},model:{value:(_vm.selectedItemName),callback:function ($$v) {_vm.selectedItemName=$$v},expression:\"selectedItemName\"}})],1):_vm._e(),(_vm.buttonText)?_c('v-col',{attrs:{\"cols\":_vm.colSize}},[_c('v-btn',{attrs:{\"disabled\":_vm.buttonDisabled,\"block\":\"\",\"color\":\"primary\",\"data-test\":\"select-send\"},on:{\"click\":_vm.buttonPressed}},[_vm._v(\" \"+_vm._s(_vm.actualButtonText)+\" \")])],1):_vm._e()],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[(_vm.hazardous)?_c('v-col',{staticClass:\"openc3-yellow\",attrs:{\"cols\":_vm.colSize}},[_c('astro-badge',{attrs:{\"status\":\"caution\",\"inline\":\"\"}},[_vm._v(\" Description: \"+_vm._s(_vm.description)+\" (HAZARDOUS) \")])],1):_c('v-col',{attrs:{\"cols\":_vm.colSize}},[_vm._v(\" Description: \"+_vm._s(_vm.description)+\" \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetPacketItemChooser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetPacketItemChooser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TargetPacketItemChooser.vue?vue&type=template&id=396dabb5&\"\nimport script from \"./TargetPacketItemChooser.vue?vue&type=script&lang=js&\"\nexport * from \"./TargetPacketItemChooser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TargetPacketItemChooser.vue?vue&type=style&index=0&id=396dabb5&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('div',{staticClass:\"v-toolbar__content\"},[_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider'):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":option.command}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label},model:{value:(_vm.checked),callback:function ($$v) {_vm.checked=$$v},expression:\"checked\"}})],1):_vm._e(),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),_c('v-spacer'),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.title))]),_c('v-spacer')],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=5fb8d7fb&scoped=true&\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js&\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=5fb8d7fb&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5fb8d7fb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"TlmGrapher Settings\")]),_c('v-spacer')],1),_c('v-card',{staticClass:\"pa-3\"},[_c('v-card-text',[_vm._l((_vm.settings),function(item){return _c('div',{key:item.title},[_c('v-row',{staticClass:\"my-5\"},[_c('v-text-field',{attrs:{\"hide-details\":\"auto\",\"type\":\"number\",\"rules\":item.rules,\"label\":item.title},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", _vm._n($$v))},expression:\"item.value\"}})],1)],1)}),_c('v-row',[_c('span',{staticClass:\"red--text\"},[_vm._v(\" Increasing these values may cause issues \")])])],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from './axios.js'\n\nconst request = async function (\n method,\n url,\n { data, params = {}, headers, noAuth = false, noScope = false } = {}\n) {\n if (!noAuth) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n headers['Authorization'] = localStorage.openc3Token\n }\n if (!noScope && !params['scope']) {\n params['scope'] = window.openc3Scope\n }\n return axios({\n method,\n url,\n data,\n params,\n headers,\n })\n}\n\nconst acceptOnlyDefaultHeaders = {\n Accept: 'application/json',\n}\n\nconst fullDefaultHeaders = {\n ...acceptOnlyDefaultHeaders,\n 'Content-Type': 'application/json',\n}\n\nexport default {\n get: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('get', path, { params, headers, noScope, noAuth })\n },\n\n put: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('put', path, { data, params, headers, noScope, noAuth })\n },\n\n post: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('post', path, { data, params, headers, noScope, noAuth })\n },\n\n delete: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('delete', path, { params, headers, noScope, noAuth })\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-system-bar>\n <v-spacer />\n <span>TlmGrapher Settings</span>\n <v-spacer />\n </v-system-bar>\n <v-card class=\"pa-3\">\n <v-card-text>\n <div v-for=\"item in settings\" :key=\"item.title\">\n <v-row class=\"my-5\">\n <v-text-field\n hide-details=\"auto\"\n type=\"number\"\n :rules=\"item.rules\"\n :label=\"item.title\"\n v-model.number=\"item.value\"\n />\n </v-row>\n </div>\n <v-row>\n <span class=\"red--text\">\n Increasing these values may cause issues\n </span>\n </v-row>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport Api from '@openc3/tool-common/src/services/api'\n\nexport default {\n props: {\n settings: {\n type: Object,\n required: true,\n },\n value: Boolean, // value is the default prop when using v-model\n },\n data() {\n return {}\n },\n computed: {\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n },\n methods: {},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsDialog.vue?vue&type=template&id=1c4f40a8&\"\nimport script from \"./SettingsDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/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# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <div>\n <v-snackbar\n v-model=\"showAlert\"\n top\n :type=\"alertType\"\n :icon=\"alertType\"\n :timeout=\"5000\"\n >\n <v-icon> mdi-{{ alertType }} </v-icon>\n {{ alert }}\n <template v-slot:action=\"{ attrs }\">\n <v-btn\n text\n v-bind=\"attrs\"\n @click=\"\n () => {\n showAlert = false\n }\n \"\n >\n Close\n </v-btn>\n </template>\n </v-snackbar>\n\n <div v-show=\"this.selectedGraphId === null\">\n <v-row class=\"my-5\">\n <v-spacer />\n <span>\n Add a graph from the menu bar or select an existing graph to\n continue\n </span>\n <v-spacer />\n </v-row>\n </div>\n\n <v-row\n class=\"px-1\"\n justify=\"space-between\"\n v-show=\"this.selectedGraphId !== null\"\n >\n <v-col cols=\"11\">\n <target-packet-item-chooser\n :initial-target-name=\"this.$route.params.target\"\n :initial-packet-name=\"this.$route.params.packet\"\n :initial-item-name=\"this.$route.params.item\"\n @click=\"addItem\"\n button-text=\"Add Item\"\n choose-item\n />\n </v-col>\n <v-col cols=\"1\">\n <v-btn\n v-show=\"state === 'pause'\"\n class=\"pulse\"\n v-on:click=\"\n () => {\n state = 'start'\n }\n \"\n color=\"primary\"\n fab\n data-test=\"start-graph\"\n >\n <v-icon large>mdi-play</v-icon>\n </v-btn>\n <v-btn\n v-show=\"state === 'start'\"\n v-on:click=\"\n () => {\n state = 'pause'\n }\n \"\n color=\"primary\"\n fab\n data-test=\"pause-graph\"\n >\n <v-icon large>mdi-pause</v-icon>\n </v-btn>\n </v-col>\n </v-row>\n\n <div class=\"grid\">\n <div\n class=\"item\"\n v-for=\"graph in graphs\"\n :key=\"graph\"\n :id=\"`gridItem${graph}`\"\n :ref=\"`gridItem${graph}`\"\n >\n <div class=\"item-content\">\n <graph\n :ref=\"`graph${graph}`\"\n :id=\"graph\"\n :state=\"state\"\n :start-time=\"startTime\"\n :selected-graph-id=\"selectedGraphId\"\n :seconds-graphed=\"settings.secondsGraphed.value\"\n :points-saved=\"settings.pointsSaved.value\"\n :points-graphed=\"settings.pointsGraphed.value\"\n @close-graph=\"() => closeGraph(graph)\"\n @min-max-graph=\"() => minMaxGraph(graph)\"\n @resize=\"() => resize()\"\n @click=\"() => graphSelected(graph)\"\n @started=\"graphStarted\"\n />\n </div>\n </div>\n </div>\n </div>\n <!-- Note we're using v-if here so it gets re-created each time and refreshes the list -->\n <open-config-dialog\n v-if=\"showOpenConfig\"\n v-model=\"showOpenConfig\"\n :tool=\"toolName\"\n @success=\"openConfiguration\"\n />\n <!-- Note we're using v-if here so it gets re-created each time and refreshes the list -->\n <save-config-dialog\n v-if=\"showSaveConfig\"\n v-model=\"showSaveConfig\"\n :tool=\"toolName\"\n @success=\"saveConfiguration\"\n />\n <!-- Note we're using v-if here so it gets re-created each time and refreshes the list -->\n <settings-dialog\n v-show=\"showSettingsDialog\"\n v-model=\"showSettingsDialog\"\n :settings=\"settings\"\n />\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport Graph from '@openc3/tool-common/src/components/Graph.vue'\nimport OpenConfigDialog from '@openc3/tool-common/src/components/OpenConfigDialog'\nimport SaveConfigDialog from '@openc3/tool-common/src/components/SaveConfigDialog'\nimport TargetPacketItemChooser from '@openc3/tool-common/src/components/TargetPacketItemChooser'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport Muuri from 'muuri'\n\nimport SettingsDialog from '@/tools/TlmGrapher/SettingsDialog'\n\nconst MURRI_REFRESH_TIME = 250\nexport default {\n components: {\n Graph,\n OpenConfigDialog,\n SaveConfigDialog,\n SettingsDialog,\n TargetPacketItemChooser,\n TopBar,\n },\n data() {\n return {\n alert: '',\n alertType: 'success',\n showAlert: false,\n title: 'Telemetry Grapher',\n toolName: 'telemetry-grapher',\n showOpenConfig: false,\n showSaveConfig: false,\n showSettingsDialog: false,\n grid: null,\n state: 'stop', // Valid: stop, start, pause\n startTime: null, // Start time in nanoseconds\n // Setup defaults to show an initial graph\n graphs: [0],\n selectedGraphId: 0,\n counter: 1,\n menus: [\n {\n label: 'File',\n items: [\n {\n label: 'Open Configuration',\n icon: 'mdi-folder-open',\n command: () => {\n this.showOpenConfig = true\n },\n },\n {\n label: 'Save Configuration',\n icon: 'mdi-content-save',\n command: () => {\n this.showSaveConfig = true\n },\n },\n ],\n },\n {\n label: 'Graph',\n items: [\n {\n label: 'Add Graph',\n icon: 'mdi-plus',\n command: () => {\n this.addGraph()\n },\n },\n {\n divider: true,\n },\n {\n label: 'Start / Resume',\n icon: 'mdi-play',\n command: () => {\n this.state = 'start'\n },\n },\n {\n label: 'Pause',\n icon: 'mdi-pause',\n command: () => {\n this.state = 'pause'\n },\n },\n {\n label: 'Stop',\n icon: 'mdi-stop',\n command: () => {\n this.state = 'stop'\n },\n },\n {\n divider: true,\n },\n {\n label: 'Settings',\n icon: 'mdi-cog',\n command: () => {\n this.showSettingsDialog = true\n },\n },\n ],\n },\n ],\n settings: {\n secondsGraphed: {\n title: 'Seconds Graphed',\n value: 1000,\n rules: [(value) => !!value || 'Required'],\n },\n pointsSaved: {\n title: 'Points Saved',\n value: 1000000,\n rules: [(value) => !!value || 'Required'],\n },\n pointsGraphed: {\n title: 'Points Graphed',\n value: 1000,\n rules: [(value) => !!value || 'Required'],\n },\n },\n }\n },\n mounted: function () {\n this.grid = new Muuri('.grid', {\n dragEnabled: true,\n layoutOnResize: true,\n // Only allow drags starting from the v-system-bar title\n dragHandle: '.v-system-bar',\n })\n // Sometimes when we move graphs, other graphs become non-interactive\n // This seems to fix that issue\n this.grid.on('move', function (data) {\n data.item.getGrid().synchronize()\n })\n const previousConfig = this.getLocalStorageConfig()\n // If we're passed in the route then manually addItem\n if (\n this.$route.params.target &&\n this.$route.params.packet &&\n this.$route.params.item\n ) {\n this.addItem({\n targetName: this.$route.params.target.toUpperCase(),\n packetName: this.$route.params.packet.toUpperCase(),\n itemName: this.$route.params.item.toUpperCase(),\n })\n } else if (previousConfig) {\n this.openConfiguration(previousConfig)\n }\n },\n methods: {\n alertHandler: function (event) {\n this.alert = event.text\n this.alertType = event.type\n this.showAlert = true\n },\n setLocalStorageConfig: function (value) {\n localStorage['lastconfig__telemetry_grapher'] = value\n },\n getLocalStorageConfig: function () {\n return localStorage['lastconfig__telemetry_grapher']\n },\n graphSelected: function (id) {\n this.selectedGraphId = id\n },\n addItem: function (item, startGraphing = true) {\n this.$refs[`graph${this.selectedGraphId}`][0].addItems([item])\n if (startGraphing === true) {\n this.state = 'start'\n }\n },\n addGraph: function () {\n const id = this.counter\n this.graphs.push(id)\n this.counter += 1\n this.$nextTick(function () {\n var items = this.grid.add(this.$refs[`gridItem${id}`], {\n active: false,\n })\n this.grid.show(items)\n this.selectedGraphId = id\n setTimeout(() => {\n this.grid.refreshItems().layout()\n }, MURRI_REFRESH_TIME)\n })\n },\n closeGraph: function (id) {\n var items = this.grid.getItems([document.getElementById(`gridItem${id}`)])\n this.grid.remove(items)\n this.graphs.splice(this.graphs.indexOf(id), 1)\n this.selectedGraphId = null\n },\n closeAllGraphs: function () {\n // Make a copy of this.graphs to iterate on since closeGraph modifies in place\n for (let graph of [...this.graphs]) {\n this.closeGraph(graph)\n }\n this.counter = 0\n },\n minMaxGraph: function (id) {\n this.selectedGraphId = id\n setTimeout(\n () => {\n this.grid.refreshItems().layout()\n },\n MURRI_REFRESH_TIME * 2 // Double the time since there is more animation\n )\n },\n resize: function () {\n setTimeout(\n () => {\n this.grid.refreshItems().layout()\n },\n MURRI_REFRESH_TIME * 2 // Double the time since there is more animation\n )\n },\n graphStarted: function (time) {\n // Only set startTime once when notified by the first graph to start\n // This allows us to have a uniform start time on all graphs\n if (this.startTime === null) {\n this.startTime = time\n }\n },\n saveConfiguration: function (name) {\n const config = this.grid.getItems().map((item) => {\n // Map the gridItem id to the graph id\n const graphId = `graph${item.getElement().id.substring(8)}`\n const vueGraph = this.$refs[graphId][0]\n return {\n items: vueGraph.items,\n title: vueGraph.title,\n fullWidth: vueGraph.fullWidth,\n fullHeight: vueGraph.fullHeight,\n graphMinX: vueGraph.graphMinX,\n graphMaxX: vueGraph.graphMaxX,\n legendPosition: vueGraph.legendPosition,\n }\n })\n new OpenC3Api()\n .save_config(this.toolName, name, JSON.stringify(config))\n .then((response) => {\n this.setLocalStorageConfig(name)\n this.alertHandler({\n text: `Saved configuration: ${name}`,\n type: 'success',\n })\n })\n .catch((error) => {\n if (error) {\n this.alertHandler({\n text: `Failed to save configuration: ${name}. ${error}`,\n type: 'error',\n })\n }\n })\n },\n openConfiguration: function (name) {\n this.setLocalStorageConfig(name)\n new OpenC3Api()\n .load_config(this.toolName, name)\n .then((response) => {\n if (response) {\n this.loadConfiguration(response)\n }\n })\n .catch((error) => {\n if (error) {\n this.alertHandler({\n text: `Failed to open configuration: ${name}. ${error}`,\n type: 'error',\n })\n this.setLocalStorageConfig(null)\n }\n })\n },\n async loadConfiguration(configStr) {\n this.closeAllGraphs()\n await this.$nextTick()\n const config = JSON.parse(configStr)\n for (let graph of config) {\n this.addGraph()\n }\n await this.$nextTick()\n const that = this\n config.forEach(function (graph, i) {\n let vueGraph = that.$refs[`graph${i}`][0]\n vueGraph.title = graph.title\n vueGraph.fullWidth = graph.fullWidth\n vueGraph.fullHeight = graph.fullHeight\n vueGraph.graphMinX = graph.graphMinX\n vueGraph.graphMaxX = graph.graphMaxX\n vueGraph.moveLegend(graph.legendPosition)\n vueGraph.addItems([...graph.items])\n })\n this.state = 'start'\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.v-navigation-drawer {\n z-index: 2;\n}\n.theme--dark.v-navigation-drawer {\n background-color: var(--v-primary-darken2);\n}\n.grid {\n position: relative;\n}\n.item {\n position: absolute;\n z-index: 1;\n}\n.item.muuri-item-dragging {\n z-index: 3;\n}\n.item.muuri-item-releasing {\n z-index: 2;\n}\n.item.muuri-item-hidden {\n z-index: 0;\n}\n.item-content {\n position: relative;\n cursor: pointer;\n border-radius: 6px;\n margin: 5px;\n}\n\n.pulse {\n animation: pulse 1s infinite;\n}\n\n@keyframes pulse {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.5;\n }\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmGrapher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmGrapher.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TlmGrapher.vue?vue&type=template&id=a295d204&scoped=true&\"\nimport script from \"./TlmGrapher.vue?vue&type=script&lang=js&\"\nexport * from \"./TlmGrapher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TlmGrapher.vue?vue&type=style&index=0&id=a295d204&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a295d204\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".uplot.side-legend{display:flex;width:auto}.uplot.side-legend .u-wrap{flex:none}.uplot.side-legend .u-legend{text-align:left;margin-left:0;width:220px}.uplot.side-legend .u-legend,.uplot.side-legend .u-legend td,.uplot.side-legend .u-legend th,.uplot.side-legend .u-legend tr{display:revert}.uplot.left-legend .u-legend{order:-1}.uplot.top-legend{display:flex;flex-direction:column}.uplot.top-legend .u-legend{order:-1}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#chart[data-v-3157fc8b]{background-color:var(--v-tertiary-darken2)}#chart[data-v-3157fc8b] .u-select{background-color:hsla(0,0%,100%,.07)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-badge__badge{height:auto;padding:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-list[data-v-5fb8d7fb] .v-label{margin-left:5px}.v-list-item__icon[data-v-5fb8d7fb]{margin-right:15px!important}.v-list-item__title[data-v-5fb8d7fb]{color:#fff}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-navigation-drawer[data-v-a295d204]{z-index:2}.theme--dark.v-navigation-drawer[data-v-a295d204]{background-color:var(--v-primary-darken2)}.grid[data-v-a295d204]{position:relative}.item[data-v-a295d204]{position:absolute;z-index:1}.item.muuri-item-dragging[data-v-a295d204]{z-index:3}.item.muuri-item-releasing[data-v-a295d204]{z-index:2}.item.muuri-item-hidden[data-v-a295d204]{z-index:0}.item-content[data-v-a295d204]{position:relative;cursor:pointer;border-radius:6px;margin:5px}.pulse[data-v-a295d204]{-webkit-animation:pulse-a295d204 1s infinite;animation:pulse-a295d204 1s infinite}@-webkit-keyframes pulse-a295d204{0%{opacity:1}50%{opacity:.5}}@keyframes pulse-a295d204{0%{opacity:1}50%{opacity:.5}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Graph.vue?vue&type=style&index=0&id=3157fc8b&prod&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"14b15eed\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Graph.vue?vue&type=style&index=1&id=3157fc8b&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"926ea70e\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetPacketItemChooser.vue?vue&type=style&index=0&id=396dabb5&prod&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6c0e906e\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=5fb8d7fb&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7bc1978b\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!../../../../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmGrapher.vue?vue&type=style&index=0&id=a295d204&prod&lang=scss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"c499aff2\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["render","_vm","this","_c","_self","attrs","menus","title","alertType","scopedSlots","_u","key","fn","_b","on","showAlert","_v","model","value","callback","$$v","expression","_s","alert","directives","name","rawName","selectedGraphId","staticClass","$route","params","target","packet","item","addItem","state","_l","graphs","graph","ref","refInFor","startTime","settings","secondsGraphed","pointsSaved","pointsGraphed","closeGraph","minMaxGraph","resize","graphSelected","graphStarted","showOpenConfig","toolName","openConfiguration","_e","showSaveConfig","saveConfiguration","showSettingsDialog","staticRenderFns","vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","interceptors","response","use","error","status","OpenC3Auth","updateToken","defaultMinValidity","headers","includes","toString","Promise","reject","body","statusText","config","data","message","exception","class","$notify","serious","OpenC3Api","method","kwparams","headerOptions","login","id","window","openc3Scope","jsonrpc","keyword_params","Authorization","localStorage","openc3Token","result","err","Error","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","exec","interface_name","router_name","target_commands","log_writer_name","limits_set","target_name","packet_name","value_type","type","len","length","converted","i","decode_openc3_type","items","item_name","data_type","undefined","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","call","encode_openc3_type","_cmd","tool","ignored","array","string","isSecureContext","arrayBuffer","TextEncoder","encode","crypto","subtle","digest","hashAsArrayBuffer","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join","nativeOn","$event","$emit","hideSystemBar","errors","_g","errorDialog","editGraph","expand","calcFullSize","collapseAll","expandAll","fullWidth","collapseWidth","expandWidth","fullHeight","collapseHeight","expandHeight","minMaxTransition","showOverview","indexOf","_k","keyCode","editGraphClose","graphStartDateTime","graphEndDateTime","legendPositions","legendPosition","graphMinY","graphMaxY","itemHeaders","editItems","itemId","removeItems","proxy","clearErrors","editGraphMenu","editGraphMenuX","editGraphMenuY","staticStyle","editItem","valueTypes","currentType","closeEditItem","itemMenu","itemMenuX","itemMenuY","openEditItem","selectedItem","itemName","legendMenu","legendMenuX","legendMenuY","moveLegend","dateLabel","Date","now","dateRules","date","timeLabel","timeRules","onChange","time","props","required","default","initialDate","initialTime","rules","isValid","computed","methods","component","ActionCable","Cable","url","_cable","disconnect","channel","scope","callbacks","additionalOptions","then","subscriptions","create","token","require","components","DateTimeChooser","hideOverview","sparkline","initialItems","height","width","text","sortable","active","overview","indexes","drawInterval","zoomChart","zoomOverview","cable","subscription","needToUpdate","colors","created","mounted","spanGaps","stroke","seriesObj","commonProps","label","chartSeries","overviewSeries","chartOpts","pxAlign","cursor","show","select","legend","scales","x","axes","series","document","v","format","drag","y","sync","hooks","setScale","left","ready","canvas","e","seriesEl","points","setSelect","chart","min","max","overviewOpts","beforeDestroy","watch","handleResize","setGraphRange","pad","subscribe","createSubscription","received","connected","disconnected","rejected","getSize","navDrawer","legendWidth","Math","navDrawerWidth","getScales","range","u","dataMin","dataMax","getAxes","strokeColor","axisColor","grid","size","changeType","addItems","itemArray","index","addItemsToSubscription","endTime","mode","start_time","end_time","removeItemsFromSubscription","reorderIndexes","bs_comparator","set_data_at_index","subscriptionKey","cancel","apply","arguments","preventDefault","success","search","configs","itemSelected","slot","deleteConfig","domProps","align","get","set","list_configs","configId","catch","confirm","okText","cancelText","configName","colSize","targetNames","targetNameChanged","selectedTargetName","packetsDisabled","buttonDisabled","packetNames","packetNameChanged","selectedPacketName","chooseItem","itemsDisabled","itemNames","itemNameChanged","selectedItemName","buttonText","buttonPressed","actualButtonText","hazardous","description","allowAll","disabled","initialTargetName","initialPacketName","initialItemName","validator","reduced","propValue","unknown","vertical","internalDisabled","api","ALL","UNKNOWN","targetChooserStyle","float","packetChooserStyle","updatePackets","updateItems","reduce","targetName","packetName","makeReducedItems","allTargetPacketItems","allPacketItems","menu","formatDT","radioGroup","option","j","divider","command","radio","checkbox","checked","icon","style","$set","_n","acceptOnlyDefaultHeaders","Accept","Graph","OpenConfigDialog","SaveConfigDialog","SettingsDialog","TargetPacketItemChooser","TopBar","counter","dragEnabled","layoutOnResize","dragHandle","alertHandler","setLocalStorageConfig","getLocalStorageConfig","addGraph","setTimeout","MURRI_REFRESH_TIME","closeAllGraphs","graphMinX","graphMaxX","save_config","JSON","load_config","loadConfiguration","configStr","that","vueGraph","___CSS_LOADER_EXPORT___","push","module","content","__esModule","locals","exports","add"],"sourceRoot":""}
|