openc3-cosmos-tool-handbooks 5.17.1 → 5.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/tools/handbooks/js/662.js +1 -1
- data/tools/handbooks/js/662.js.map +1 -1
- data/tools/handbooks/js/84.js +1 -1
- data/tools/handbooks/js/84.js.map +1 -1
- data/tools/handbooks/js/app.js +1 -1
- data/tools/handbooks/js/app.js.map +1 -1
- metadata +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"js/662.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?c4b5","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?1221","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?85c4","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?663c","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?a8e2","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?69b3","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?cdc5","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?1265","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?585c","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?92ac","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?9d44"],"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}}),_vm._v(\" \"),_c('v-card',[_c('v-container',{staticClass:\"d-print-none\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{staticClass:\"ma-0 pa-0\",attrs:{\"label\":\"Select Target(s)\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.targetNames,\"multiple\":\"\"},on:{\"change\":_vm.targetSelect},scopedSlots:_vm._u([{key:\"prepend-item\",fn:function(){return [_c('v-list-item',{attrs:{\"ripple\":\"\"},on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":_vm.toggleTargets}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"\\n \"+_vm._s(_vm.icon)+\"\\n \")])],1),_vm._v(\" \"),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" Select All \")])],1)],1),_vm._v(\" \"),_c('v-divider',{staticClass:\"mt-2\"})]},proxy:true}]),model:{value:(_vm.selectedTargetNames),callback:function ($$v) {_vm.selectedTargetNames=$$v},expression:\"selectedTargetNames\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-btn',{staticClass:\"primary\",on:{\"click\":function($event){_vm.renderedTargetNames = _vm.selectedTargetNames}}},[_vm._v(\"\\n Display\\n \")])],1),_vm._v(\" \"),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Item Columns\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.columnItems},model:{value:(_vm.columns),callback:function ($$v) {_vm.columns=$$v},expression:\"columns\"}})],1)],1)],1)],1),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"15px\"}}),_vm._v(\" \"),_vm._l((_vm.renderedTargetNames),function(target){return _c('div',{key:target},[_c('target',{attrs:{\"target\":target,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived}})],1)})],2)\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# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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).then(\n function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n },\n )\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 // headers: {\n // 'Ignore-Errors': '404',\n // },\n // })\n if (\n error.response.config.headers['Ignore-Errors'] &&\n error.response.config.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 if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\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 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n async exec(\n method,\n params,\n kwparams = {},\n headerOptions = {},\n timeout = 60000\n ) {\n try {\n let refreshed = await OpenC3Auth.updateToken(\n OpenC3Auth.defaultMinValidity\n )\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\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 timeout: timeout,\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 // NOTE: Openc3Screen.vue uses this specific message to determine\n // if the CmdTlmApi server is down. Don't change unless also changing there.\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 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 ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [\n interface_name,\n ...interface_params,\n ])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n interface_cmd(interface_name, command_name, ...command_params) {\n return this.exec('interface_cmd', [\n interface_name,\n command_name,\n ...command_params,\n ])\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_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\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_param(target, packet, item) {\n return this.exec('get_param', [target, packet, item])\n }\n // DEPRECATED for get_param\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\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 // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_names() {\n return this.exec('get_target_names', [])\n }\n // DEPRECATED\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_tlm(target_name, packet_name) {\n return this.exec('get_tlm', [target_name, packet_name])\n }\n // DEPRECATED\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_tlm(target_name) {\n return this.exec('get_all_tlm', [target_name])\n }\n // DEPREACTE\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_tlm_names(target_name) {\n return this.exec('get_all_tlm_names', [target_name])\n }\n // DEPRECATED\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, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\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, stale_time = 30, cache_timeout = null) {\n let kw_args = {\n stale_time: stale_time,\n }\n if (cache_timeout !== null) {\n kw_args['cache_timeout'] = cache_timeout\n }\n const data = await this.exec(\n 'get_tlm_values',\n [items],\n kw_args,\n {},\n 10000 // 10s timeout ... should never be this long\n )\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, value_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: value_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 async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED'\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n }\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_cmds(target_name) {\n return this.exec('get_all_cmds', [target_name])\n }\n // DEPRECATED for get_all_cmds\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_cmd_names(target_name) {\n return this.exec('get_all_cmd_names', [target_name])\n }\n // DEPRECATED for get_all_cmd_names\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_cmd(target_name, command_name) {\n return this.exec('get_cmd', [target_name, command_name])\n }\n // DEPRECATED for get_cmd\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 build_cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_cmd', target_name)\n } else {\n return this._cmd('build_cmd', target_name, command_name, param_list)\n }\n }\n // DEPRECATED for build_cmd\n build_command(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_command', target_name)\n } else {\n return this._cmd('build_command', target_name, command_name, param_list)\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 enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\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 set_setting(name, data) {\n return this.exec('set_setting', [name, data])\n }\n\n // DEPRECATED\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\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('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"align-self\":\"end\"}},[_c('span',{staticClass:\"app-title mr-2\"},[_vm._v(_vm._s(_vm.title))])])],1),_vm._v(\" \"),_c('v-row',{staticClass:\"flex-nowrap\",attrs:{\"dense\":\"\"}},_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,ref:\"topmenu\",refInFor:true,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1 menu-button\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_vm._v(\" \"),_c('v-icon',{staticClass:\"myicon\",attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_vm._v(\" \"),_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',{key:j}):(option.subMenu && option.subMenu.length > 0)?_c('div',{key:j},[_c('v-menu',{key:_vm.k,attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item',_vm._g(_vm._b({key:j,attrs:{\"disabled\":option.disabled}},'v-list-item',attrs,false),on),[(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' +\n (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('v-icon',[_vm._v(\" mdi-chevron-right \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',_vm._l((option.subMenu),function(submenu,k){return _c('v-list-item',{key:k,on:{\"click\":function($event){return _vm.subMenuClick(submenu)}}},[(submenu.icon)?_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(submenu.icon))])],1):_vm._e(),_vm._v(\" \"),_c('v-list-item-title',[_vm._v(_vm._s(submenu.label))])],1)}),1)],1)],1):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":function($event){return option.command(option)}}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),_vm._v(\" \"),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label},model:{value:(option.checked),callback:function ($$v) {_vm.$set(option, \"checked\", $$v)},expression:\"option.checked\"}})],1):_vm._e(),_vm._v(\" \"),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!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)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/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/@vue/cli-plugin-babel/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=57d4fdd2&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=57d4fdd2&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 \"57d4fdd2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-container',{attrs:{\"id\":_vm.target}},[_c('div',{staticClass:\"text-h3 text-center\"},[_vm._v(_vm._s(_vm.target))]),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Commands\")])],1),_vm._v(\" \"),_vm._l((_vm.commands),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredParams}})],1)],1)}),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Telemetry\")])],1),_vm._v(\" \"),_vm._l((_vm.telemetry),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredItems}})],1)],1)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',{staticClass:\"text-h4 justify-center\"},[_vm._v(_vm._s(_vm.packet.target_name)+\" \"+_vm._s(_vm.packet.packet_name))]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.packet.description)+\"\\n \"),_c('div',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.packet.endianness))])]),_vm._v(\" \"),_c('v-card-text',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-col',{key:item.name,attrs:{\"cols\":_vm.columns}},[_c('item',{attrs:{\"item\":item}})],1)}),1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mx-auto\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.name)+\"\\n \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.item.description))]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"text--primary\"},[_c('div',[_vm._v(\"Bit Offset: \"+_vm._s(_vm.item.bit_offset))]),_vm._v(\" \"),_c('div',[_vm._v(\"Bit Size: \"+_vm._s(_vm.item.bit_size))]),_vm._v(\" \"),_c('div',[_vm._v(\"Data Type: \"+_vm._s(_vm.item.data_type))]),_vm._v(\" \"),_c('div',[_vm._v(\"Endianness: \"+_vm._s(_vm.item.endianness))]),_vm._v(\" \"),_c('div',[_vm._v(\"Overflow: \"+_vm._s(_vm.item.overflow))]),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'minimum'))?_c('div',[_vm._v(\"\\n Minimum: \"+_vm._s(_vm.item.minimum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'maximum'))?_c('div',[_vm._v(\"\\n Maximum: \"+_vm._s(_vm.item.maximum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'default'))?_c('div',[_vm._v(\"\\n Default: \"+_vm._s(_vm.item.default)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.item.id_value)?_c('div',[_c('strong',[_vm._v(\"ID Value: 0x\"+_vm._s(_vm.item.id_value.toString(16).toUpperCase()))])]):_vm._e(),_vm._v(\" \"),(_vm.readConversion)?_c('div',[_vm._v(\"Read Conversion: \"+_vm._s(_vm.readConversion))]):_vm._e(),_vm._v(\" \"),(_vm.writeConversion)?_c('div',[_vm._v(\"Write Conversion: \"+_vm._s(_vm.writeConversion))]):_vm._e()])],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# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card class=\"mx-auto\" outlined>\n <v-card-title class=\"justify-center\">\n {{ item.name }}\n </v-card-title>\n <v-card-subtitle>{{ item.description }}</v-card-subtitle>\n <v-card-text class=\"text--primary\">\n <div>Bit Offset: {{ item.bit_offset }}</div>\n <div>Bit Size: {{ item.bit_size }}</div>\n <div>Data Type: {{ item.data_type }}</div>\n <div>Endianness: {{ item.endianness }}</div>\n <div>Overflow: {{ item.overflow }}</div>\n <div v-if=\"Object.hasOwn(item, 'minimum')\">\n Minimum: {{ item.minimum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'maximum')\">\n Maximum: {{ item.maximum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'default')\">\n Default: {{ item.default }}\n </div>\n <div v-if=\"item.id_value\">\n <strong\n >ID Value: 0x{{ item.id_value.toString(16).toUpperCase() }}</strong\n >\n </div>\n <div v-if=\"readConversion\">Read Conversion: {{ readConversion }}</div>\n <div v-if=\"writeConversion\">Write Conversion: {{ writeConversion }}</div>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nexport default {\n props: {\n item: {\n type: Object,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n readConversion() {\n if (Object.hasOwn(this.item, 'read_conversion')) {\n let result = `${this.item.read_conversion.class}`\n if (this.item.read_conversion.params) {\n result += ` with ${this.item.read_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n writeConversion() {\n if (Object.hasOwn(this.item, 'write_conversion')) {\n let result = `${this.item.write_conversion.class}`\n if (this.item.write_conversion.params) {\n result += ` with ${this.item.write_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=22d2b16a\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.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# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title class=\"text-h4 justify-center\"\n >{{ packet.target_name }} {{ packet.packet_name }}</v-card-title\n >\n <v-card-subtitle\n >{{ packet.description }}\n <div class=\"float-right\">{{ packet.endianness }}</div>\n </v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row dense>\n <v-col v-for=\"item in items\" :key=\"item.name\" :cols=\"columns\">\n <item :item=\"item\"></item>\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport Item from './Item'\n\nexport default {\n components: {\n Item,\n },\n props: {\n packet: {\n type: Object,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n ignored: {\n type: Object,\n },\n },\n computed: {\n items() {\n let items = this.packet.items\n if (this.hideIgnored) {\n items = items.filter((item) => !this.ignored.includes(item.name))\n }\n if (this.hideDerived) {\n items = items.filter((item) => item.data_type !== 'DERIVED')\n }\n return items\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Packet.vue?vue&type=template&id=69a31f4f\"\nimport script from \"./Packet.vue?vue&type=script&lang=js\"\nexport * from \"./Packet.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# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-container :id=\"target\">\n <div class=\"text-h3 text-center\">{{ target }}</div>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Commands</v-col>\n </v-row>\n <v-row\n v-for=\"packet in commands\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredParams\"\n ></packet>\n </v-col>\n </v-row>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Telemetry</v-col>\n </v-row>\n <v-row\n v-for=\"packet in telemetry\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredItems\"\n ></packet>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport Packet from './Packet'\n\nexport default {\n components: {\n Packet,\n },\n props: {\n target: {\n type: String,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n api: null,\n commands: [],\n telemetry: [],\n ignoredParams: [],\n ignoredItems: [],\n }\n },\n\n created() {\n this.api = new OpenC3Api()\n this.api.get_target(this.target).then((target) => {\n this.ignoredParams = target.ignored_parameters\n this.ignoredItems = target.ignored_items\n })\n // TODO: Test with large DB as this returns ALL commands\n this.api.get_all_cmds(this.target).then((packets) => {\n this.commands = packets\n })\n this.api.get_all_tlm(this.target).then((packets) => {\n this.telemetry = packets\n })\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Target.vue?vue&type=template&id=045280e6\"\nimport script from \"./Target.vue?vue&type=script&lang=js\"\nexport * from \"./Target.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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-container class=\"d-print-none\">\n <v-row dense>\n <v-col>\n <v-select\n class=\"ma-0 pa-0\"\n label=\"Select Target(s)\"\n dense\n hide-details\n outlined\n :items=\"targetNames\"\n v-model=\"selectedTargetNames\"\n @change=\"targetSelect\"\n multiple\n >\n <template v-slot:prepend-item>\n <v-list-item ripple @mousedown.prevent @click=\"toggleTargets\">\n <v-list-item-action>\n <v-icon>\n {{ icon }}\n </v-icon>\n </v-list-item-action>\n <v-list-item-content>\n <v-list-item-title> Select All </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <v-divider class=\"mt-2\"></v-divider>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-btn\n class=\"primary\"\n @click=\"renderedTargetNames = selectedTargetNames\"\n >\n Display\n </v-btn>\n </v-col>\n <v-col>\n <v-select\n label=\"Item Columns\"\n dense\n hide-details\n outlined\n v-model=\"columns\"\n :items=\"columnItems\"\n ></v-select>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n <div style=\"height: 15px\" />\n <div v-for=\"target in renderedTargetNames\" :key=\"target\">\n <target\n :target=\"target\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n ></target>\n </div>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport Target from './Target'\n\nexport default {\n components: {\n TopBar,\n Target,\n },\n data() {\n return {\n title: 'Handbooks',\n targetNames: [],\n selectedTargetNames: [],\n renderedTargetNames: [],\n api: null,\n columns: 3,\n columnItems: [\n { text: '1', value: 12 },\n { text: '2', value: 6 },\n { text: '3', value: 4 },\n { text: '4', value: 3 },\n { text: '6', value: 2 },\n { text: '12', value: 1 },\n ],\n hideIgnored: false,\n hideDerived: false,\n menus: [\n {\n label: 'View',\n items: [\n {\n label: 'Hide Ignored Items',\n checkbox: true,\n command: () => {\n this.hideIgnored = !this.hideIgnored\n },\n },\n {\n label: 'Hide Derived Items',\n checkbox: true,\n command: () => {\n this.hideDerived = !this.hideDerived\n },\n },\n ],\n },\n ],\n }\n },\n computed: {\n allTargetsSelected() {\n return this.targetNames.length === this.selectedTargetNames.length\n },\n someTargetsSelected() {\n return this.selectedTargetNames.length > 0 && !this.allTargetsSelected\n },\n icon() {\n if (this.allTargetsSelected) return 'mdi-close-box'\n if (this.someTargetsSelected) return 'mdi-minus-box'\n return 'mdi-checkbox-blank-outline'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_target_names({ params: { scope: window.openc3Scope } })\n .then((targets) => {\n this.targetNames = targets\n })\n },\n methods: {\n toggleTargets() {\n this.$nextTick(() => {\n if (this.allTargetsSelected) {\n this.selectedTargetNames = []\n } else {\n this.selectedTargetNames = this.targetNames.slice()\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Handbooks.vue?vue&type=template&id=e58fd9cc\"\nimport script from \"./Handbooks.vue?vue&type=script&lang=js\"\nexport * from \"./Handbooks.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","// 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, `.app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}`, \"\"]);\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!./TopBar.vue?vue&type=style&index=0&id=57d4fdd2&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(\"7de62207\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_j54npvll7","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","menus","title","_v","staticClass","targetNames","on","targetSelect","scopedSlots","_u","key","fn","$event","preventDefault","toggleTargets","_s","icon","proxy","model","value","selectedTargetNames","callback","$$v","expression","renderedTargetNames","columnItems","columns","staticStyle","_l","target","hideIgnored","hideDerived","staticRenderFns","vueInstance","Vue","axiosInstance","axios","create","baseURL","location","origin","timeout","params","interceptors","response","use","error","_error$response","_error$response2","_error$response3","_error$response4","_error$response5","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","config","headers","includes","toString","Promise","reject","body","statusText","data","message","exception","class","_error$response6","$notify","serious","OpenC3Api","constructor","_defineProperty","exec","method","kwparams","headerOptions","login","id","window","openc3Scope","post","jsonrpc","keyword_params","Authorization","localStorage","openc3Token","result","err","Error","name","request","decode_openc3_type","val","json_class","raw","NaN","Infinity","encode_openc3_type","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","ensure_offline_access","offline_access_needed","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","get_all_interface_info","map_target_to_interface","target_name","interface_name","connect_interface","interface_params","length","disconnect_interface","interface_cmd","command_name","command_params","get_all_router_info","connect_router","router_name","disconnect_router","get_target_interfaces","get_all_target_info","get_tlm_cnts","target_commands","get_item","packet","item","get_param","get_parameter","get_limits_sets","get_limits_set","set_limits_set","limits_set","get_target","get_target_names","get_target_list","get_tlm","packet_name","get_telemetry","get_all_tlm","get_all_telemetry","get_all_tlm_names","get_all_telemetry_names","get_tlm_packet","value_type","stale_time","type","len","converted","i","get_packet_derived_items","get_tlm_buffer","get_tlm_values","items","cache_timeout","kw_args","get_limits","item_name","tlm","undefined","inject_tlm","item_hash","set_tlm","override_tlm","get_overrides","normalize_tlm","get_all_cmds","get_all_commands","get_all_cmd_names","get_all_command_names","get_cmd","get_command","get_cmd_cnts","get_cmd_value","parameter_name","get_cmd_buffer","_cmd","param_list","Object","prototype","hasOwnProperty","call","get_cmd_hazardous","cmd","cmd_no_range_check","cmd_raw","cmd_raw_no_range_check","cmd_no_hazardous_check","cmd_no_checks","cmd_raw_no_hazardous_check","cmd_raw_no_checks","build_cmd","build_command","get_interface_names","send_raw","list_configs","tool","load_config","save_config","delete_config","enable_limits","disable_limits","get_out_of_limits","get_overall_limits_state","ignored","list_settings","get_all_settings","get_setting","get_settings","array","set_setting","save_setting","get_metrics","hashString","string","isSecureContext","arrayBuffer","TextEncoder","encode","hashAsArrayBuffer","crypto","subtle","digest","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join","menu","ref","refInFor","_g","_b","formatDT","label","domProps","radioGroup","option","j","divider","subMenu","k","disabled","_e","radio","checkbox","style","submenu","subMenuClick","command","checked","$set","props","default","String","methods","replaceAll","toLowerCase","$refs","topmenu","isActive","mounted","document","component","cov_iqqsvvixa","commands","packetName","ignoredParams","telemetry","ignoredItems","cov_1scjnunnk3","description","endianness","cov_ff9deo6d4","bit_offset","bit_size","data_type","overflow","hasOwn","minimum","maximum","id_value","toUpperCase","readConversion","writeConversion","required","Boolean","computed","read_conversion","write_conversion","components","Item","filter","Packet","api","created","ignored_parameters","ignored_items","packets","TopBar","Target","text","allTargetsSelected","someTargetsSelected","scope","targets","$nextTick","slice","___CSS_LOADER_EXPORT___","push","module","content","__esModule","locals","exports","add"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"js/662.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?c4b5","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?1221","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?85c4","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?663c","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?a8e2","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?69b3","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?cdc5","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?1265","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?585c","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?92ac","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?9d44"],"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}}),_vm._v(\" \"),_c('v-card',[_c('v-container',{staticClass:\"d-print-none\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{staticClass:\"ma-0 pa-0\",attrs:{\"label\":\"Select Target(s)\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.targetNames,\"multiple\":\"\"},on:{\"change\":_vm.targetSelect},scopedSlots:_vm._u([{key:\"prepend-item\",fn:function(){return [_c('v-list-item',{attrs:{\"ripple\":\"\"},on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":_vm.toggleTargets}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"\\n \"+_vm._s(_vm.icon)+\"\\n \")])],1),_vm._v(\" \"),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" Select All \")])],1)],1),_vm._v(\" \"),_c('v-divider',{staticClass:\"mt-2\"})]},proxy:true}]),model:{value:(_vm.selectedTargetNames),callback:function ($$v) {_vm.selectedTargetNames=$$v},expression:\"selectedTargetNames\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-btn',{staticClass:\"primary\",on:{\"click\":function($event){_vm.renderedTargetNames = _vm.selectedTargetNames}}},[_vm._v(\"\\n Display\\n \")])],1),_vm._v(\" \"),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Item Columns\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.columnItems},model:{value:(_vm.columns),callback:function ($$v) {_vm.columns=$$v},expression:\"columns\"}})],1)],1)],1)],1),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"15px\"}}),_vm._v(\" \"),_vm._l((_vm.renderedTargetNames),function(target){return _c('div',{key:target},[_c('target',{attrs:{\"target\":target,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived}})],1)})],2)\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# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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).then(\n function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n },\n )\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 // headers: {\n // 'Ignore-Errors': '404',\n // },\n // })\n if (\n error.response.config.headers['Ignore-Errors'] &&\n error.response.config.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 if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\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 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n async exec(\n method,\n params,\n kwparams = {},\n headerOptions = {},\n timeout = 60000,\n ) {\n try {\n let refreshed = await OpenC3Auth.updateToken(\n OpenC3Auth.defaultMinValidity,\n )\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n // Everything from the front-end is manual by default\n // The various api methods decide whether to pass the manual\n // flag to the authorize routine\n headerOptions['manual'] = true\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 timeout: timeout,\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 // NOTE: Openc3Screen.vue uses this specific message to determine\n // if the CmdTlmApi server is down. Don't change unless also changing there.\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 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 ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [\n interface_name,\n ...interface_params,\n ])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n interface_cmd(interface_name, command_name, ...command_params) {\n return this.exec('interface_cmd', [\n interface_name,\n command_name,\n ...command_params,\n ])\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_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\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_param(target, packet, item) {\n return this.exec('get_param', [target, packet, item])\n }\n // DEPRECATED for get_param\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\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 // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_names() {\n return this.exec('get_target_names', [])\n }\n // DEPRECATED\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_tlm(target_name, packet_name) {\n return this.exec('get_tlm', [target_name, packet_name])\n }\n // DEPRECATED\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_tlm(target_name) {\n return this.exec('get_all_tlm', [target_name])\n }\n // DEPREACTE\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_tlm_names(target_name) {\n return this.exec('get_all_tlm_names', [target_name])\n }\n // DEPRECATED\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, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\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, stale_time = 30, cache_timeout = null) {\n let kw_args = {\n stale_time: stale_time,\n }\n if (cache_timeout !== null) {\n kw_args['cache_timeout'] = cache_timeout\n }\n const data = await this.exec(\n 'get_tlm_values',\n [items],\n kw_args,\n {},\n 10000, // 10s timeout ... should never be this long\n )\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, value_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: value_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 async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED',\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n },\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_cmds(target_name) {\n return this.exec('get_all_cmds', [target_name])\n }\n // DEPRECATED for get_all_cmds\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_cmd_names(target_name) {\n return this.exec('get_all_cmd_names', [target_name])\n }\n // DEPRECATED for get_all_cmd_names\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_cmd(target_name, command_name) {\n return this.exec('get_cmd', [target_name, command_name])\n }\n // DEPRECATED for get_cmd\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 build_cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_cmd', target_name)\n } else {\n return this._cmd('build_cmd', target_name, command_name, param_list)\n }\n }\n // DEPRECATED for build_cmd\n build_command(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_command', target_name)\n } else {\n return this._cmd('build_command', target_name, command_name, param_list)\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 enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\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 set_setting(name, data) {\n return this.exec('set_setting', [name, data])\n }\n\n // DEPRECATED\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\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('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"align-self\":\"end\"}},[_c('span',{staticClass:\"app-title mr-2\"},[_vm._v(_vm._s(_vm.title))])])],1),_vm._v(\" \"),_c('v-row',{staticClass:\"flex-nowrap\",attrs:{\"dense\":\"\"}},_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,ref:\"topmenu\",refInFor:true,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1 menu-button\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_vm._v(\" \"),_c('v-icon',{staticClass:\"myicon\",attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_vm._v(\" \"),_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',{key:j}):(option.subMenu && option.subMenu.length > 0)?_c('div',{key:j},[_c('v-menu',{key:_vm.k,attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item',_vm._g(_vm._b({key:j,attrs:{\"disabled\":option.disabled}},'v-list-item',attrs,false),on),[(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' +\n (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('v-icon',[_vm._v(\" mdi-chevron-right \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',_vm._l((option.subMenu),function(submenu,k){return _c('v-list-item',{key:k,on:{\"click\":function($event){return _vm.subMenuClick(submenu)}}},[(submenu.icon)?_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(submenu.icon))])],1):_vm._e(),_vm._v(\" \"),_c('v-list-item-title',[_vm._v(_vm._s(submenu.label))])],1)}),1)],1)],1):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":function($event){return option.command(option)}}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),_vm._v(\" \"),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label},model:{value:(option.checked),callback:function ($$v) {_vm.$set(option, \"checked\", $$v)},expression:\"option.checked\"}})],1):_vm._e(),_vm._v(\" \"),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!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)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/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/@vue/cli-plugin-babel/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=57d4fdd2&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=57d4fdd2&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 \"57d4fdd2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-container',{attrs:{\"id\":_vm.target}},[_c('div',{staticClass:\"text-h3 text-center\"},[_vm._v(_vm._s(_vm.target))]),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Commands\")])],1),_vm._v(\" \"),_vm._l((_vm.commands),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredParams}})],1)],1)}),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Telemetry\")])],1),_vm._v(\" \"),_vm._l((_vm.telemetry),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredItems}})],1)],1)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',{staticClass:\"text-h4 justify-center\"},[_vm._v(_vm._s(_vm.packet.target_name)+\" \"+_vm._s(_vm.packet.packet_name))]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.packet.description)+\"\\n \"),_c('div',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.packet.endianness))])]),_vm._v(\" \"),_c('v-card-text',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-col',{key:item.name,attrs:{\"cols\":_vm.columns}},[_c('item',{attrs:{\"item\":item}})],1)}),1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mx-auto\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.name)+\"\\n \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.item.description))]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"text--primary\"},[_c('div',[_vm._v(\"Bit Offset: \"+_vm._s(_vm.item.bit_offset))]),_vm._v(\" \"),_c('div',[_vm._v(\"Bit Size: \"+_vm._s(_vm.item.bit_size))]),_vm._v(\" \"),_c('div',[_vm._v(\"Data Type: \"+_vm._s(_vm.item.data_type))]),_vm._v(\" \"),_c('div',[_vm._v(\"Endianness: \"+_vm._s(_vm.item.endianness))]),_vm._v(\" \"),_c('div',[_vm._v(\"Overflow: \"+_vm._s(_vm.item.overflow))]),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'minimum'))?_c('div',[_vm._v(\"\\n Minimum: \"+_vm._s(_vm.item.minimum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'maximum'))?_c('div',[_vm._v(\"\\n Maximum: \"+_vm._s(_vm.item.maximum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'default'))?_c('div',[_vm._v(\"\\n Default: \"+_vm._s(_vm.item.default)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.item.id_value)?_c('div',[_c('strong',[_vm._v(\"ID Value: 0x\"+_vm._s(_vm.item.id_value.toString(16).toUpperCase()))])]):_vm._e(),_vm._v(\" \"),(_vm.readConversion)?_c('div',[_vm._v(\"Read Conversion: \"+_vm._s(_vm.readConversion))]):_vm._e(),_vm._v(\" \"),(_vm.writeConversion)?_c('div',[_vm._v(\"Write Conversion: \"+_vm._s(_vm.writeConversion))]):_vm._e()])],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# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card class=\"mx-auto\" outlined>\n <v-card-title class=\"justify-center\">\n {{ item.name }}\n </v-card-title>\n <v-card-subtitle>{{ item.description }}</v-card-subtitle>\n <v-card-text class=\"text--primary\">\n <div>Bit Offset: {{ item.bit_offset }}</div>\n <div>Bit Size: {{ item.bit_size }}</div>\n <div>Data Type: {{ item.data_type }}</div>\n <div>Endianness: {{ item.endianness }}</div>\n <div>Overflow: {{ item.overflow }}</div>\n <div v-if=\"Object.hasOwn(item, 'minimum')\">\n Minimum: {{ item.minimum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'maximum')\">\n Maximum: {{ item.maximum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'default')\">\n Default: {{ item.default }}\n </div>\n <div v-if=\"item.id_value\">\n <strong\n >ID Value: 0x{{ item.id_value.toString(16).toUpperCase() }}</strong\n >\n </div>\n <div v-if=\"readConversion\">Read Conversion: {{ readConversion }}</div>\n <div v-if=\"writeConversion\">Write Conversion: {{ writeConversion }}</div>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nexport default {\n props: {\n item: {\n type: Object,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n readConversion() {\n if (Object.hasOwn(this.item, 'read_conversion')) {\n let result = `${this.item.read_conversion.class}`\n if (this.item.read_conversion.params) {\n result += ` with ${this.item.read_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n writeConversion() {\n if (Object.hasOwn(this.item, 'write_conversion')) {\n let result = `${this.item.write_conversion.class}`\n if (this.item.write_conversion.params) {\n result += ` with ${this.item.write_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=22d2b16a\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.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# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title class=\"text-h4 justify-center\"\n >{{ packet.target_name }} {{ packet.packet_name }}</v-card-title\n >\n <v-card-subtitle\n >{{ packet.description }}\n <div class=\"float-right\">{{ packet.endianness }}</div>\n </v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row dense>\n <v-col v-for=\"item in items\" :key=\"item.name\" :cols=\"columns\">\n <item :item=\"item\"></item>\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport Item from './Item'\n\nexport default {\n components: {\n Item,\n },\n props: {\n packet: {\n type: Object,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n ignored: {\n type: Object,\n },\n },\n computed: {\n items() {\n let items = this.packet.items\n if (this.hideIgnored) {\n items = items.filter((item) => !this.ignored.includes(item.name))\n }\n if (this.hideDerived) {\n items = items.filter((item) => item.data_type !== 'DERIVED')\n }\n return items\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Packet.vue?vue&type=template&id=69a31f4f\"\nimport script from \"./Packet.vue?vue&type=script&lang=js\"\nexport * from \"./Packet.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# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-container :id=\"target\">\n <div class=\"text-h3 text-center\">{{ target }}</div>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Commands</v-col>\n </v-row>\n <v-row\n v-for=\"packet in commands\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredParams\"\n ></packet>\n </v-col>\n </v-row>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Telemetry</v-col>\n </v-row>\n <v-row\n v-for=\"packet in telemetry\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredItems\"\n ></packet>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport Packet from './Packet'\n\nexport default {\n components: {\n Packet,\n },\n props: {\n target: {\n type: String,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n api: null,\n commands: [],\n telemetry: [],\n ignoredParams: [],\n ignoredItems: [],\n }\n },\n\n created() {\n this.api = new OpenC3Api()\n this.api.get_target(this.target).then((target) => {\n this.ignoredParams = target.ignored_parameters\n this.ignoredItems = target.ignored_items\n })\n // TODO: Test with large DB as this returns ALL commands\n this.api.get_all_cmds(this.target).then((packets) => {\n this.commands = packets\n })\n this.api.get_all_tlm(this.target).then((packets) => {\n this.telemetry = packets\n })\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Target.vue?vue&type=template&id=045280e6\"\nimport script from \"./Target.vue?vue&type=script&lang=js\"\nexport * from \"./Target.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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-container class=\"d-print-none\">\n <v-row dense>\n <v-col>\n <v-select\n class=\"ma-0 pa-0\"\n label=\"Select Target(s)\"\n dense\n hide-details\n outlined\n :items=\"targetNames\"\n v-model=\"selectedTargetNames\"\n @change=\"targetSelect\"\n multiple\n >\n <template v-slot:prepend-item>\n <v-list-item ripple @mousedown.prevent @click=\"toggleTargets\">\n <v-list-item-action>\n <v-icon>\n {{ icon }}\n </v-icon>\n </v-list-item-action>\n <v-list-item-content>\n <v-list-item-title> Select All </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <v-divider class=\"mt-2\"></v-divider>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-btn\n class=\"primary\"\n @click=\"renderedTargetNames = selectedTargetNames\"\n >\n Display\n </v-btn>\n </v-col>\n <v-col>\n <v-select\n label=\"Item Columns\"\n dense\n hide-details\n outlined\n v-model=\"columns\"\n :items=\"columnItems\"\n ></v-select>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n <div style=\"height: 15px\" />\n <div v-for=\"target in renderedTargetNames\" :key=\"target\">\n <target\n :target=\"target\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n ></target>\n </div>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport Target from './Target'\n\nexport default {\n components: {\n TopBar,\n Target,\n },\n data() {\n return {\n title: 'Handbooks',\n targetNames: [],\n selectedTargetNames: [],\n renderedTargetNames: [],\n api: null,\n columns: 3,\n columnItems: [\n { text: '1', value: 12 },\n { text: '2', value: 6 },\n { text: '3', value: 4 },\n { text: '4', value: 3 },\n { text: '6', value: 2 },\n { text: '12', value: 1 },\n ],\n hideIgnored: false,\n hideDerived: false,\n menus: [\n {\n label: 'View',\n items: [\n {\n label: 'Hide Ignored Items',\n checkbox: true,\n command: () => {\n this.hideIgnored = !this.hideIgnored\n },\n },\n {\n label: 'Hide Derived Items',\n checkbox: true,\n command: () => {\n this.hideDerived = !this.hideDerived\n },\n },\n ],\n },\n ],\n }\n },\n computed: {\n allTargetsSelected() {\n return this.targetNames.length === this.selectedTargetNames.length\n },\n someTargetsSelected() {\n return this.selectedTargetNames.length > 0 && !this.allTargetsSelected\n },\n icon() {\n if (this.allTargetsSelected) return 'mdi-close-box'\n if (this.someTargetsSelected) return 'mdi-minus-box'\n return 'mdi-checkbox-blank-outline'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_target_names({ params: { scope: window.openc3Scope } })\n .then((targets) => {\n this.targetNames = targets\n })\n },\n methods: {\n toggleTargets() {\n this.$nextTick(() => {\n if (this.allTargetsSelected) {\n this.selectedTargetNames = []\n } else {\n this.selectedTargetNames = this.targetNames.slice()\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Handbooks.vue?vue&type=template&id=e58fd9cc\"\nimport script from \"./Handbooks.vue?vue&type=script&lang=js\"\nexport * from \"./Handbooks.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","// 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, `.app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}`, \"\"]);\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!./TopBar.vue?vue&type=style&index=0&id=57d4fdd2&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(\"7de62207\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_j54npvll7","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","menus","title","_v","staticClass","targetNames","on","targetSelect","scopedSlots","_u","key","fn","$event","preventDefault","toggleTargets","_s","icon","proxy","model","value","selectedTargetNames","callback","$$v","expression","renderedTargetNames","columnItems","columns","staticStyle","_l","target","hideIgnored","hideDerived","staticRenderFns","vueInstance","Vue","axiosInstance","axios","create","baseURL","location","origin","timeout","params","interceptors","response","use","error","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","config","headers","includes","toString","Promise","reject","body","statusText","data","message","exception","class","$notify","serious","OpenC3Api","constructor","_defineProperty","exec","method","kwparams","headerOptions","login","id","window","openc3Scope","post","jsonrpc","keyword_params","Authorization","localStorage","openc3Token","result","err","Error","name","request","decode_openc3_type","val","json_class","raw","NaN","Infinity","encode_openc3_type","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","ensure_offline_access","offline_access_needed","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","get_all_interface_info","map_target_to_interface","target_name","interface_name","connect_interface","interface_params","length","disconnect_interface","interface_cmd","command_name","command_params","get_all_router_info","connect_router","router_name","disconnect_router","get_target_interfaces","get_all_target_info","get_tlm_cnts","target_commands","get_item","packet","item","get_param","get_parameter","get_limits_sets","get_limits_set","set_limits_set","limits_set","get_target","get_target_names","get_target_list","get_tlm","packet_name","get_telemetry","get_all_tlm","get_all_telemetry","get_all_tlm_names","get_all_telemetry_names","get_tlm_packet","value_type","stale_time","type","len","converted","i","get_packet_derived_items","get_tlm_buffer","get_tlm_values","items","cache_timeout","kw_args","get_limits","item_name","tlm","undefined","inject_tlm","item_hash","set_tlm","override_tlm","get_overrides","normalize_tlm","get_all_cmds","get_all_commands","get_all_cmd_names","get_all_command_names","get_cmd","get_command","get_cmd_cnts","get_cmd_value","parameter_name","get_cmd_buffer","_cmd","param_list","Object","prototype","hasOwnProperty","call","get_cmd_hazardous","cmd","cmd_no_range_check","cmd_raw","cmd_raw_no_range_check","cmd_no_hazardous_check","cmd_no_checks","cmd_raw_no_hazardous_check","cmd_raw_no_checks","build_cmd","build_command","get_interface_names","send_raw","list_configs","tool","load_config","save_config","delete_config","enable_limits","disable_limits","get_out_of_limits","get_overall_limits_state","ignored","list_settings","get_all_settings","get_setting","get_settings","array","set_setting","save_setting","get_metrics","hashString","string","isSecureContext","arrayBuffer","TextEncoder","encode","hashAsArrayBuffer","crypto","subtle","digest","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join","menu","ref","refInFor","_g","_b","formatDT","label","domProps","radioGroup","option","j","divider","subMenu","k","disabled","_e","radio","checkbox","style","submenu","subMenuClick","command","checked","$set","props","default","String","methods","replaceAll","toLowerCase","$refs","topmenu","isActive","mounted","document","component","cov_iqqsvvixa","commands","packetName","ignoredParams","telemetry","ignoredItems","cov_1scjnunnk3","description","endianness","cov_ff9deo6d4","bit_offset","bit_size","data_type","overflow","hasOwn","minimum","maximum","id_value","toUpperCase","readConversion","writeConversion","required","Boolean","computed","read_conversion","write_conversion","components","Item","filter","Packet","api","created","ignored_parameters","ignored_items","packets","TopBar","Target","text","allTargetsSelected","someTargetsSelected","scope","targets","$nextTick","slice","___CSS_LOADER_EXPORT___","push","module","content","__esModule","locals","exports","add"],"sourceRoot":""}
|