cosmosc2-tool-admin 5.0.2 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"js/498.js","mappings":"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","sources":["webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/services/axios.js","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/tabs/SettingsTab.vue?312f","webpack://@cosmosc2/tool-admin/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://@cosmosc2/tool-admin/../../node_modules/@babel/runtime/helpers/esm/readOnlyError.js","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/services/cosmos-api.js","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/ClassificationBannerSettings.vue?0fa8","webpack://@cosmosc2/tool-admin/src/tools/CosmosAdmin/ClassificationBannerSettings.vue","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/ClassificationBannerSettings.vue?a4e8","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/ClassificationBannerSettings.vue","webpack://@cosmosc2/tool-admin/src/tools/CosmosAdmin/tabs/SettingsTab.vue","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/tabs/SettingsTab.vue?3903","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/tabs/SettingsTab.vue","webpack://@cosmosc2/tool-admin/../../node_modules/core-js/modules/es.string.replace-all.js"],"sourcesContent":["/*\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\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: 10000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response.status === 401) {\n delete localStorage.cosmosToken\n CosmosAuth.login(location.href)\n } else {\n let body = `HTTP ${error.response.status} - `\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n }\n)\n\nexport default axiosInstance\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" Reset suppressed warnings \")]),_c('v-card-subtitle',[_vm._v(\" This resets \\\"don't show this again\\\" dialogs on this browser \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.suppressedWarnings.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-suppressed-warnings\"},model:{value:(_vm.selectAllSuppressedWarnings),callback:function ($$v) {_vm.selectAllSuppressedWarnings=$$v},expression:\"selectAllSuppressedWarnings\"}}),_vm._l((_vm.suppressedWarnings),function(warning){return _c('v-checkbox',{key:warning.key,staticClass:\"mt-0\",attrs:{\"label\":warning.text,\"value\":warning.key,\"dense\":\"\"},model:{value:(_vm.selectedSuppressedWarnings),callback:function ($$v) {_vm.selectedSuppressedWarnings=$$v},expression:\"selectedSuppressedWarnings\"}})})]:[_vm._v(\" No warnings to reset \")]],2),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedSuppressedWarnings.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"reset-suppressed-warnings\"},on:{\"click\":_vm.resetSuppressedWarnings}},[_vm._v(\" Reset \")])],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Clear recent configs \")]),_c('v-card-subtitle',[_vm._v(\" This clears the most recently saved/loaded tool configs on this browser \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.lastConfigs.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-last-configs\"},model:{value:(_vm.selectAllLastConfigs),callback:function ($$v) {_vm.selectAllLastConfigs=$$v},expression:\"selectAllLastConfigs\"}}),_vm._l((_vm.lastConfigs),function(config){return _c('v-checkbox',{key:config.key,staticClass:\"mt-0\",attrs:{\"label\":((config.text) + \" (\" + (config.value) + \")\"),\"value\":config.key,\"dense\":\"\"},model:{value:(_vm.selectedLastConfigs),callback:function ($$v) {_vm.selectedLastConfigs=$$v},expression:\"selectedLastConfigs\"}})})]:[_vm._v(\" No configs to clear \")]],2),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedLastConfigs.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"clear-last-configs\"},on:{\"click\":_vm.clearLastConfigs}},[_vm._v(\" Clear \")])],1)],1),_c('v-divider'),_c('classification-banner-settings'),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Source code URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for the \\\"Source\\\" link in the footer. This is required under the AGPL license. \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Source URL\",\"data-test\":\"source-url\"},model:{value:(_vm.sourceUrl),callback:function ($$v) {_vm.sourceUrl=$$v},expression:\"sourceUrl\"}})],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-source-url\"},on:{\"click\":_vm.saveSourceUrl}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Rubygems URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Rubygems URL\",\"data-test\":\"rubygems-url\"},model:{value:(_vm.rubygemsUrl),callback:function ($$v) {_vm.rubygemsUrl=$$v},expression:\"rubygemsUrl\"}})],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-rubygems-url\"},on:{\"click\":_vm.saveRubygemsUrl}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _readOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is read-only\");\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport axios from './axios.js'\n\nexport class CosmosApi {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}) {\n try {\n await CosmosAuth.updateToken(CosmosAuth.defaultMinValidity)\n } catch (error) {\n CosmosAuth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = localStorage.scope\n const response = await axios.post(\n '/cosmos-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.cosmosToken,\n 'Content-Type': 'application/json-rpc',\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n //console.log(error)\n throw err\n }\n }\n\n decode_cosmos_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_cosmos_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n connect_interface(interface_name) {\n return this.exec('connect_interface', [interface_name])\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_all_cmd_info() {\n return this.exec('get_all_cmd_info', [])\n }\n\n get_all_tlm_info() {\n return this.exec('get_all_tlm_info', [])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_oldest_logfile() {\n return this.exec('get_oldest_logfile', [])\n }\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n // Called by PacketViewerComponent\n async get_tlm_packet(target_name, packet_name, value_type) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_cosmos_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n // Called by PacketViewerComponent\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n // Called by CmdTlmServer Tlm Packets tab\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n // Called by CosmosScreenComponent\n async get_tlm_values(items) {\n const data = await this.exec('get_tlm_values', [items])\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_cosmos_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n // Called by LimitsbarWidget\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n // Called by LimitsMonitorComponent\n async tlm(target_name, packet_name, item_name) {\n const data = await this.exec('tlm', [target_name, packet_name, item_name])\n var converted = this.decode_cosmos_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\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 // Called by CmdTlmServer Cmd Packets tab\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) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_cosmos_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(method, [target_name, command_name, param_list])\n }\n\n // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\n cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name)\n } else {\n return this._cmd('cmd', target_name, command_name, param_list)\n }\n }\n\n // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n // Called by CmdSenderComponent\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\"Classification Banner Settings\")]),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorLoading),callback:function ($$v) {_vm.errorLoading=$$v},expression:\"errorLoading\"}},[_vm._v(\" Error loading previous configuration \")]),_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Text\",\"data-test\":\"classification-banner-text\"},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{attrs:{\"label\":\"Background color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-background-color\"},scopedSlots:_vm._u([(_vm.selectedBackgroundColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{attrs:{\"color\":_vm.selectedBackgroundColor}},[_vm._v(\" mdi-square \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedBackgroundColor),callback:function ($$v) {_vm.selectedBackgroundColor=$$v},expression:\"selectedBackgroundColor\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom background color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedBackgroundColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-background-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedBackgroundColor),expression:\"!selectedBackgroundColor\"}],attrs:{\"color\":_vm.customBackgroundColor}},[_vm._v(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customBackgroundColor),callback:function ($$v) {_vm.customBackgroundColor=$$v},expression:\"customBackgroundColor\"}})],1),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Font color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-font-color\"},scopedSlots:_vm._u([(_vm.selectedFontColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFontColor),expression:\"selectedFontColor\"}],attrs:{\"color\":_vm.selectedFontColor}},[_vm._v(\" mdi-square \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedFontColor),callback:function ($$v) {_vm.selectedFontColor=$$v},expression:\"selectedFontColor\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom font color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedFontColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-font-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedFontColor),expression:\"!selectedFontColor\"}],attrs:{\"color\":_vm.customFontColor}},[_vm._v(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customFontColor),callback:function ($$v) {_vm.customFontColor=$$v},expression:\"customFontColor\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display top banner\",\"data-test\":\"display-top-banner\"},model:{value:(_vm.displayTopBanner),callback:function ($$v) {_vm.displayTopBanner=$$v},expression:\"displayTopBanner\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Top height\",\"disabled\":!_vm.displayTopBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-top-height\"},model:{value:(_vm.topHeight),callback:function ($$v) {_vm.topHeight=$$v},expression:\"topHeight\"}})],1),_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display bottom banner\",\"data-test\":\"display-bottom-banner\"},model:{value:(_vm.displayBottomBanner),callback:function ($$v) {_vm.displayBottomBanner=$$v},expression:\"displayBottomBanner\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Bottom height\",\"disabled\":!_vm.displayBottomBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-bottom-height\"},model:{value:(_vm.bottomHeight),callback:function ($$v) {_vm.bottomHeight=$$v},expression:\"bottomHeight\"}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"disabled\":!_vm.formValid,\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-classification-banner\"},on:{\"click\":_vm.save}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1)}\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-card>\n <v-card-title>Classification Banner Settings</v-card-title>\n <v-card-text class=\"pb-0\">\n <v-alert v-model=\"errorLoading\" type=\"error\" dismissible dense>\n Error loading previous configuration\n </v-alert>\n <v-container class=\"pb-0\">\n <v-row dense>\n <v-col>\n <v-text-field\n label=\"Text\"\n v-model=\"text\"\n data-test=\"classification-banner-text\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-select\n label=\"Background color\"\n :items=\"colors\"\n v-model=\"selectedBackgroundColor\"\n data-test=\"classification-banner-background-color\"\n >\n <template v-slot:prepend-inner v-if=\"selectedBackgroundColor\">\n <v-icon :color=\"selectedBackgroundColor\"> mdi-square </v-icon>\n </template>\n <template v-slot:item=\"data\">\n <v-icon\n :color=\"data.item.value\"\n v-if=\"data.item.value\"\n class=\"pr-1\"\n >\n mdi-square\n </v-icon>\n {{ data.item.text }}\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n label=\"Custom background color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedBackgroundColor !== false\"\n v-model=\"customBackgroundColor\"\n :rules=\"[rules.customColor]\"\n data-test=\"classification-banner-custom-background-color\"\n >\n <template v-slot:prepend-inner>\n <v-icon\n v-show=\"!selectedBackgroundColor\"\n :color=\"customBackgroundColor\"\n >\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n <v-col>\n <v-select\n label=\"Font color\"\n :items=\"colors\"\n v-model=\"selectedFontColor\"\n data-test=\"classification-banner-font-color\"\n >\n <template v-slot:prepend-inner v-if=\"selectedFontColor\">\n <v-icon v-show=\"selectedFontColor\" :color=\"selectedFontColor\">\n mdi-square\n </v-icon>\n </template>\n <template slot=\"item\" slot-scope=\"data\">\n <v-icon\n v-if=\"data.item.value\"\n :color=\"data.item.value\"\n class=\"pr-1\"\n >\n mdi-square\n </v-icon>\n {{ data.item.text }}\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n label=\"Custom font color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedFontColor !== false\"\n v-model=\"customFontColor\"\n :rules=\"[rules.customColor]\"\n data-test=\"classification-banner-custom-font-color\"\n >\n <template v-slot:prepend-inner>\n <v-icon v-show=\"!selectedFontColor\" :color=\"customFontColor\">\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-switch\n label=\"Display top banner\"\n v-model=\"displayTopBanner\"\n data-test=\"display-top-banner\"\n />\n </v-col>\n <v-col>\n <v-text-field\n label=\"Top height\"\n :disabled=\"!displayTopBanner\"\n type=\"number\"\n suffix=\"px\"\n v-model=\"topHeight\"\n data-test=\"classification-banner-top-height\"\n />\n </v-col>\n <v-col>\n <v-switch\n label=\"Display bottom banner\"\n v-model=\"displayBottomBanner\"\n data-test=\"display-bottom-banner\"\n />\n </v-col>\n <v-col>\n <v-text-field\n label=\"Bottom height\"\n :disabled=\"!displayBottomBanner\"\n type=\"number\"\n suffix=\"px\"\n v-model=\"bottomHeight\"\n data-test=\"classification-banner-bottom-height\"\n />\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n <v-card-actions>\n <v-container class=\"pt-0\">\n <v-row dense>\n <v-col class=\"pl-0\">\n <v-btn\n :disabled=\"!formValid\"\n @click=\"save\"\n color=\"success\"\n text\n data-test=\"save-classification-banner\"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"errorSaving\" type=\"error\" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport axios from 'axios'\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\n\nconst settingName = 'classification_banner'\nexport default {\n data() {\n return {\n api: null,\n errorLoading: false,\n errorSaving: false,\n successSaving: false,\n text: '',\n displayTopBanner: false,\n displayBottomBanner: false,\n topHeight: 0,\n bottomHeight: 0,\n selectedBackgroundColor: 'red',\n customBackgroundColor: '',\n selectedFontColor: 'white',\n customFontColor: '',\n customColorHint: 'Enter a 3 or 6-digit hex color code',\n colors: [\n {\n text: 'Yellow',\n value: 'yellow',\n },\n {\n text: 'Orange',\n value: 'orange',\n },\n {\n text: 'Red',\n value: 'red',\n },\n {\n text: 'Purple',\n value: 'purple',\n },\n {\n text: 'Blue',\n value: 'blue',\n },\n {\n text: 'Green',\n value: 'green',\n },\n {\n text: 'Black',\n value: 'black',\n },\n {\n text: 'White',\n value: 'white',\n },\n {\n text: 'Custom',\n value: false,\n },\n ],\n rules: {\n customColor: (value) => {\n return (\n /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value) || this.customColorHint\n )\n },\n },\n }\n },\n computed: {\n saveObj: function () {\n return JSON.stringify({\n text: this.text,\n fontColor: this.selectedFontColor || this.customFontColor,\n backgroundColor:\n this.selectedBackgroundColor || this.customBackgroundColor,\n topHeight: this.displayTopBanner ? this.topHeight : 0,\n bottomHeight: this.displayBottomBanner ? this.bottomHeight : 0,\n })\n },\n formValid: function () {\n return (\n (this.selectedFontColor ||\n this.rules.customColor(this.customFontColor) === true) &&\n (this.selectedBackgroundColor ||\n this.rules.customColor(this.customBackgroundColor) === true)\n )\n },\n },\n watch: {\n customFontColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customFontColor = `#${val}`\n }\n },\n customBackgroundColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customBackgroundColor = `#${val}`\n }\n },\n },\n created() {\n this.api = new CosmosApi()\n this.load()\n },\n methods: {\n load: function () {\n this.api\n .get_setting(settingName)\n .then((response) => {\n this.errorLoading = false\n if (response) {\n const parsed = JSON.parse(response)\n this.text = parsed.text\n this.topHeight = parsed.topHeight\n this.bottomHeight = parsed.bottomHeight\n this.displayTopBanner = parsed.topHeight !== 0\n this.displayBottomBanner = parsed.bottomHeight !== 0\n if (\n parsed.backgroundColor &&\n parsed.backgroundColor.startsWith('#')\n ) {\n this.customBackgroundColor = parsed.backgroundColor\n this.selectedBackgroundColor = false\n } else {\n this.selectedBackgroundColor = parsed.backgroundColor\n }\n if (parsed.fontColor && parsed.fontColor.startsWith('#')) {\n this.customFontColor = parsed.fontColor\n this.selectedFontColor = false\n } else {\n this.selectedFontColor = parsed.fontColor\n }\n }\n })\n .catch((error) => {\n //console.error(error)\n this.errorLoading = true\n })\n },\n save: function () {\n this.api\n .save_setting(settingName, this.saveObj)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n //console.error(error)\n this.errorSaving = true\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClassificationBannerSettings.vue?vue&type=template&id=820f038e&\"\nimport script from \"./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <div>\n <v-card>\n <v-card-title> Reset suppressed warnings </v-card-title>\n <v-card-subtitle>\n This resets \"don't show this again\" dialogs on this browser\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <template v-if=\"suppressedWarnings.length\">\n <v-checkbox\n v-model=\"selectAllSuppressedWarnings\"\n label=\"Select all\"\n class=\"mt-0\"\n data-test=\"select-all-suppressed-warnings\"\n />\n <v-checkbox\n v-for=\"warning in suppressedWarnings\"\n :key=\"warning.key\"\n v-model=\"selectedSuppressedWarnings\"\n :label=\"warning.text\"\n :value=\"warning.key\"\n class=\"mt-0\"\n dense\n />\n </template>\n <template v-else> No warnings to reset </template>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled=\"!selectedSuppressedWarnings.length\"\n @click=\"resetSuppressedWarnings\"\n color=\"warning\"\n text\n class=\"ml-2\"\n data-test=\"reset-suppressed-warnings\"\n >\n Reset\n </v-btn>\n </v-card-actions>\n </v-card>\n <v-divider />\n <v-card>\n <v-card-title> Clear recent configs </v-card-title>\n <v-card-subtitle>\n This clears the most recently saved/loaded tool configs on this browser\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <template v-if=\"lastConfigs.length\">\n <v-checkbox\n v-model=\"selectAllLastConfigs\"\n label=\"Select all\"\n class=\"mt-0\"\n data-test=\"select-all-last-configs\"\n />\n <v-checkbox\n v-for=\"config in lastConfigs\"\n :key=\"config.key\"\n v-model=\"selectedLastConfigs\"\n :label=\"`${config.text} (${config.value})`\"\n :value=\"config.key\"\n class=\"mt-0\"\n dense\n />\n </template>\n <template v-else> No configs to clear </template>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled=\"!selectedLastConfigs.length\"\n @click=\"clearLastConfigs\"\n color=\"warning\"\n text\n class=\"ml-2\"\n data-test=\"clear-last-configs\"\n >\n Clear\n </v-btn>\n </v-card-actions>\n </v-card>\n <v-divider />\n <classification-banner-settings />\n <v-divider />\n <v-card>\n <v-card-title> Source code URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for the \"Source\" link in the footer. This is required\n under the AGPL license.\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <v-text-field\n label=\"Source URL\"\n v-model=\"sourceUrl\"\n data-test=\"source-url\"\n />\n </v-card-text>\n <v-card-actions>\n <v-container class=\"pt-0\">\n <v-row dense>\n <v-col class=\"pl-0\">\n <v-btn\n @click=\"saveSourceUrl\"\n color=\"success\"\n text\n data-test=\"save-source-url\"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"errorSaving\" type=\"error\" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n <v-divider />\n <v-card>\n <v-card-title> Rubygems URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for installing dependency rubygems. Also used for\n rubygem discovery.\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <v-text-field\n label=\"Rubygems URL\"\n v-model=\"rubygemsUrl\"\n data-test=\"rubygems-url\"\n />\n </v-card-text>\n <v-card-actions>\n <v-container class=\"pt-0\">\n <v-row dense>\n <v-col class=\"pl-0\">\n <v-btn\n @click=\"saveRubygemsUrl\"\n color=\"success\"\n text\n data-test=\"save-rubygems-url\"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"errorSaving\" type=\"error\" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\nimport ClassificationBannerSettings from '@/tools/CosmosAdmin/ClassificationBannerSettings.vue'\n\nexport default {\n components: {\n ClassificationBannerSettings,\n },\n data() {\n return {\n api: new CosmosApi(),\n suppressedWarnings: [],\n selectedSuppressedWarnings: [],\n selectAllSuppressedWarnings: false,\n lastConfigs: [],\n selectedLastConfigs: [],\n selectAllLastConfigs: false,\n sourceUrl: '',\n rubygemsUrl: '',\n errorSaving: false,\n successSaving: false,\n }\n },\n watch: {\n selectAllSuppressedWarnings: function (val) {\n if (val) {\n this.selectedSuppressedWarnings = this.suppressedWarnings.map(\n (warning) => warning.key\n )\n } else {\n this.selectedSuppressedWarnings = []\n }\n },\n selectAllLastConfigs: function (val) {\n if (val) {\n this.selectedLastConfigs = this.lastConfigs.map((config) => config.key)\n } else {\n this.selectedLastConfigs = []\n }\n },\n },\n created() {\n this.loadSuppressedWarnings()\n this.loadLastConfigs()\n this.loadSourceUrl()\n this.loadRubygemsUrl()\n },\n methods: {\n loadSuppressedWarnings: function () {\n this.suppressedWarnings = Object.keys(localStorage)\n .filter((key) => {\n return key.startsWith('suppresswarning__')\n })\n .map(this.localStorageKeyToDisplayObject)\n this.selectedSuppressedWarnings = []\n },\n resetSuppressedWarnings: function () {\n this.deleteLocalStorageKeys(this.selectedSuppressedWarnings)\n this.loadSuppressedWarnings()\n },\n loadLastConfigs: function () {\n this.lastConfigs = Object.keys(localStorage)\n .filter((key) => {\n return key.startsWith('lastconfig__')\n })\n .map(this.localStorageKeyToDisplayObject)\n this.selectedLastConfigs = []\n },\n clearLastConfigs: function () {\n this.deleteLocalStorageKeys(this.selectedLastConfigs)\n this.loadLastConfigs()\n },\n deleteLocalStorageKeys: function (keys) {\n for (const key of keys) {\n delete localStorage[key]\n }\n },\n localStorageKeyToDisplayObject: function (key) {\n const name = key.split('__')[1].replaceAll('_', ' ')\n return {\n key,\n text: name.charAt(0).toUpperCase() + name.slice(1),\n value: localStorage[key],\n }\n },\n loadSourceUrl: function () {\n this.api\n .get_setting('source_url')\n .then((response) => {\n this.sourceUrl = response\n })\n .catch(() => {\n this.sourceUrl = 'https://github.com/BallAerospace/COSMOS'\n })\n },\n saveSourceUrl: function () {\n this.api\n .save_setting('source_url', this.sourceUrl)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n this.errorSaving = true\n })\n },\n loadRubygemsUrl: function () {\n this.api\n .get_setting('rubygems_url')\n .then((response) => {\n this.rubygemsUrl = response\n })\n .catch(() => {\n this.rubygemsUrl = 'https://rubygems.org'\n })\n },\n saveRubygemsUrl: function () {\n this.api\n .save_setting('rubygems_url', this.rubygemsUrl)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n this.errorSaving = true\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsTab.vue?vue&type=template&id=24d2f851&\"\nimport script from \"./SettingsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/cli-service/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","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar TypeError = global.TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n"],"names":["vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","status","localStorage","cosmosToken","CosmosAuth","login","href","body","data","message","exception","class","$notify","serious","title","render","_vm","this","_h","$createElement","_c","_self","_v","staticClass","suppressedWarnings","attrs","model","value","callback","$$v","selectAllSuppressedWarnings","expression","_l","warning","key","text","selectedSuppressedWarnings","length","on","resetSuppressedWarnings","lastConfigs","selectAllLastConfigs","config","selectedLastConfigs","clearLastConfigs","sourceUrl","saveSourceUrl","errorSaving","successSaving","rubygemsUrl","saveRubygemsUrl","staticRenderFns","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","done","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","_readOnlyError","name","CosmosApi","method","kwparams","updateToken","defaultMinValidity","id","scope","jsonrpc","keyword_params","headers","Authorization","result","Error","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","exec","interface_name","router_name","target","packet","item","log_writer_name","limits_set","target_name","packet_name","value_type","type","len","converted","decode_cosmos_type","items","item_name","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","encode_cosmos_type","undefined","_cmd","tool","ignored","array","errorLoading","colors","scopedSlots","_u","fn","selectedBackgroundColor","proxy","_s","customColorHint","rules","customColor","directives","rawName","customBackgroundColor","selectedFontColor","customFontColor","displayTopBanner","topHeight","displayBottomBanner","bottomHeight","formValid","save","api","computed","saveObj","JSON","stringify","fontColor","backgroundColor","watch","created","load","methods","get_setting","settingName","then","parsed","catch","save_setting","component","components","ClassificationBannerSettings","map","loadSuppressedWarnings","loadLastConfigs","loadSourceUrl","loadRubygemsUrl","keys","filter","deleteLocalStorageKeys","localStorageKeyToDisplayObject","charAt","toUpperCase","slice","$","global","uncurryThis","requireObjectCoercible","isCallable","isRegExp","toString","getMethod","getRegExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","indexOf","replace","stringSlice","max","Math","stringIndexOf","string","searchValue","fromIndex","proto","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch"],"sourceRoot":""}
1
+ {"version":3,"file":"js/498.js","mappings":"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","sources":["webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/services/axios.js","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/tabs/SettingsTab.vue?312f","webpack://@cosmosc2/tool-admin/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack://@cosmosc2/tool-admin/../../node_modules/@babel/runtime/helpers/esm/readOnlyError.js","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/services/cosmos-api.js","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/ClassificationBannerSettings.vue?0fa8","webpack://@cosmosc2/tool-admin/src/tools/CosmosAdmin/ClassificationBannerSettings.vue","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/ClassificationBannerSettings.vue?a4e8","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/ClassificationBannerSettings.vue","webpack://@cosmosc2/tool-admin/src/tools/CosmosAdmin/tabs/SettingsTab.vue","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/tabs/SettingsTab.vue?3903","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/tabs/SettingsTab.vue","webpack://@cosmosc2/tool-admin/../../node_modules/core-js/modules/es.string.replace-all.js"],"sourcesContent":["/*\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\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: 10000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response.status === 401) {\n delete localStorage.cosmosToken\n CosmosAuth.login(location.href)\n } else {\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n }\n)\n\nexport default axiosInstance\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" Reset suppressed warnings \")]),_c('v-card-subtitle',[_vm._v(\" This resets \\\"don't show this again\\\" dialogs on this browser \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.suppressedWarnings.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-suppressed-warnings\"},model:{value:(_vm.selectAllSuppressedWarnings),callback:function ($$v) {_vm.selectAllSuppressedWarnings=$$v},expression:\"selectAllSuppressedWarnings\"}}),_vm._l((_vm.suppressedWarnings),function(warning){return _c('v-checkbox',{key:warning.key,staticClass:\"mt-0\",attrs:{\"label\":warning.text,\"value\":warning.key,\"dense\":\"\"},model:{value:(_vm.selectedSuppressedWarnings),callback:function ($$v) {_vm.selectedSuppressedWarnings=$$v},expression:\"selectedSuppressedWarnings\"}})})]:[_vm._v(\" No warnings to reset \")]],2),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedSuppressedWarnings.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"reset-suppressed-warnings\"},on:{\"click\":_vm.resetSuppressedWarnings}},[_vm._v(\" Reset \")])],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Clear recent configs \")]),_c('v-card-subtitle',[_vm._v(\" This clears the most recently saved/loaded tool configs on this browser \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.lastConfigs.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-last-configs\"},model:{value:(_vm.selectAllLastConfigs),callback:function ($$v) {_vm.selectAllLastConfigs=$$v},expression:\"selectAllLastConfigs\"}}),_vm._l((_vm.lastConfigs),function(config){return _c('v-checkbox',{key:config.key,staticClass:\"mt-0\",attrs:{\"label\":((config.text) + \" (\" + (config.value) + \")\"),\"value\":config.key,\"dense\":\"\"},model:{value:(_vm.selectedLastConfigs),callback:function ($$v) {_vm.selectedLastConfigs=$$v},expression:\"selectedLastConfigs\"}})})]:[_vm._v(\" No configs to clear \")]],2),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedLastConfigs.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"clear-last-configs\"},on:{\"click\":_vm.clearLastConfigs}},[_vm._v(\" Clear \")])],1)],1),_c('v-divider'),_c('classification-banner-settings'),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Source code URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for the \\\"Source\\\" link in the footer. This is required under the AGPL license. \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Source URL\",\"data-test\":\"source-url\"},model:{value:(_vm.sourceUrl),callback:function ($$v) {_vm.sourceUrl=$$v},expression:\"sourceUrl\"}})],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-source-url\"},on:{\"click\":_vm.saveSourceUrl}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Rubygems URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. \")]),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Rubygems URL\",\"data-test\":\"rubygems-url\"},model:{value:(_vm.rubygemsUrl),callback:function ($$v) {_vm.rubygemsUrl=$$v},expression:\"rubygemsUrl\"}})],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-rubygems-url\"},on:{\"click\":_vm.saveRubygemsUrl}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _readOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is read-only\");\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport axios from './axios.js'\n\nexport class CosmosApi {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}) {\n try {\n await CosmosAuth.updateToken(CosmosAuth.defaultMinValidity)\n } catch (error) {\n CosmosAuth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = localStorage.scope\n const response = await axios.post(\n '/cosmos-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.cosmosToken,\n 'Content-Type': 'application/json-rpc',\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n //console.log(error)\n throw err\n }\n }\n\n decode_cosmos_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_cosmos_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n connect_interface(interface_name) {\n return this.exec('connect_interface', [interface_name])\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_all_cmd_info() {\n return this.exec('get_all_cmd_info', [])\n }\n\n get_all_tlm_info() {\n return this.exec('get_all_tlm_info', [])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_oldest_logfile() {\n return this.exec('get_oldest_logfile', [])\n }\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_list(target_name) {\n return this.exec('get_all_telemetry_list', [target_name])\n }\n\n // Called by PacketViewerComponent\n async get_tlm_packet(target_name, packet_name, value_type) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_cosmos_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n // Called by PacketViewerComponent\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n // Called by CmdTlmServer Tlm Packets tab\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n // Called by CosmosScreenComponent\n async get_tlm_values(items) {\n const data = await this.exec('get_tlm_values', [items])\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_cosmos_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n // Called by LimitsbarWidget\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n // Called by LimitsMonitorComponent\n async tlm(target_name, packet_name, item_name) {\n const data = await this.exec('tlm', [target_name, packet_name, item_name])\n var converted = this.decode_cosmos_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_commands_list(target_name) {\n return this.exec('get_all_commands_list', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_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 // Called by CmdTlmServer Cmd Packets tab\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) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_cosmos_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(method, [target_name, command_name, param_list])\n }\n\n // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\n cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name)\n } else {\n return this._cmd('cmd', target_name, command_name, param_list)\n }\n }\n\n // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n // Called by CmdSenderComponent\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\"Classification Banner Settings\")]),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorLoading),callback:function ($$v) {_vm.errorLoading=$$v},expression:\"errorLoading\"}},[_vm._v(\" Error loading previous configuration \")]),_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Text\",\"data-test\":\"classification-banner-text\"},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{attrs:{\"label\":\"Background color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-background-color\"},scopedSlots:_vm._u([(_vm.selectedBackgroundColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{attrs:{\"color\":_vm.selectedBackgroundColor}},[_vm._v(\" mdi-square \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedBackgroundColor),callback:function ($$v) {_vm.selectedBackgroundColor=$$v},expression:\"selectedBackgroundColor\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom background color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedBackgroundColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-background-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedBackgroundColor),expression:\"!selectedBackgroundColor\"}],attrs:{\"color\":_vm.customBackgroundColor}},[_vm._v(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customBackgroundColor),callback:function ($$v) {_vm.customBackgroundColor=$$v},expression:\"customBackgroundColor\"}})],1),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Font color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-font-color\"},scopedSlots:_vm._u([(_vm.selectedFontColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFontColor),expression:\"selectedFontColor\"}],attrs:{\"color\":_vm.selectedFontColor}},[_vm._v(\" mdi-square \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedFontColor),callback:function ($$v) {_vm.selectedFontColor=$$v},expression:\"selectedFontColor\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom font color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedFontColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-font-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedFontColor),expression:\"!selectedFontColor\"}],attrs:{\"color\":_vm.customFontColor}},[_vm._v(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customFontColor),callback:function ($$v) {_vm.customFontColor=$$v},expression:\"customFontColor\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display top banner\",\"data-test\":\"display-top-banner\"},model:{value:(_vm.displayTopBanner),callback:function ($$v) {_vm.displayTopBanner=$$v},expression:\"displayTopBanner\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Top height\",\"disabled\":!_vm.displayTopBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-top-height\"},model:{value:(_vm.topHeight),callback:function ($$v) {_vm.topHeight=$$v},expression:\"topHeight\"}})],1),_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display bottom banner\",\"data-test\":\"display-bottom-banner\"},model:{value:(_vm.displayBottomBanner),callback:function ($$v) {_vm.displayBottomBanner=$$v},expression:\"displayBottomBanner\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Bottom height\",\"disabled\":!_vm.displayBottomBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-bottom-height\"},model:{value:(_vm.bottomHeight),callback:function ($$v) {_vm.bottomHeight=$$v},expression:\"bottomHeight\"}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"disabled\":!_vm.formValid,\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-classification-banner\"},on:{\"click\":_vm.save}},[_vm._v(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1)}\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-card>\n <v-card-title>Classification Banner Settings</v-card-title>\n <v-card-text class=\"pb-0\">\n <v-alert v-model=\"errorLoading\" type=\"error\" dismissible dense>\n Error loading previous configuration\n </v-alert>\n <v-container class=\"pb-0\">\n <v-row dense>\n <v-col>\n <v-text-field\n label=\"Text\"\n v-model=\"text\"\n data-test=\"classification-banner-text\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-select\n label=\"Background color\"\n :items=\"colors\"\n v-model=\"selectedBackgroundColor\"\n data-test=\"classification-banner-background-color\"\n >\n <template v-slot:prepend-inner v-if=\"selectedBackgroundColor\">\n <v-icon :color=\"selectedBackgroundColor\"> mdi-square </v-icon>\n </template>\n <template v-slot:item=\"data\">\n <v-icon\n :color=\"data.item.value\"\n v-if=\"data.item.value\"\n class=\"pr-1\"\n >\n mdi-square\n </v-icon>\n {{ data.item.text }}\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n label=\"Custom background color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedBackgroundColor !== false\"\n v-model=\"customBackgroundColor\"\n :rules=\"[rules.customColor]\"\n data-test=\"classification-banner-custom-background-color\"\n >\n <template v-slot:prepend-inner>\n <v-icon\n v-show=\"!selectedBackgroundColor\"\n :color=\"customBackgroundColor\"\n >\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n <v-col>\n <v-select\n label=\"Font color\"\n :items=\"colors\"\n v-model=\"selectedFontColor\"\n data-test=\"classification-banner-font-color\"\n >\n <template v-slot:prepend-inner v-if=\"selectedFontColor\">\n <v-icon v-show=\"selectedFontColor\" :color=\"selectedFontColor\">\n mdi-square\n </v-icon>\n </template>\n <template slot=\"item\" slot-scope=\"data\">\n <v-icon\n v-if=\"data.item.value\"\n :color=\"data.item.value\"\n class=\"pr-1\"\n >\n mdi-square\n </v-icon>\n {{ data.item.text }}\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n label=\"Custom font color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedFontColor !== false\"\n v-model=\"customFontColor\"\n :rules=\"[rules.customColor]\"\n data-test=\"classification-banner-custom-font-color\"\n >\n <template v-slot:prepend-inner>\n <v-icon v-show=\"!selectedFontColor\" :color=\"customFontColor\">\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-switch\n label=\"Display top banner\"\n v-model=\"displayTopBanner\"\n data-test=\"display-top-banner\"\n />\n </v-col>\n <v-col>\n <v-text-field\n label=\"Top height\"\n :disabled=\"!displayTopBanner\"\n type=\"number\"\n suffix=\"px\"\n v-model=\"topHeight\"\n data-test=\"classification-banner-top-height\"\n />\n </v-col>\n <v-col>\n <v-switch\n label=\"Display bottom banner\"\n v-model=\"displayBottomBanner\"\n data-test=\"display-bottom-banner\"\n />\n </v-col>\n <v-col>\n <v-text-field\n label=\"Bottom height\"\n :disabled=\"!displayBottomBanner\"\n type=\"number\"\n suffix=\"px\"\n v-model=\"bottomHeight\"\n data-test=\"classification-banner-bottom-height\"\n />\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n <v-card-actions>\n <v-container class=\"pt-0\">\n <v-row dense>\n <v-col class=\"pl-0\">\n <v-btn\n :disabled=\"!formValid\"\n @click=\"save\"\n color=\"success\"\n text\n data-test=\"save-classification-banner\"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"errorSaving\" type=\"error\" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport axios from 'axios'\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\n\nconst settingName = 'classification_banner'\nexport default {\n data() {\n return {\n api: null,\n errorLoading: false,\n errorSaving: false,\n successSaving: false,\n text: '',\n displayTopBanner: false,\n displayBottomBanner: false,\n topHeight: 0,\n bottomHeight: 0,\n selectedBackgroundColor: 'red',\n customBackgroundColor: '',\n selectedFontColor: 'white',\n customFontColor: '',\n customColorHint: 'Enter a 3 or 6-digit hex color code',\n colors: [\n {\n text: 'Yellow',\n value: 'yellow',\n },\n {\n text: 'Orange',\n value: 'orange',\n },\n {\n text: 'Red',\n value: 'red',\n },\n {\n text: 'Purple',\n value: 'purple',\n },\n {\n text: 'Blue',\n value: 'blue',\n },\n {\n text: 'Green',\n value: 'green',\n },\n {\n text: 'Black',\n value: 'black',\n },\n {\n text: 'White',\n value: 'white',\n },\n {\n text: 'Custom',\n value: false,\n },\n ],\n rules: {\n customColor: (value) => {\n return (\n /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value) || this.customColorHint\n )\n },\n },\n }\n },\n computed: {\n saveObj: function () {\n return JSON.stringify({\n text: this.text,\n fontColor: this.selectedFontColor || this.customFontColor,\n backgroundColor:\n this.selectedBackgroundColor || this.customBackgroundColor,\n topHeight: this.displayTopBanner ? this.topHeight : 0,\n bottomHeight: this.displayBottomBanner ? this.bottomHeight : 0,\n })\n },\n formValid: function () {\n return (\n (this.selectedFontColor ||\n this.rules.customColor(this.customFontColor) === true) &&\n (this.selectedBackgroundColor ||\n this.rules.customColor(this.customBackgroundColor) === true)\n )\n },\n },\n watch: {\n customFontColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customFontColor = `#${val}`\n }\n },\n customBackgroundColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customBackgroundColor = `#${val}`\n }\n },\n },\n created() {\n this.api = new CosmosApi()\n this.load()\n },\n methods: {\n load: function () {\n this.api\n .get_setting(settingName)\n .then((response) => {\n this.errorLoading = false\n if (response) {\n const parsed = JSON.parse(response)\n this.text = parsed.text\n this.topHeight = parsed.topHeight\n this.bottomHeight = parsed.bottomHeight\n this.displayTopBanner = parsed.topHeight !== 0\n this.displayBottomBanner = parsed.bottomHeight !== 0\n if (\n parsed.backgroundColor &&\n parsed.backgroundColor.startsWith('#')\n ) {\n this.customBackgroundColor = parsed.backgroundColor\n this.selectedBackgroundColor = false\n } else {\n this.selectedBackgroundColor = parsed.backgroundColor\n }\n if (parsed.fontColor && parsed.fontColor.startsWith('#')) {\n this.customFontColor = parsed.fontColor\n this.selectedFontColor = false\n } else {\n this.selectedFontColor = parsed.fontColor\n }\n }\n })\n .catch((error) => {\n //console.error(error)\n this.errorLoading = true\n })\n },\n save: function () {\n this.api\n .save_setting(settingName, this.saveObj)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n //console.error(error)\n this.errorSaving = true\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClassificationBannerSettings.vue?vue&type=template&id=820f038e&\"\nimport script from \"./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./ClassificationBannerSettings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <div>\n <v-card>\n <v-card-title> Reset suppressed warnings </v-card-title>\n <v-card-subtitle>\n This resets \"don't show this again\" dialogs on this browser\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <template v-if=\"suppressedWarnings.length\">\n <v-checkbox\n v-model=\"selectAllSuppressedWarnings\"\n label=\"Select all\"\n class=\"mt-0\"\n data-test=\"select-all-suppressed-warnings\"\n />\n <v-checkbox\n v-for=\"warning in suppressedWarnings\"\n :key=\"warning.key\"\n v-model=\"selectedSuppressedWarnings\"\n :label=\"warning.text\"\n :value=\"warning.key\"\n class=\"mt-0\"\n dense\n />\n </template>\n <template v-else> No warnings to reset </template>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled=\"!selectedSuppressedWarnings.length\"\n @click=\"resetSuppressedWarnings\"\n color=\"warning\"\n text\n class=\"ml-2\"\n data-test=\"reset-suppressed-warnings\"\n >\n Reset\n </v-btn>\n </v-card-actions>\n </v-card>\n <v-divider />\n <v-card>\n <v-card-title> Clear recent configs </v-card-title>\n <v-card-subtitle>\n This clears the most recently saved/loaded tool configs on this browser\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <template v-if=\"lastConfigs.length\">\n <v-checkbox\n v-model=\"selectAllLastConfigs\"\n label=\"Select all\"\n class=\"mt-0\"\n data-test=\"select-all-last-configs\"\n />\n <v-checkbox\n v-for=\"config in lastConfigs\"\n :key=\"config.key\"\n v-model=\"selectedLastConfigs\"\n :label=\"`${config.text} (${config.value})`\"\n :value=\"config.key\"\n class=\"mt-0\"\n dense\n />\n </template>\n <template v-else> No configs to clear </template>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled=\"!selectedLastConfigs.length\"\n @click=\"clearLastConfigs\"\n color=\"warning\"\n text\n class=\"ml-2\"\n data-test=\"clear-last-configs\"\n >\n Clear\n </v-btn>\n </v-card-actions>\n </v-card>\n <v-divider />\n <classification-banner-settings />\n <v-divider />\n <v-card>\n <v-card-title> Source code URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for the \"Source\" link in the footer. This is required\n under the AGPL license.\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <v-text-field\n label=\"Source URL\"\n v-model=\"sourceUrl\"\n data-test=\"source-url\"\n />\n </v-card-text>\n <v-card-actions>\n <v-container class=\"pt-0\">\n <v-row dense>\n <v-col class=\"pl-0\">\n <v-btn\n @click=\"saveSourceUrl\"\n color=\"success\"\n text\n data-test=\"save-source-url\"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"errorSaving\" type=\"error\" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n <v-divider />\n <v-card>\n <v-card-title> Rubygems URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for installing dependency rubygems. Also used for\n rubygem discovery.\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <v-text-field\n label=\"Rubygems URL\"\n v-model=\"rubygemsUrl\"\n data-test=\"rubygems-url\"\n />\n </v-card-text>\n <v-card-actions>\n <v-container class=\"pt-0\">\n <v-row dense>\n <v-col class=\"pl-0\">\n <v-btn\n @click=\"saveRubygemsUrl\"\n color=\"success\"\n text\n data-test=\"save-rubygems-url\"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"errorSaving\" type=\"error\" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\nimport ClassificationBannerSettings from '@/tools/CosmosAdmin/ClassificationBannerSettings.vue'\n\nexport default {\n components: {\n ClassificationBannerSettings,\n },\n data() {\n return {\n api: new CosmosApi(),\n suppressedWarnings: [],\n selectedSuppressedWarnings: [],\n selectAllSuppressedWarnings: false,\n lastConfigs: [],\n selectedLastConfigs: [],\n selectAllLastConfigs: false,\n sourceUrl: '',\n rubygemsUrl: '',\n errorSaving: false,\n successSaving: false,\n }\n },\n watch: {\n selectAllSuppressedWarnings: function (val) {\n if (val) {\n this.selectedSuppressedWarnings = this.suppressedWarnings.map(\n (warning) => warning.key\n )\n } else {\n this.selectedSuppressedWarnings = []\n }\n },\n selectAllLastConfigs: function (val) {\n if (val) {\n this.selectedLastConfigs = this.lastConfigs.map((config) => config.key)\n } else {\n this.selectedLastConfigs = []\n }\n },\n },\n created() {\n this.loadSuppressedWarnings()\n this.loadLastConfigs()\n this.loadSourceUrl()\n this.loadRubygemsUrl()\n },\n methods: {\n loadSuppressedWarnings: function () {\n this.suppressedWarnings = Object.keys(localStorage)\n .filter((key) => {\n return key.startsWith('suppresswarning__')\n })\n .map(this.localStorageKeyToDisplayObject)\n this.selectedSuppressedWarnings = []\n },\n resetSuppressedWarnings: function () {\n this.deleteLocalStorageKeys(this.selectedSuppressedWarnings)\n this.loadSuppressedWarnings()\n },\n loadLastConfigs: function () {\n this.lastConfigs = Object.keys(localStorage)\n .filter((key) => {\n return key.startsWith('lastconfig__')\n })\n .map(this.localStorageKeyToDisplayObject)\n this.selectedLastConfigs = []\n },\n clearLastConfigs: function () {\n this.deleteLocalStorageKeys(this.selectedLastConfigs)\n this.loadLastConfigs()\n },\n deleteLocalStorageKeys: function (keys) {\n for (const key of keys) {\n delete localStorage[key]\n }\n },\n localStorageKeyToDisplayObject: function (key) {\n const name = key.split('__')[1].replaceAll('_', ' ')\n return {\n key,\n text: name.charAt(0).toUpperCase() + name.slice(1),\n value: localStorage[key],\n }\n },\n loadSourceUrl: function () {\n this.api\n .get_setting('source_url')\n .then((response) => {\n this.sourceUrl = response\n })\n .catch(() => {\n this.sourceUrl = 'https://github.com/BallAerospace/COSMOS'\n })\n },\n saveSourceUrl: function () {\n this.api\n .save_setting('source_url', this.sourceUrl)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n this.errorSaving = true\n })\n },\n loadRubygemsUrl: function () {\n this.api\n .get_setting('rubygems_url')\n .then((response) => {\n this.rubygemsUrl = response\n })\n .catch(() => {\n this.rubygemsUrl = 'https://rubygems.org'\n })\n },\n saveRubygemsUrl: function () {\n this.api\n .save_setting('rubygems_url', this.rubygemsUrl)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n this.errorSaving = true\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SettingsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsTab.vue?vue&type=template&id=24d2f851&\"\nimport script from \"./SettingsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/cli-service/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","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar TypeError = global.TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n"],"names":["vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","status","localStorage","cosmosToken","CosmosAuth","login","href","body","statusText","config","data","message","exception","class","$notify","serious","title","render","_vm","this","_h","$createElement","_c","_self","_v","staticClass","suppressedWarnings","attrs","model","value","callback","$$v","selectAllSuppressedWarnings","expression","_l","warning","key","text","selectedSuppressedWarnings","length","on","resetSuppressedWarnings","lastConfigs","selectAllLastConfigs","selectedLastConfigs","clearLastConfigs","sourceUrl","saveSourceUrl","errorSaving","successSaving","rubygemsUrl","saveRubygemsUrl","staticRenderFns","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","done","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","_readOnlyError","name","CosmosApi","method","kwparams","updateToken","defaultMinValidity","id","scope","jsonrpc","keyword_params","headers","Authorization","result","Error","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","exec","interface_name","router_name","target","packet","item","log_writer_name","limits_set","target_name","packet_name","value_type","type","len","converted","decode_cosmos_type","items","item_name","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","encode_cosmos_type","undefined","_cmd","tool","ignored","array","errorLoading","colors","scopedSlots","_u","fn","selectedBackgroundColor","proxy","_s","customColorHint","rules","customColor","directives","rawName","customBackgroundColor","selectedFontColor","customFontColor","displayTopBanner","topHeight","displayBottomBanner","bottomHeight","formValid","save","api","computed","saveObj","fontColor","backgroundColor","watch","created","methods","load","get_setting","settingName","then","parsed","catch","save_setting","component","components","ClassificationBannerSettings","loadSuppressedWarnings","filter","map","loadLastConfigs","deleteLocalStorageKeys","keys","localStorageKeyToDisplayObject","loadSourceUrl","loadRubygemsUrl","$","global","uncurryThis","requireObjectCoercible","isCallable","isRegExp","toString","getMethod","getRegExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","indexOf","replace","stringSlice","slice","max","Math","stringIndexOf","string","searchValue","fromIndex","proto","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"file":"js/754.js","mappings":"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","sources":["webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/DownloadDialog.vue?4791","webpack://@cosmosc2/tool-admin/src/tools/CosmosAdmin/DownloadDialog.vue","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/DownloadDialog.vue?ebc1","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/DownloadDialog.vue","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/components/SimpleTextDialog.vue?451f","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/components/SimpleTextDialog.vue","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/components/SimpleTextDialog.vue?88d9","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/components/SimpleTextDialog.vue?3eda"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\" Download Gems \")]),_c('v-spacer')],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('v-row',{staticClass:\"my-2\"},[_vm._v(\" Select a download option \")]),_c('v-row',[_c('v-col',[_c('div',{staticClass:\"px-2\"},[_c('v-btn',{attrs:{\"block\":\"\",\"data-test\":\"searchGithub\",\"color\":\"primary\",\"disabled\":_vm.disableSearch},on:{\"click\":_vm.searchGithub}},[_vm._v(\" Github \"),_c('v-icon',{attrs:{\"right\":\"\",\"dark\":\"\"}},[_vm._v(\" mdi-github \")])],1)],1)])],1),_c('v-row',{staticClass:\"mt-5\"},[_vm._v(\" Community Gems \")]),(_vm.listData.length < 1)?_c('div',{staticClass:\"mt-4\"},[_c('v-row',{staticClass:\"mx-2\"},[_c('span',[_vm._v(\" I’m sorry, Dave. No gems available.... \")])])],1):_c('div',{staticClass:\"mt-4\"},_vm._l((_vm.listData),function(data,index){return _c('div',{key:index},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(data.name)}})],1),_c('v-list-item-icon',[(_vm.activeDownload)?_c('div',[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1):_c('div',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"disabled\":_vm.activeDownload},on:{\"click\":function($event){return _vm.downloadGem(data)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-cloud-download \")])]}}],null,true)},[_c('span',[_vm._v(\"Download Gem\")])])],1)])],1),(index < _vm.listData.length - 1)?_c('v-divider',{key:index}):_vm._e()],1)}),0)],1)])],1)],1)}\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Download Gems </span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <div class=\"pa-3\">\n <v-row class=\"my-2\"> Select a download option </v-row>\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n @click=\"searchGithub\"\n block\n data-test=\"searchGithub\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n >\n Github\n <v-icon right dark> mdi-github </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n <!---\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n @click=\"searchRuby\"\n block\n data-test=\"searchRuby\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n >\n RubyGems\n <v-icon right dark> mdi-heart </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n --->\n <v-row class=\"mt-5\"> Community Gems </v-row>\n <div class=\"mt-4\" v-if=\"listData.length < 1\">\n <v-row class=\"mx-2\">\n <span> I’m sorry, Dave. No gems available.... </span>\n </v-row>\n </div>\n <div class=\"mt-4\" v-else>\n <div v-for=\"(data, index) in listData\" :key=\"index\">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title v-text=\"data.name\" />\n </v-list-item-content>\n <v-list-item-icon>\n <div v-if=\"activeDownload\">\n <v-progress-circular indeterminate color=\"primary\" />\n </div>\n <div v-else>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"downloadGem(data)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n :disabled=\"activeDownload\"\n >\n mdi-cloud-download\n </v-icon>\n </template>\n <span>Download Gem</span>\n </v-tooltip>\n </div>\n </v-list-item-icon>\n </v-list-item>\n <v-divider v-if=\"index < listData.length - 1\" :key=\"index\" />\n </div>\n </div>\n </div>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\n// Directly use axios since we need no authentication or scope\nimport axios from 'axios'\n\nexport default {\n props: {\n value: Boolean, // value is the default prop when using v-model\n },\n data() {\n return {\n url: '',\n type: null,\n response: null,\n activeDownload: false,\n disableSearch: false,\n expanded: [],\n }\n },\n computed: {\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n listData: function () {\n if (!this.response) return []\n if (this.type === 'github') {\n return this.parseGithub()\n } else {\n return this.parseRuby()\n }\n },\n },\n methods: {\n parseGithub: function () {\n const gemRegEx = /\\w+.gem/\n return this.response.tree\n .filter((f) => gemRegEx.exec(f.path))\n .map((f) => {\n return {\n name: f.path,\n url: `https://raw.github.com/BallAerospace/cosmosc2-tools/main/${f.path}`,\n }\n })\n },\n getResponse: function () {\n this.disableSearch = true\n axios.get(this.url).then((response) => {\n this.response = response.data\n })\n setTimeout(() => {\n this.disableSearch = false\n }, 10000)\n },\n searchGithub: function () {\n this.type = 'github'\n this.url =\n 'https://api.github.com/repos/BallAerospace/cosmosc2-tools/git/trees/main?recursive=1'\n this.getResponse()\n },\n downloadGem: function (gem) {\n const link = document.createElement('a')\n link.href = gem.url\n link.setAttribute('download', gem.name)\n link.click()\n link.remove()\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DownloadDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DownloadDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DownloadDialog.vue?vue&type=template&id=18ac2b18&\"\nimport script from \"./DownloadDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./DownloadDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":_vm.width},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('v-spacer'),_c('div',{staticClass:\"mx-2\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"downloadIcon\"},on:{\"click\":_vm.download}},[_vm._v(\" mdi-download \")])],1)]}}])},[_c('span',[_vm._v(\" Download \")])])],1)],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('span',{staticStyle:{\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.text))])])]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.show = !_vm.show}}},[_vm._v(\" Ok \")])],1)],1)],1)}\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-dialog v-model=\"show\" :width=\"width\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> {{ title }} </span>\n <v-spacer />\n <div class=\"mx-2\">\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"downloadIcon\" @click=\"download\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </div>\n </v-system-bar>\n <v-card-text>\n <div class=\"pa-3\">\n <span style=\"white-space: pre-wrap\">{{ text }}</span>\n </div>\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn class=\"mx-2\" color=\"primary\" @click=\"show = !show\"> Ok </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nexport default {\n props: {\n value: Boolean, // value is the default prop when using v-model\n text: String,\n title: String,\n width: 800,\n },\n computed: {\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n },\n methods: {\n download: function () {\n const blob = new Blob([this.text], {\n type: 'text/plain',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', `${this.title}.txt`)\n link.click()\n },\n },\n}\n</script>\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SimpleTextDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SimpleTextDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SimpleTextDialog.vue?vue&type=template&id=8003a1c6&\"\nimport script from \"./SimpleTextDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./SimpleTextDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/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"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","model","value","callback","$$v","show","expression","_v","staticClass","disableSearch","on","searchGithub","listData","length","_l","data","index","key","domProps","_s","name","scopedSlots","_u","fn","ref","_g","_b","activeDownload","$event","downloadGem","_e","staticRenderFns","props","Boolean","url","type","response","expanded","computed","get","set","$emit","parseGithub","parseRuby","methods","tree","filter","map","getResponse","axios","then","setTimeout","link","href","gem","setAttribute","click","remove","component","width","title","download","staticStyle","text","String","URL","createObjectURL","blob"],"sourceRoot":""}
1
+ {"version":3,"file":"js/754.js","mappings":"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","sources":["webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/DownloadDialog.vue?4791","webpack://@cosmosc2/tool-admin/src/tools/CosmosAdmin/DownloadDialog.vue","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/DownloadDialog.vue?ebc1","webpack://@cosmosc2/tool-admin/./src/tools/CosmosAdmin/DownloadDialog.vue","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/components/SimpleTextDialog.vue?451f","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/components/SimpleTextDialog.vue","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/components/SimpleTextDialog.vue?88d9","webpack://@cosmosc2/tool-admin/../cosmosc2-tool-common/src/components/SimpleTextDialog.vue?3eda"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\" Download Gems \")]),_c('v-spacer')],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('v-row',{staticClass:\"my-2\"},[_vm._v(\" Select a download option \")]),_c('v-row',[_c('v-col',[_c('div',{staticClass:\"px-2\"},[_c('v-btn',{attrs:{\"block\":\"\",\"data-test\":\"searchGithub\",\"color\":\"primary\",\"disabled\":_vm.disableSearch},on:{\"click\":_vm.searchGithub}},[_vm._v(\" Github \"),_c('v-icon',{attrs:{\"right\":\"\",\"dark\":\"\"}},[_vm._v(\" mdi-github \")])],1)],1)])],1),_c('v-row',{staticClass:\"mt-5\"},[_vm._v(\" Community Gems \")]),(_vm.listData.length < 1)?_c('div',{staticClass:\"mt-4\"},[_c('v-row',{staticClass:\"mx-2\"},[_c('span',[_vm._v(\" I’m sorry, Dave. No gems available.... \")])])],1):_c('div',{staticClass:\"mt-4\"},_vm._l((_vm.listData),function(data,index){return _c('div',{key:index},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(data.name)}})],1),_c('v-list-item-icon',[(_vm.activeDownload)?_c('div',[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1):_c('div',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"disabled\":_vm.activeDownload},on:{\"click\":function($event){return _vm.downloadGem(data)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-cloud-download \")])]}}],null,true)},[_c('span',[_vm._v(\"Download Gem\")])])],1)])],1),(index < _vm.listData.length - 1)?_c('v-divider',{key:index}):_vm._e()],1)}),0)],1)])],1)],1)}\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Download Gems </span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <div class=\"pa-3\">\n <v-row class=\"my-2\"> Select a download option </v-row>\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n @click=\"searchGithub\"\n block\n data-test=\"searchGithub\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n >\n Github\n <v-icon right dark> mdi-github </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n <!---\n <v-row>\n <v-col>\n <div class=\"px-2\">\n <v-btn\n @click=\"searchRuby\"\n block\n data-test=\"searchRuby\"\n color=\"primary\"\n :disabled=\"disableSearch\"\n >\n RubyGems\n <v-icon right dark> mdi-heart </v-icon>\n </v-btn>\n </div>\n </v-col>\n </v-row>\n --->\n <v-row class=\"mt-5\"> Community Gems </v-row>\n <div class=\"mt-4\" v-if=\"listData.length < 1\">\n <v-row class=\"mx-2\">\n <span> I’m sorry, Dave. No gems available.... </span>\n </v-row>\n </div>\n <div class=\"mt-4\" v-else>\n <div v-for=\"(data, index) in listData\" :key=\"index\">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title v-text=\"data.name\" />\n </v-list-item-content>\n <v-list-item-icon>\n <div v-if=\"activeDownload\">\n <v-progress-circular indeterminate color=\"primary\" />\n </div>\n <div v-else>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"downloadGem(data)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n :disabled=\"activeDownload\"\n >\n mdi-cloud-download\n </v-icon>\n </template>\n <span>Download Gem</span>\n </v-tooltip>\n </div>\n </v-list-item-icon>\n </v-list-item>\n <v-divider v-if=\"index < listData.length - 1\" :key=\"index\" />\n </div>\n </div>\n </div>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\n// Directly use axios since we need no authentication or scope\nimport axios from 'axios'\n\nexport default {\n props: {\n value: Boolean, // value is the default prop when using v-model\n },\n data() {\n return {\n url: '',\n type: null,\n response: null,\n activeDownload: false,\n disableSearch: false,\n expanded: [],\n }\n },\n computed: {\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n listData: function () {\n if (!this.response) return []\n if (this.type === 'github') {\n return this.parseGithub()\n } else {\n return this.parseRuby()\n }\n },\n },\n methods: {\n parseGithub: function () {\n const gemRegEx = /\\w+.gem/\n return this.response.tree\n .filter((f) => gemRegEx.exec(f.path))\n .map((f) => {\n return {\n name: f.path,\n url: `https://raw.github.com/BallAerospace/cosmosc2-tools/main/${f.path}`,\n }\n })\n },\n getResponse: function () {\n this.disableSearch = true\n axios.get(this.url).then((response) => {\n this.response = response.data\n })\n setTimeout(() => {\n this.disableSearch = false\n }, 10000)\n },\n searchGithub: function () {\n this.type = 'github'\n this.url =\n 'https://api.github.com/repos/BallAerospace/cosmosc2-tools/git/trees/main?recursive=1'\n this.getResponse()\n },\n downloadGem: function (gem) {\n const link = document.createElement('a')\n link.href = gem.url\n link.setAttribute('download', gem.name)\n link.click()\n link.remove()\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DownloadDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DownloadDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DownloadDialog.vue?vue&type=template&id=18ac2b18&\"\nimport script from \"./DownloadDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./DownloadDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":_vm.width},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('v-spacer'),_c('div',{staticClass:\"mx-2\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"downloadIcon\"},on:{\"click\":_vm.download}},[_vm._v(\" mdi-download \")])],1)]}}])},[_c('span',[_vm._v(\" Download \")])])],1)],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('span',{staticStyle:{\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.text))])])]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.show = !_vm.show}}},[_vm._v(\" Ok \")])],1)],1)],1)}\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-dialog v-model=\"show\" :width=\"width\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> {{ title }} </span>\n <v-spacer />\n <div class=\"mx-2\">\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"downloadIcon\" @click=\"download\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </div>\n </v-system-bar>\n <v-card-text>\n <div class=\"pa-3\">\n <span style=\"white-space: pre-wrap\">{{ text }}</span>\n </div>\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn class=\"mx-2\" color=\"primary\" @click=\"show = !show\"> Ok </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nexport default {\n props: {\n value: Boolean, // value is the default prop when using v-model\n text: String,\n title: String,\n width: 800,\n },\n computed: {\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n },\n methods: {\n download: function () {\n const blob = new Blob([this.text], {\n type: 'text/plain',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', `${this.title}.txt`)\n link.click()\n },\n },\n}\n</script>\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SimpleTextDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SimpleTextDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SimpleTextDialog.vue?vue&type=template&id=8003a1c6&\"\nimport script from \"./SimpleTextDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./SimpleTextDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/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"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","model","value","callback","$$v","show","expression","_v","staticClass","disableSearch","on","searchGithub","listData","length","_l","data","index","key","domProps","_s","name","scopedSlots","_u","fn","ref","_g","_b","activeDownload","$event","downloadGem","_e","staticRenderFns","props","url","type","response","expanded","computed","get","set","methods","parseGithub","filter","map","getResponse","axios","setTimeout","link","component","width","title","download","staticStyle","text"],"sourceRoot":""}