openc3-tool-admin 5.0.7 → 5.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/tools/admin/js/107.js +2 -0
  3. data/tools/admin/js/107.js.map +1 -0
  4. data/tools/admin/js/113.js +2 -0
  5. data/tools/admin/js/113.js.map +1 -0
  6. data/tools/admin/js/179.js +1 -1
  7. data/tools/admin/js/179.js.map +1 -1
  8. data/tools/admin/js/249.js +2 -0
  9. data/tools/admin/js/249.js.map +1 -0
  10. data/tools/admin/js/262.js +1 -1
  11. data/tools/admin/js/372.js +1 -1
  12. data/tools/admin/js/388.js +2 -0
  13. data/tools/admin/js/388.js.map +1 -0
  14. data/tools/admin/js/400.js +2 -0
  15. data/tools/admin/js/400.js.map +1 -0
  16. data/tools/admin/js/43.js +2 -0
  17. data/tools/admin/js/43.js.map +1 -0
  18. data/tools/admin/js/637.js +2 -0
  19. data/tools/admin/js/637.js.map +1 -0
  20. data/tools/admin/js/758.js +2 -0
  21. data/tools/admin/js/758.js.map +1 -0
  22. data/tools/admin/js/780.js +2 -0
  23. data/tools/admin/js/780.js.map +1 -0
  24. data/tools/admin/js/824.js +2 -0
  25. data/tools/admin/js/824.js.map +1 -0
  26. data/tools/admin/js/851.js +4 -0
  27. data/tools/admin/js/851.js.map +1 -0
  28. data/tools/admin/js/909.js +2 -0
  29. data/tools/admin/js/909.js.map +1 -0
  30. data/tools/admin/js/app.js +1 -1
  31. data/tools/admin/js/app.js.map +1 -1
  32. metadata +26 -28
  33. data/tools/admin/js/108.js +0 -2
  34. data/tools/admin/js/108.js.map +0 -1
  35. data/tools/admin/js/217.js +0 -2
  36. data/tools/admin/js/217.js.map +0 -1
  37. data/tools/admin/js/248.js +0 -2
  38. data/tools/admin/js/248.js.map +0 -1
  39. data/tools/admin/js/251.js +0 -2
  40. data/tools/admin/js/251.js.map +0 -1
  41. data/tools/admin/js/32.js +0 -2
  42. data/tools/admin/js/32.js.map +0 -1
  43. data/tools/admin/js/354.js +0 -2
  44. data/tools/admin/js/354.js.map +0 -1
  45. data/tools/admin/js/37.js +0 -2
  46. data/tools/admin/js/37.js.map +0 -1
  47. data/tools/admin/js/449.js +0 -2
  48. data/tools/admin/js/449.js.map +0 -1
  49. data/tools/admin/js/629.js +0 -2
  50. data/tools/admin/js/629.js.map +0 -1
  51. data/tools/admin/js/699.js +0 -2
  52. data/tools/admin/js/699.js.map +0 -1
  53. data/tools/admin/js/844.js +0 -4
  54. data/tools/admin/js/844.js.map +0 -1
  55. data/tools/admin/js/850.js +0 -2
  56. data/tools/admin/js/850.js.map +0 -1
  57. data/tools/admin/js/957.js +0 -2
  58. data/tools/admin/js/957.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/37.js","mappings":"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","sources":["webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/PluginsTab.vue?7ce1","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/PluginDialog.vue?2483","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/PluginDialog.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/PluginDialog.vue?2e2c","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/PluginDialog.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/ModifiedPluginDialog.vue?59c3","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/ModifiedPluginDialog.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/ModifiedPluginDialog.vue?2654","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/ModifiedPluginDialog.vue","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/tabs/PluginsTab.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/PluginsTab.vue?94ec","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/PluginsTab.vue","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/base64-map.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/dom-exception-constants.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/error-to-string.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/try-node-require.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/web.atob.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/web.dom-exception.constructor.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/web.dom-exception.stack.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/web.dom-exception.to-string-tag.js","webpack://@openc3/tool-admin/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{staticClass:\"px-2\",attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('v-file-input',{ref:\"fileInput\",staticClass:\"mx-2\",attrs:{\"show-size\":\"\",\"accept\":\".gem\",\"label\":\"Click to select plugin .gem file to install\"},on:{\"change\":function($event){return _vm.fileChange()},\"mousedown\":function($event){return _vm.fileMousedown()}},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}})],1),_c('v-col',{attrs:{\"align\":\"right\"}},[_c('v-btn',{staticClass:\"mx-2\",attrs:{\"data-test\":\"download-plugin\",\"disabled\":_vm.file !== null},on:{\"click\":function($event){_vm.showDownloadDialog = true}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-cloud-download\")]),_c('span',[_vm._v(\" Download \")])],1)],1)],1),_c('v-row',{staticClass:\"px-2 pb-2\",staticStyle:{\"margin-top\":\"10px\"},attrs:{\"no-gutters\":\"\"}},[_c('v-col',[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Show Default Tools\",\"data-test\":\"show-default-tools\"},model:{value:(_vm.showDefaultTools),callback:function ($$v) {_vm.showDefaultTools=$$v},expression:\"showDefaultTools\"}})],1),_c('v-col',{attrs:{\"align\":\"right\"}},[_c('div',[_vm._v(\"* indicates a modified plugin\")]),_c('div',[_vm._v(\"Click target link to download modifications\")])])],1),_c('v-alert',{attrs:{\"dismissible\":\"\",\"transition\":\"scale-transition\",\"type\":_vm.alertType,\"data-test\":\"plugin-alert\"},model:{value:(_vm.showAlert),callback:function ($$v) {_vm.showAlert=$$v},expression:\"showAlert\"}},[_vm._v(_vm._s(_vm.alert))]),(Object.keys(_vm.processes).length > 0)?_c('v-list',{attrs:{\"data-test\":\"process-list\"}},_vm._l((_vm.processes),function(process){return _c('div',{key:process.name},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{domProps:{\"textContent\":_vm._s(\n (\"Processing \" + (process.process_type) + \": \" + (process.detail) + \" - \" + (process.state))\n )}})]),_c('v-list-item-subtitle',[_c('span',{domProps:{\"textContent\":_vm._s(' Updated At: ' + _vm.formatDate(process.updated_at))}})])],1),_c('v-list-item-icon',[(process.state === 'Running')?_c('div',[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1):_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"data-test\":\"show-output\"},on:{\"click\":function($event){return _vm.showOutput(process)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-eye \")])]}}],null,true)},[_c('span',[_vm._v(\"Show Output\")])])],1)],1),_c('v-divider')],1)}),0):_vm._e(),_c('v-list',{attrs:{\"data-test\":\"plugin-list\"}},_vm._l((_vm.shownPlugins),function(plugin,index){return _c('div',{key:index},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[(_vm.isModified(plugin))?_c('span',[_vm._v(\"* \")]):_vm._e(),_vm._v(_vm._s(plugin))]),(_vm.pluginTargets(plugin).length !== 0)?_c('v-list-item-subtitle',_vm._l((_vm.pluginTargets(plugin)),function(target,index){return _c('span',{key:index},[(target.modified)?_c('a',{on:{\"click\":function($event){$event.preventDefault();return _vm.downloadTarget(target.name)}}},[_vm._v(_vm._s(target.name)+\" \")]):_c('span',[_vm._v(_vm._s(target.name)+\" \")])])}),0):_vm._e()],1),_c('v-list-item-icon',[_c('div',{staticClass:\"mx-3\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"data-test\":\"edit-plugin\"},on:{\"click\":function($event){return _vm.editPlugin(plugin)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-pencil \")])]}}],null,true)},[_c('span',[_vm._v(\"Edit Plugin Details\")])])],1),_c('div',{staticClass:\"mx-3\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"data-test\":\"upgrade-plugin\"},on:{\"click\":function($event){return _vm.upgradePlugin(plugin)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-update \")])]}}],null,true)},[_c('span',[_vm._v(\"Upgrade Plugin\")])])],1),_c('div',{staticClass:\"mx-3\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"data-test\":\"delete-plugin\"},on:{\"click\":function($event){return _vm.deletePrompt(plugin)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-delete \")])]}}],null,true)},[_c('span',[_vm._v(\"Delete Plugin\")])])],1)])],1),(index < _vm.plugins.length - 1)?_c('v-divider',{key:index}):_vm._e()],1)}),0),_c('plugin-dialog',{attrs:{\"pluginName\":_vm.pluginName,\"variables\":_vm.variables,\"pluginTxt\":_vm.pluginTxt,\"existingPluginTxt\":_vm.existingPluginTxt},on:{\"submit\":_vm.pluginCallback},model:{value:(_vm.showPluginDialog),callback:function ($$v) {_vm.showPluginDialog=$$v},expression:\"showPluginDialog\"}}),(_vm.showModifiedPluginDialog)?_c('modified-plugin-dialog',{attrs:{\"pluginName\":_vm.currentPlugin,\"targets\":_vm.pluginTargets(_vm.currentPlugin),\"pluginDelete\":_vm.pluginDelete},on:{\"submit\":_vm.modifiedSubmit},model:{value:(_vm.showModifiedPluginDialog),callback:function ($$v) {_vm.showModifiedPluginDialog=$$v},expression:\"showModifiedPluginDialog\"}}):_vm._e(),_c('download-dialog',{model:{value:(_vm.showDownloadDialog),callback:function ($$v) {_vm.showDownloadDialog=$$v},expression:\"showDownloadDialog\"}}),_c('simple-text-dialog',{attrs:{\"title\":\"Process Output\",\"text\":_vm.processOutput},model:{value:(_vm.showProcessOutput),callback:function ($$v) {_vm.showProcessOutput=$$v},expression:\"showProcessOutput\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-card-text',[_c('v-row',{staticClass:\"mt-3\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h3',[_vm._v(_vm._s(_vm.pluginName))])]),(_vm.existingPluginTxt !== null)?_c('v-radio-group',{attrs:{\"mandatory\":\"\"},model:{value:(_vm.radioGroup),callback:function ($$v) {_vm.radioGroup=$$v},expression:\"radioGroup\"}},[_c('v-radio',{attrs:{\"label\":\"Use existing plugin.txt\",\"value\":1}}),_c('v-radio',{attrs:{\"label\":\"Use new plugin.txt\",\"value\":0}})],1):_vm._e()],1),_c('v-tabs',{attrs:{\"background-color\":\"primary\",\"dark\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab',{key:0},[_vm._v(\" Variables \")]),_c('v-tab',{key:1},[_vm._v(\" plugin.txt \")]),(_vm.existingPluginTxt !== null)?_c('v-tab',{key:2},[_vm._v(\" Existing plugin.txt \")]):_vm._e()],1),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('v-tabs-items',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab-item',{key:0},[_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('v-row',{staticClass:\"mt-3\"},_vm._l((_vm.localVariables),function(value,name){return _c('div',{key:name},[_c('v-col',[_c('v-text-field',{attrs:{\"clearable\":\"\",\"type\":\"text\",\"label\":name},model:{value:(_vm.localVariables[name]),callback:function ($$v) {_vm.$set(_vm.localVariables, name, $$v)},expression:\"localVariables[name]\"}})],1)],1)}),0)],1)])],1),_c('v-tab-item',{key:1},[_c('v-textarea',{attrs:{\"rows\":\"15\",\"data-test\":\"edit-plugin-txt\"},model:{value:(_vm.localPluginTxt),callback:function ($$v) {_vm.localPluginTxt=$$v},expression:\"localPluginTxt\"}})],1),(_vm.existingPluginTxt !== null)?_c('v-tab-item',{key:2},[_c('v-textarea',{attrs:{\"rows\":\"15\",\"data-test\":\"edit-existing-plugin-txt\"},model:{value:(_vm.localExistingPluginTxt),callback:function ($$v) {_vm.localExistingPluginTxt=$$v},expression:\"localExistingPluginTxt\"}})],1):_vm._e()],1),_c('v-row',[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"outlined\":\"\",\"data-test\":\"edit-cancel\"},on:{\"click\":function($event){$event.preventDefault();return _vm.close.apply(null, arguments)}}},[_vm._v(\" Cancel \")]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"primary\",\"type\":\"submit\",\"data-test\":\"edit-submit\"}},[_vm._v(\" Install \")])],1)],1)],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# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <v-dialog persistent v-model=\"show\" width=\"600\">\n <v-card>\n <v-card-text>\n <v-row class=\"mt-3\">\n <v-col cols=\"12\">\n <h3>{{ pluginName }}</h3>\n </v-col>\n <v-radio-group\n v-if=\"existingPluginTxt !== null\"\n v-model=\"radioGroup\"\n mandatory\n >\n <v-radio label=\"Use existing plugin.txt\" :value=\"1\"></v-radio>\n <v-radio label=\"Use new plugin.txt\" :value=\"0\"></v-radio>\n </v-radio-group>\n </v-row>\n <v-tabs v-model=\"tab\" background-color=\"primary\" dark>\n <v-tab :key=\"0\"> Variables </v-tab>\n <v-tab :key=\"1\"> plugin.txt </v-tab>\n <v-tab v-if=\"existingPluginTxt !== null\" :key=\"2\">\n Existing plugin.txt\n </v-tab>\n </v-tabs>\n\n <form v-on:submit.prevent=\"submit\">\n <v-tabs-items v-model=\"tab\">\n <v-tab-item :key=\"0\">\n <v-card-text>\n <div class=\"pa-3\">\n <v-row class=\"mt-3\">\n <div v-for=\"(value, name) in localVariables\" :key=\"name\">\n <v-col>\n <v-text-field\n clearable\n type=\"text\"\n :label=\"name\"\n v-model=\"localVariables[name]\"\n />\n </v-col>\n </div>\n </v-row>\n </div>\n </v-card-text>\n </v-tab-item>\n <v-tab-item :key=\"1\">\n <v-textarea\n v-model=\"localPluginTxt\"\n rows=\"15\"\n data-test=\"edit-plugin-txt\"\n />\n </v-tab-item>\n <v-tab-item v-if=\"existingPluginTxt !== null\" :key=\"2\">\n <v-textarea\n v-model=\"localExistingPluginTxt\"\n rows=\"15\"\n data-test=\"edit-existing-plugin-txt\"\n />\n </v-tab-item>\n </v-tabs-items>\n\n <v-row>\n <v-spacer />\n <v-btn\n @click.prevent=\"close\"\n outlined\n class=\"mx-2\"\n data-test=\"edit-cancel\"\n >\n Cancel\n </v-btn>\n <v-btn\n class=\"mx-2\"\n color=\"primary\"\n type=\"submit\"\n data-test=\"edit-submit\"\n >\n Install\n </v-btn>\n </v-row>\n </form>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nexport default {\n props: {\n pluginName: {\n type: String,\n required: true,\n },\n variables: {\n type: Object,\n required: true,\n },\n pluginTxt: {\n type: String,\n required: true,\n },\n existingPluginTxt: {\n type: String,\n required: false,\n },\n value: Boolean, // value is the default prop when using v-model\n },\n data() {\n return {\n tab: 0,\n localVariables: [],\n localPluginTxt: '',\n localExistingPluginTxt: null,\n radioGroup: 1,\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 },\n watch: {\n value: {\n immediate: true,\n handler: function () {\n this.localVariables = JSON.parse(JSON.stringify(this.variables)) // deep copy\n this.localPluginTxt = this.pluginTxt.slice()\n if (this.existingPluginTxt !== null) {\n this.localExistingPluginTxt = this.existingPluginTxt.slice()\n this.radioGroup = 1\n }\n },\n },\n },\n methods: {\n submit: function () {\n let lines = ''\n if (this.existingPluginTxt !== null && this.radioGroup === 1) {\n lines = this.localExistingPluginTxt.split('\\n')\n } else {\n lines = this.localPluginTxt.split('\\n')\n }\n\n let pluginHash = {\n name: this.pluginName,\n variables: this.localVariables,\n plugin_txt_lines: lines,\n }\n this.$emit('submit', pluginHash)\n },\n close: function () {\n this.show = !this.show\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.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PluginDialog.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.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PluginDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PluginDialog.vue?vue&type=template&id=48c8ba65&\"\nimport script from \"./PluginDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./PluginDialog.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\":\"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(\" Modified Plugin \")]),_c('v-spacer')],1),_c('v-card-text',{staticClass:\"pa-3\"},[_c('div',[_vm._v(\" Plugin \"+_vm._s(_vm.plugin)+\" was modified. Would you like to delete the existing modified files? \")]),_vm._l((_vm.modifiedTargets),function(target,index){return _c('v-list-item',{key:index,attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(target.name))]),_vm._l((target.files),function(file,itemIndex){return _c('v-list-item-subtitle',{key:itemIndex},[_vm._v(_vm._s(file))])})],2)],1)}),_c('v-checkbox',{attrs:{\"label\":\"DELETE MODIFIED! THIS CAN NOT BE UNDONE!!!\",\"color\":\"error\",\"data-test\":\"modified-plugin-delete-checkbox\"},model:{value:(_vm.deleteModified),callback:function ($$v) {_vm.deleteModified=$$v},expression:\"deleteModified\"}})],2),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"outlined\":\"\",\"data-test\":\"modified-plugin-cancel\"},on:{\"click\":function($event){_vm.show = false\n _vm.$emit('cancel')}}},[_vm._v(\"Cancel\")]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"primary\",\"data-test\":\"modified-plugin-submit\"},on:{\"click\":function($event){_vm.show = false\n _vm.$emit('submit', _vm.deleteModified)}}},[_vm._v(_vm._s(_vm.submitButton))])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 OpenC3, Inc.\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\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Modified Plugin </span>\n <v-spacer />\n </v-system-bar>\n <v-card-text class=\"pa-3\">\n <div>\n Plugin {{ plugin }} was modified. Would you like to delete the\n existing modified files?\n </div>\n <v-list-item\n two-line\n v-for=\"(target, index) in modifiedTargets\"\n :key=\"index\"\n >\n <v-list-item-content>\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle\n v-for=\"(file, itemIndex) in target.files\"\n :key=\"itemIndex\"\n >{{ file }}</v-list-item-subtitle\n >\n </v-list-item-content>\n </v-list-item>\n <v-checkbox\n v-model=\"deleteModified\"\n label=\"DELETE MODIFIED! THIS CAN NOT BE UNDONE!!!\"\n color=\"error\"\n data-test=\"modified-plugin-delete-checkbox\"\n />\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn\n class=\"mx-2\"\n outlined\n data-test=\"modified-plugin-cancel\"\n @click=\"\n show = false\n $emit('cancel')\n \"\n >Cancel</v-btn\n >\n <v-btn\n class=\"mx-2\"\n color=\"primary\"\n data-test=\"modified-plugin-submit\"\n @click=\"\n show = false\n $emit('submit', deleteModified)\n \"\n >{{ submitButton }}</v-btn\n >\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport Api from '@openc3/tool-common/src/services/api'\n\nexport default {\n props: {\n value: Boolean, // value is the default prop when using v-model\n plugin: String,\n targets: Array,\n pluginDelete: Boolean,\n },\n data() {\n return {\n modifiedTargets: [],\n deleteModified: false,\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 submitButton: function () {\n if (this.pluginDelete) {\n return 'Delete'\n } else {\n return 'Install'\n }\n },\n },\n created() {\n for (const target of this.targets) {\n Api.get(`/openc3-api/targets/${target.name}/modified_files`).then(\n (response) => {\n if (response.data.length !== 0) {\n // Only push targets which actually have modified files\n this.modifiedTargets.push({\n name: target.name,\n files: response.data,\n })\n }\n }\n )\n }\n },\n}\n</script>\n\n<style scoped></style>\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.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModifiedPluginDialog.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.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModifiedPluginDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ModifiedPluginDialog.vue?vue&type=template&id=c2a422c2&scoped=true&\"\nimport script from \"./ModifiedPluginDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./ModifiedPluginDialog.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 \"c2a422c2\",\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <div>\n <v-row no-gutters align=\"center\" class=\"px-2\">\n <v-col>\n <v-file-input\n v-model=\"file\"\n show-size\n accept=\".gem\"\n class=\"mx-2\"\n label=\"Click to select plugin .gem file to install\"\n ref=\"fileInput\"\n @change=\"fileChange()\"\n @mousedown=\"fileMousedown()\"\n />\n </v-col>\n <v-col align=\"right\">\n <v-btn\n @click=\"showDownloadDialog = true\"\n class=\"mx-2\"\n data-test=\"download-plugin\"\n :disabled=\"file !== null\"\n >\n <v-icon left>mdi-cloud-download</v-icon>\n <span> Download </span>\n </v-btn>\n </v-col>\n </v-row>\n <v-row no-gutters class=\"px-2 pb-2\" style=\"margin-top: 10px\">\n <v-col>\n <v-checkbox\n v-model=\"showDefaultTools\"\n label=\"Show Default Tools\"\n class=\"mt-0\"\n data-test=\"show-default-tools\"\n />\n </v-col>\n <v-col align=\"right\">\n <div>* indicates a modified plugin</div>\n <div>Click target link to download modifications</div>\n </v-col>\n </v-row>\n <!-- TODO This alert shows both success and failure. Make consistent with rest of OpenC3. -->\n <v-alert\n dismissible\n transition=\"scale-transition\"\n :type=\"alertType\"\n v-model=\"showAlert\"\n data-test=\"plugin-alert\"\n >{{ alert }}</v-alert\n >\n <v-list v-if=\"Object.keys(processes).length > 0\" data-test=\"process-list\">\n <div v-for=\"process in processes\" :key=\"process.name\">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title>\n <span\n v-text=\"\n `Processing ${process.process_type}: ${process.detail} - ${process.state}`\n \"\n />\n </v-list-item-title>\n <v-list-item-subtitle>\n <span v-text=\"' Updated At: ' + formatDate(process.updated_at)\"\n /></v-list-item-subtitle>\n </v-list-item-content>\n <v-list-item-icon>\n <div v-if=\"process.state === 'Running'\">\n <v-progress-circular indeterminate color=\"primary\" />\n </div>\n <v-tooltip v-else bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"showOutput(process)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n data-test=\"show-output\"\n >\n mdi-eye\n </v-icon>\n </template>\n <span>Show Output</span>\n </v-tooltip>\n </v-list-item-icon>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <v-list data-test=\"plugin-list\">\n <div v-for=\"(plugin, index) in shownPlugins\" :key=\"index\">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title\n ><span v-if=\"isModified(plugin)\">* </span\n >{{ plugin }}</v-list-item-title\n >\n <v-list-item-subtitle v-if=\"pluginTargets(plugin).length !== 0\">\n <span\n v-for=\"(target, index) in pluginTargets(plugin)\"\n :key=\"index\"\n >\n <a\n v-if=\"target.modified\"\n @click.prevent=\"downloadTarget(target.name)\"\n >{{ target.name }}\n </a>\n <span v-else>{{ target.name }} </span>\n </span>\n </v-list-item-subtitle>\n </v-list-item-content>\n <v-list-item-icon>\n <div class=\"mx-3\">\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"editPlugin(plugin)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n data-test=\"edit-plugin\"\n >\n mdi-pencil\n </v-icon>\n </template>\n <span>Edit Plugin Details</span>\n </v-tooltip>\n </div>\n <div class=\"mx-3\">\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"upgradePlugin(plugin)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n data-test=\"upgrade-plugin\"\n >\n mdi-update\n </v-icon>\n </template>\n <span>Upgrade Plugin</span>\n </v-tooltip>\n </div>\n <div class=\"mx-3\">\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"deletePrompt(plugin)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n data-test=\"delete-plugin\"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Plugin</span>\n </v-tooltip>\n </div>\n </v-list-item-icon>\n </v-list-item>\n <v-divider v-if=\"index < plugins.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n <plugin-dialog\n v-model=\"showPluginDialog\"\n :pluginName=\"pluginName\"\n :variables=\"variables\"\n :pluginTxt=\"pluginTxt\"\n :existingPluginTxt=\"existingPluginTxt\"\n @submit=\"pluginCallback\"\n />\n <modified-plugin-dialog\n v-if=\"showModifiedPluginDialog\"\n v-model=\"showModifiedPluginDialog\"\n :pluginName=\"currentPlugin\"\n :targets=\"pluginTargets(currentPlugin)\"\n :pluginDelete=\"pluginDelete\"\n @submit=\"modifiedSubmit\"\n />\n <download-dialog v-model=\"showDownloadDialog\" />\n <simple-text-dialog\n v-model=\"showProcessOutput\"\n title=\"Process Output\"\n :text=\"processOutput\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport Api from '@openc3/tool-common/src/services/api'\nimport DownloadDialog from '@/tools/OpenC3Admin/DownloadDialog'\nimport PluginDialog from '@/tools/OpenC3Admin/PluginDialog'\nimport ModifiedPluginDialog from '@/tools/OpenC3Admin/ModifiedPluginDialog'\nimport SimpleTextDialog from '@openc3/tool-common/src/components/SimpleTextDialog'\n\nexport default {\n components: {\n DownloadDialog,\n PluginDialog,\n ModifiedPluginDialog,\n SimpleTextDialog,\n },\n data() {\n return {\n file: null,\n currentPlugin: null,\n plugins: [],\n targets: [],\n processes: {},\n alert: '',\n alertType: 'success',\n showAlert: false,\n pluginName: null,\n variables: {},\n pluginTxt: '',\n pluginHashTmp: null,\n existingPluginTxt: null,\n showDownloadDialog: false,\n showProcessOutput: false,\n processOutput: '',\n showPluginDialog: false,\n showModifiedPluginDialog: false,\n showDefaultTools: false,\n pluginDelete: false,\n defaultPlugins: [\n 'openc3-tool-admin',\n 'openc3-tool-autonomic',\n 'openc3-tool-base',\n 'openc3-tool-calendar',\n 'openc3-tool-cmdsender',\n 'openc3-tool-cmdtlmserver',\n 'openc3-tool-dataextractor',\n 'openc3-tool-dataviewer',\n 'openc3-tool-handbooks',\n 'openc3-tool-limitsmonitor',\n 'openc3-tool-packetviewer',\n 'openc3-tool-scriptrunner',\n 'openc3-tool-tablemanager',\n 'openc3-tool-tlmgrapher',\n 'openc3-tool-tlmviewer',\n ],\n }\n },\n computed: {\n shownPlugins() {\n let result = []\n for (let plugin of this.plugins) {\n let pluginNameFirst = plugin.split('__')[0]\n let pluginNameSplit = pluginNameFirst.split('-')\n pluginNameSplit = pluginNameSplit.slice(0, -1)\n let pluginName = pluginNameSplit.join('-')\n if (\n !this.defaultPlugins.includes(pluginName) ||\n this.showDefaultTools\n ) {\n result.push(plugin)\n }\n }\n return result\n },\n pluginTargets() {\n return (plugin) => {\n let result = []\n for (const target in this.targets) {\n if (this.targets[target]['plugin'] === plugin) {\n result.push(this.targets[target])\n }\n }\n return result\n }\n },\n isModified() {\n return (plugin) => {\n let result = false\n for (const target in this.targets) {\n if (\n this.targets[target]['plugin'] === plugin &&\n this.targets[target]['modified'] === true\n ) {\n result = true\n break\n }\n }\n return result\n }\n },\n },\n mounted() {\n this.update()\n this.updateProcesses()\n },\n methods: {\n showOutput: function (process) {\n this.processOutput = process.output\n this.showProcessOutput = true\n },\n update: function () {\n Api.get('/openc3-api/plugins').then((response) => {\n this.plugins = response.data\n })\n Api.get('/openc3-api/targets_modified').then((response) => {\n this.targets = response.data\n })\n },\n updateProcesses: function () {\n Api.get('openc3-api/process_status/plugin_?use_regex=true').then(\n (response) => {\n this.processes = response.data\n if (Object.keys(this.processes).length > 0) {\n setTimeout(() => {\n this.updateProcesses()\n this.update()\n }, 10000)\n }\n }\n )\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1_000_000),\n 'yyyy-MM-dd HH:mm:ss.SSS'\n )\n },\n upload: function (existing = null) {\n const method = existing ? 'put' : 'post'\n const path = existing\n ? `/openc3-api/plugins/${existing}`\n : '/openc3-api/plugins'\n const formData = new FormData()\n formData.append('plugin', this.file, this.file.name)\n const promise = Api[method](path, { data: formData })\n promise\n .then((response) => {\n this.alert = 'Uploaded file'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n let existingPluginTxt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existingPluginTxt =\n response.data.existing_plugin_txt_lines.join('\\n')\n }\n let pluginTxt = response.data.plugin_txt_lines.join('\\n')\n ;(this.pluginName = response.data.name),\n (this.variables = response.data.variables),\n (this.pluginTxt = pluginTxt),\n (this.existingPluginTxt = existingPluginTxt)\n this.showPluginDialog = true\n this.file = undefined\n })\n .catch((error) => {\n this.currentPlugin = null\n this.file = undefined\n })\n },\n pluginCallback: function (pluginHash) {\n this.showPluginDialog = false\n if (this.currentPlugin !== null) {\n pluginHash['name'] = this.currentPlugin\n }\n this.pluginHashTmp = pluginHash\n if (this.isModified(this.currentPlugin)) {\n this.pluginDelete = false\n this.showModifiedPluginDialog = true\n } else {\n this.pluginInstall()\n }\n },\n modifiedSubmit: async function (deleteModified) {\n if (deleteModified === true) {\n for (let target of this.pluginTargets(this.currentPlugin)) {\n if (target.modified == true) {\n await Api.post(`/openc3-api/targets/${target.name}/delete_modified`)\n }\n }\n }\n if (this.pluginDelete) {\n this.deletePlugin(this.currentPlugin)\n } else {\n this.pluginInstall()\n }\n },\n pluginInstall: function () {\n Api.post(`/openc3-api/plugins/install/${this.pluginName}`, {\n data: {\n plugin_hash: JSON.stringify(this.pluginHashTmp),\n },\n }).then((response) => {\n this.alert = `Started installing plugin ${this.pluginName} ...`\n this.alertType = 'success'\n this.showAlert = true\n this.currentPlugin = null\n this.file = undefined\n this.variables = {}\n this.pluginTxt = ''\n this.existingPluginTxt = null\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n this.update()\n })\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n editPlugin: function (plugin) {\n Api.get(`/openc3-api/plugins/${plugin}`).then((response) => {\n let existingPluginTxt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existingPluginTxt = response.data.existing_plugin_txt_lines.join('\\n')\n }\n let pluginTxt = response.data.plugin_txt_lines.join('\\n')\n ;(this.pluginName = response.data.name),\n (this.variables = response.data.variables),\n (this.pluginTxt = pluginTxt),\n (this.existingPluginTxt = existingPluginTxt)\n this.showPluginDialog = true\n })\n },\n deletePrompt: function (plugin) {\n this.$dialog\n .confirm(`Are you sure you want to remove: ${plugin}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n if (this.isModified(plugin)) {\n this.currentPlugin = plugin\n this.pluginDelete = true\n this.showModifiedPluginDialog = true\n } else {\n this.deletePlugin(plugin)\n }\n })\n },\n deletePlugin: function (plugin) {\n this.alert = `Removing plugin ${plugin} ...`\n this.alertType = 'success'\n this.showAlert = true\n Api.delete(`/openc3-api/plugins/${plugin}`).then((response) => {\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n })\n this.update()\n },\n upgradePlugin(plugin) {\n this.file = undefined\n this.currentPlugin = plugin\n this.$refs.fileInput.$refs.input.click()\n },\n fileMousedown() {\n this.currentPlugin = null\n },\n fileChange() {\n if (this.file !== undefined) {\n if (this.currentPlugin !== null) {\n this.upload(this.currentPlugin)\n } else {\n this.upload()\n }\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.use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PluginsTab.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.use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PluginsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PluginsTab.vue?vue&type=template&id=637d8a1c&\"\nimport script from \"./PluginsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./PluginsTab.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 itoc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nvar ctoi = {};\n\nfor (var index = 0; index < 66; index++) ctoi[itoc.charAt(index)] = index;\n\nmodule.exports = {\n itoc: itoc,\n ctoi: ctoi\n};\n","module.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar create = require('../internals/object-create');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\n\nvar nativeErrorToString = Error.prototype.toString;\n\nvar INCORRECT_TO_STRING = fails(function () {\n if (DESCRIPTORS) {\n // Chrome 32- incorrectly call accessor\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n var object = create(Object.defineProperty({}, 'name', { get: function () {\n return this === object;\n } }));\n if (nativeErrorToString.call(object) !== 'true') return true;\n }\n // FF10- does not properly handle non-strings\n return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1'\n // IE8 does not properly handle defaults\n || nativeErrorToString.call({}) !== 'Error';\n});\n\nmodule.exports = INCORRECT_TO_STRING ? function toString() {\n var O = anObject(this);\n var name = normalizeStringArgument(O.name, 'Error');\n var message = normalizeStringArgument(O.message);\n return !name ? message : !message ? name : name + ': ' + message;\n} : nativeErrorToString;\n","var IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = function (name) {\n try {\n // eslint-disable-next-line no-new-func -- safe\n if (IS_NODE) return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n};\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar toString = require('../internals/to-string');\nvar hasOwn = require('../internals/has-own-property');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar ctoi = require('../internals/base64-map').ctoi;\n\nvar disallowed = /[^\\d+/a-z]/i;\nvar whitespaces = /[\\t\\n\\f\\r ]+/g;\nvar finalEq = /[=]+$/;\n\nvar $atob = getBuiltIn('atob');\nvar fromCharCode = String.fromCharCode;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar exec = uncurryThis(disallowed.exec);\n\nvar NO_SPACES_IGNORE = fails(function () {\n return $atob(' ') !== '';\n});\n\nvar NO_ENCODING_CHECK = !fails(function () {\n $atob('a');\n});\n\nvar NO_ARG_RECEIVING_CHECK = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && !fails(function () {\n $atob();\n});\n\nvar WRONG_ARITY = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && $atob.length !== 1;\n\n// `atob` method\n// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob\n$({ global: true, enumerable: true, forced: NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY }, {\n atob: function atob(data) {\n validateArgumentsLength(arguments.length, 1);\n if (NO_ARG_RECEIVING_CHECK || WRONG_ARITY) return $atob(data);\n var string = replace(toString(data), whitespaces, '');\n var output = '';\n var position = 0;\n var bc = 0;\n var chr, bs;\n if (string.length % 4 == 0) {\n string = replace(string, finalEq, '');\n }\n if (string.length % 4 == 1 || exec(disallowed, string)) {\n throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError');\n }\n while (chr = charAt(string, position++)) {\n if (hasOwn(ctoi, chr)) {\n bs = bc % 4 ? bs * 64 + ctoi[chr] : ctoi[chr];\n if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6));\n }\n } return output;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar tryNodeRequire = require('../internals/try-node-require');\nvar getBuiltIn = require('../internals/get-built-in');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar errorToString = require('../internals/error-to-string');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar InternalStateModule = require('../internals/internal-state');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar DATA_CLONE_ERR = 'DATA_CLONE_ERR';\nvar Error = getBuiltIn('Error');\n// NodeJS < 17.0 does not expose `DOMException` to global\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () {\n try {\n // NodeJS < 15.0 does not expose `MessageChannel` to global\n var MessageChannel = getBuiltIn('MessageChannel') || tryNodeRequire('worker_threads').MessageChannel;\n // eslint-disable-next-line es-x/no-weak-map, unicorn/require-post-message-target-origin -- safe\n new MessageChannel().port1.postMessage(new WeakMap());\n } catch (error) {\n if (error.name == DATA_CLONE_ERR && error.code == 25) return error.constructor;\n }\n})();\nvar NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype;\nvar ErrorPrototype = Error.prototype;\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION);\nvar HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\n\nvar codeFor = function (name) {\n return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0;\n};\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var code = codeFor(name);\n setInternalState(this, {\n type: DOM_EXCEPTION,\n name: name,\n message: message,\n code: code\n });\n if (!DESCRIPTORS) {\n this.name = name;\n this.message = message;\n this.code = code;\n }\n if (HAS_STACK) {\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n }\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype);\n\nvar createGetterDescriptor = function (get) {\n return { enumerable: true, configurable: true, get: get };\n};\n\nvar getterFor = function (key) {\n return createGetterDescriptor(function () {\n return getInternalState(this)[key];\n });\n};\n\nif (DESCRIPTORS) {\n defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code'));\n defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message'));\n defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name'));\n}\n\ndefineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException));\n\n// FF36- DOMException is a function, but can't be constructed\nvar INCORRECT_CONSTRUCTOR = fails(function () {\n return !(new NativeDOMException() instanceof Error);\n});\n\n// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs\nvar INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () {\n return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1';\n});\n\n// Deno 1.6.3- DOMException.prototype.code just missed\nvar INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () {\n return new NativeDOMException(1, 'DataCloneError').code !== 25;\n});\n\n// Deno 1.6.3- DOMException constants just missed\nvar MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR\n || NativeDOMException[DATA_CLONE_ERR] !== 25\n || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25;\n\nvar FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR;\n\n// `DOMException` constructor\n// https://webidl.spec.whatwg.org/#idl-DOMException\n$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, {\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) {\n defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString);\n}\n\nif (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) {\n defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () {\n return codeFor(anObject(this).name);\n }));\n}\n\nfor (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n var descriptor = createPropertyDescriptor(6, constant.c);\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, descriptor);\n }\n if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) {\n defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor);\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n","var getBuiltIn = require('../internals/get-built-in');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\nvar DOM_EXCEPTION = 'DOMException';\n\nsetToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION);\n","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}"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","ref","on","$event","fileChange","fileMousedown","model","value","callback","$$v","file","expression","showDownloadDialog","_v","staticStyle","showDefaultTools","alertType","showAlert","_s","alert","Object","keys","processes","length","_l","process","key","name","domProps","formatDate","updated_at","state","scopedSlots","_u","fn","_g","_b","showOutput","_e","plugin","index","isModified","pluginTargets","target","preventDefault","downloadTarget","editPlugin","upgradePlugin","deletePrompt","plugins","pluginName","variables","pluginTxt","existingPluginTxt","pluginCallback","showPluginDialog","currentPlugin","pluginDelete","modifiedSubmit","showModifiedPluginDialog","processOutput","showProcessOutput","staticRenderFns","show","radioGroup","tab","submit","apply","arguments","localVariables","$set","localPluginTxt","localExistingPluginTxt","close","props","type","required","data","computed","get","set","watch","immediate","handler","methods","lines","plugin_txt_lines","component","itemIndex","deleteModified","$emit","submitButton","targets","modifiedTargets","created","Api","files","components","DownloadDialog","PluginDialog","ModifiedPluginDialog","SimpleTextDialog","pluginHashTmp","defaultPlugins","shownPlugins","pluginNameSplit","result","mounted","update","updateProcesses","setTimeout","nanoSecs","toDate","upload","existing","formData","promise","then","response","catch","pluginHash","pluginInstall","plugin_hash","uInt8Array","link","confirm","okText","cancelText","deletePlugin","itoc","ctoi","charAt","module","exports","IndexSizeError","s","c","m","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","SyntaxError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","DESCRIPTORS","fails","anObject","create","normalizeStringArgument","nativeErrorToString","Error","prototype","toString","INCORRECT_TO_STRING","object","defineProperty","call","message","O","IS_NODE","Function","error","$","getBuiltIn","uncurryThis","hasOwn","validateArgumentsLength","disallowed","whitespaces","finalEq","$atob","fromCharCode","String","replace","exec","NO_SPACES_IGNORE","NO_ENCODING_CHECK","NO_ARG_RECEIVING_CHECK","WRONG_ARITY","global","enumerable","forced","atob","chr","bs","string","output","position","bc","tryNodeRequire","createPropertyDescriptor","defineBuiltIn","defineBuiltInAccessor","anInstance","errorToString","DOMExceptionConstants","clearErrorStack","InternalStateModule","IS_PURE","DOM_EXCEPTION","DATA_CLONE_ERR","NativeDOMException","MessageChannel","port1","postMessage","WeakMap","code","constructor","NativeDOMExceptionPrototype","ErrorPrototype","setInternalState","getInternalState","getterFor","HAS_STACK","codeFor","$DOMException","DOMExceptionPrototype","argumentsLength","undefined","stack","createGetterDescriptor","configurable","INCORRECT_CONSTRUCTOR","INCORRECT_CODE","MISSED_CONSTANTS","FORCED_CONSTRUCTOR","DOMException","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","descriptor","inheritIfRequired","that","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","getOwnPropertyDescriptor","BUGGY_DESCRIPTOR","writable","setToStringTag","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","n","done","e","f","TypeError","err","normalCompletion","didErr","step","next","_e2"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[449],{1261:function(n,e,t){var o=t(8378),l=t(6625),i=t(5627),a=t(3093),s=function(){var n=(0,i.Z)((0,l.Z)().mark((function n(e,t){var o,i,s,r,c,u,d,m,A,p=arguments;return(0,l.Z)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(o=p.length>2&&void 0!==p[2]?p[2]:{},i=o.data,s=o.params,r=void 0===s?{}:s,c=o.headers,u=o.noAuth,d=void 0!==u&&u,m=o.noScope,A=void 0!==m&&m,d){n.next=11;break}return n.prev=2,n.next=5,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 5:n.next=10;break;case 7:n.prev=7,n.t0=n["catch"](2),OpenC3Auth.login();case 10:c["Authorization"]=localStorage.openc3Token;case 11:return A||r["scope"]||(r["scope"]=localStorage.scope),n.abrupt("return",(0,a.Z)({method:e,url:t,data:i,params:r,headers:c}));case 13:case"end":return n.stop()}}),n,null,[[2,7]])})));return function(e,t){return n.apply(this,arguments)}}(),r={Accept:"application/json"},c=(0,o.Z)((0,o.Z)({},r),{},{"Content-Type":"application/json"});e["Z"]={get:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e.params,o=e.headers,l=void 0===o?r:o,i=e.noScope,a=e.noAuth;return s("get",n,{params:t,headers:l,noScope:i,noAuth:a})},put:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e.data,o=e.params,l=e.headers,i=void 0===l?c:l,a=e.noScope,r=e.noAuth;return s("put",n,{data:t,params:o,headers:i,noScope:a,noAuth:r})},post:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e.data,o=e.params,l=e.headers,i=void 0===l?c:l,a=e.noScope,r=e.noAuth;return s("post",n,{data:t,params:o,headers:i,noScope:a,noAuth:r})},delete:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e.params,o=e.headers,l=void 0===o?r:o,i=e.noScope,a=e.noAuth;return s("delete",n,{params:t,headers:l,noScope:i,noAuth:a})}}},3093:function(n,e,t){t(8188),t(8233);var o=t(9644),l=t.n(o),i=t(4091),a=new i["default"],s=l().create({baseURL:location.origin,timeout:6e4,params:{}});s.interceptors.response.use((function(n){return n}),(function(n){if(n.response){if(401===n.response.status)delete localStorage.openc3Token,OpenC3Auth.login(location.href);else{var e,t,o,l,i,s,r,c,u,d;if(localStorage.axiosIgnoreResponse===n.response.status.toString())return Promise.reject(n);var m="HTTP ".concat(n.response.status," - ");if(null!==(e=n.response)&&void 0!==e&&e.statusText&&(m+="".concat(n.response.statusText," ")),null!==(t=n.response)&&void 0!==t&&null!==(o=t.config)&&void 0!==o&&o.data&&(m+="".concat(n.response.config.data," ")),null!==(l=n.response)&&void 0!==l&&null!==(i=l.data)&&void 0!==i&&i.message)m+="".concat(n.response.data.message);else if(null!==(s=n.response)&&void 0!==s&&null!==(r=s.data)&&void 0!==r&&r.exception)m+="".concat(n.response.data.exception);else if(null!==(c=n.response)&&void 0!==c&&null!==(u=c.data)&&void 0!==u&&null!==(d=u.error)&&void 0!==d&&d.message)n.response.data.error.class&&(m+="".concat(n.response.data.error.class," ")),m+="".concat(n.response.data.error.message);else{var A;m+="".concat(null===(A=n.response)||void 0===A?void 0:A.data)}a.$notify.serious({title:"Network error",body:m})}throw n}throw n})),e["Z"]=s},7354:function(n,e,t){t.d(e,{Z:function(){return m}});var o=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("v-dialog",{attrs:{width:"600"},model:{value:n.show,callback:function(e){n.show=e},expression:"show"}},[t("v-card",[t("v-system-bar",[t("v-spacer"),t("span",[n._v(" Download Gems ")]),t("v-spacer")],1),t("v-card-text",[t("div",{staticClass:"pa-3"},[t("v-row",{staticClass:"my-2"},[n._v(" Select a download option ")]),t("v-row",[t("v-col",[t("div",{staticClass:"px-2"},[t("v-btn",{attrs:{block:"","data-test":"searchGithub",color:"primary",disabled:n.disableSearch},on:{click:n.searchGithub}},[n._v(" Github "),t("v-icon",{attrs:{right:"",dark:""}},[n._v(" mdi-github ")])],1)],1)])],1),t("v-row",{staticClass:"mt-5"},[n._v(" Community Gems ")]),n.listData.length<1?t("div",{staticClass:"mt-4"},[t("v-row",{staticClass:"mx-2"},[t("span",[n._v(" I’m sorry, Dave. No gems available.... ")])])],1):t("div",{staticClass:"mt-4"},n._l(n.listData,(function(e,o){return t("div",{key:o},[t("v-list-item",[t("v-list-item-content",[t("v-list-item-title",[n._v(n._s(e.name))])],1),t("v-list-item-icon",[n.activeDownload?t("div",[t("v-progress-circular",{attrs:{indeterminate:"",color:"primary"}})],1):t("div",[t("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(o){var l=o.on,i=o.attrs;return[t("v-icon",n._g(n._b({attrs:{disabled:n.activeDownload},on:{click:function(t){return n.downloadGem(e)}}},"v-icon",i,!1),l),[n._v(" mdi-cloud-download ")])]}}],null,!0)},[t("span",[n._v("Download Gem")])])],1)])],1),o<n.listData.length-1?t("v-divider",{key:o}):n._e()],1)})),0)],1)])],1)],1)},l=[],i=(t(3450),t(5342),t(8188),t(7950),t(9644)),a=t.n(i);function s(){var n="/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/DownloadDialog.vue",e="30be4b8bea1ccb22d5d6926ff0c799a807eeec0e",t=new Function("return this")(),o="__coverage__",l={path:"/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/DownloadDialog.vue",statementMap:{0:{start:{line:116,column:4},end:{line:123,column:5}},1:{start:{line:128,column:8},end:{line:128,column:25}},2:{start:{line:131,column:8},end:{line:131,column:34}},3:{start:{line:135,column:6},end:{line:135,column:35}},4:{start:{line:135,column:26},end:{line:135,column:35}},5:{start:{line:136,column:6},end:{line:140,column:7}},6:{start:{line:137,column:8},end:{line:137,column:33}},7:{start:{line:139,column:8},end:{line:139,column:31}},8:{start:{line:145,column:23},end:{line:145,column:32}},9:{start:{line:146,column:6},end:{line:153,column:10}},10:{start:{line:147,column:23},end:{line:147,column:44}},11:{start:{line:149,column:10},end:{line:152,column:11}},12:{start:{line:156,column:6},end:{line:156,column:31}},13:{start:{line:157,column:6},end:{line:159,column:8}},14:{start:{line:158,column:8},end:{line:158,column:37}},15:{start:{line:160,column:6},end:{line:162,column:15}},16:{start:{line:161,column:8},end:{line:161,column:34}},17:{start:{line:165,column:6},end:{line:165,column:26}},18:{start:{line:166,column:6},end:{line:167,column:85}},19:{start:{line:168,column:6},end:{line:168,column:24}},20:{start:{line:171,column:19},end:{line:171,column:46}},21:{start:{line:172,column:6},end:{line:172,column:25}},22:{start:{line:173,column:6},end:{line:173,column:45}},23:{start:{line:174,column:6},end:{line:174,column:18}},24:{start:{line:175,column:6},end:{line:175,column:19}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:115,column:2},end:{line:115,column:3}},loc:{start:{line:115,column:9},end:{line:124,column:3}},line:115},1:{name:"(anonymous_1)",decl:{start:{line:127,column:6},end:{line:127,column:7}},loc:{start:{line:127,column:12},end:{line:129,column:7}},line:127},2:{name:"(anonymous_2)",decl:{start:{line:130,column:6},end:{line:130,column:7}},loc:{start:{line:130,column:17},end:{line:132,column:7}},line:130},3:{name:"(anonymous_3)",decl:{start:{line:134,column:14},end:{line:134,column:15}},loc:{start:{line:134,column:26},end:{line:141,column:5}},line:134},4:{name:"(anonymous_4)",decl:{start:{line:144,column:17},end:{line:144,column:18}},loc:{start:{line:144,column:29},end:{line:154,column:5}},line:144},5:{name:"(anonymous_5)",decl:{start:{line:147,column:16},end:{line:147,column:17}},loc:{start:{line:147,column:23},end:{line:147,column:44}},line:147},6:{name:"(anonymous_6)",decl:{start:{line:148,column:13},end:{line:148,column:14}},loc:{start:{line:148,column:20},end:{line:153,column:9}},line:148},7:{name:"(anonymous_7)",decl:{start:{line:155,column:17},end:{line:155,column:18}},loc:{start:{line:155,column:29},end:{line:163,column:5}},line:155},8:{name:"(anonymous_8)",decl:{start:{line:157,column:31},end:{line:157,column:32}},loc:{start:{line:157,column:45},end:{line:159,column:7}},line:157},9:{name:"(anonymous_9)",decl:{start:{line:160,column:17},end:{line:160,column:18}},loc:{start:{line:160,column:23},end:{line:162,column:7}},line:160},10:{name:"(anonymous_10)",decl:{start:{line:164,column:18},end:{line:164,column:19}},loc:{start:{line:164,column:30},end:{line:169,column:5}},line:164},11:{name:"(anonymous_11)",decl:{start:{line:170,column:17},end:{line:170,column:18}},loc:{start:{line:170,column:32},end:{line:176,column:5}},line:170}},branchMap:{0:{loc:{start:{line:135,column:6},end:{line:135,column:35}},type:"if",locations:[{start:{line:135,column:6},end:{line:135,column:35}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:135},1:{loc:{start:{line:136,column:6},end:{line:140,column:7}},type:"if",locations:[{start:{line:136,column:6},end:{line:140,column:7}},{start:{line:138,column:13},end:{line:140,column:7}}],line:136}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,sources:["DownloadDialog.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2GA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DownloadDialog.vue",sourceRoot:"src/tools/OpenC3Admin",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\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 \x3c!---\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 ---\x3e\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>{{ data.name }}</v-list-item-title>\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/OpenC3/openc3-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/OpenC3/openc3-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']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"30be4b8bea1ccb22d5d6926ff0c799a807eeec0e"},i=t[o]||(t[o]={});i[n]&&i[n].hash===e||(i[n]=l);var a=i[n];return s=function(){return a},a}s();var r={props:{value:Boolean},data:function(){return s().f[0]++,s().s[0]++,{url:"",type:null,response:null,activeDownload:!1,disableSearch:!1,expanded:[]}},computed:{show:{get:function(){return s().f[1]++,s().s[1]++,this.value},set:function(n){s().f[2]++,s().s[2]++,this.$emit("input",n)}},listData:function(){return s().f[3]++,s().s[3]++,this.response?(s().b[0][1]++,s().s[5]++,"github"===this.type?(s().b[1][0]++,s().s[6]++,this.parseGithub()):(s().b[1][1]++,s().s[7]++,this.parseRuby())):(s().b[0][0]++,s().s[4]++,[])}},methods:{parseGithub:function(){s().f[4]++;var n=(s().s[8]++,/\w+.gem/);return s().s[9]++,this.response.tree.filter((function(e){return s().f[5]++,s().s[10]++,n.exec(e.path)})).map((function(n){return s().f[6]++,s().s[11]++,{name:n.path,url:"https://raw.github.com/OpenC3/openc3-tools/main/".concat(n.path)}}))},getResponse:function(){var n=this;s().f[7]++,s().s[12]++,this.disableSearch=!0,s().s[13]++,a().get(this.url).then((function(e){s().f[8]++,s().s[14]++,n.response=e.data})),s().s[15]++,setTimeout((function(){s().f[9]++,s().s[16]++,n.disableSearch=!1}),1e4)},searchGithub:function(){s().f[10]++,s().s[17]++,this.type="github",s().s[18]++,this.url="https://api.github.com/repos/OpenC3/openc3-tools/git/trees/main?recursive=1",s().s[19]++,this.getResponse()},downloadGem:function(n){s().f[11]++;var e=(s().s[20]++,document.createElement("a"));s().s[21]++,e.href=n.url,s().s[22]++,e.setAttribute("download",n.name),s().s[23]++,e.click(),s().s[24]++,e.remove()}}},c=r,u=t(3287),d=(0,u.Z)(c,o,l,!1,null,null,null),m=d.exports},669:function(n,e,t){t.d(e,{Z:function(){return c}});var o=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("v-dialog",{attrs:{width:n.width},model:{value:n.show,callback:function(e){n.show=e},expression:"show"}},[t("v-card",[t("v-system-bar",[t("v-spacer"),t("span",[n._v(" "+n._s(n.title)+" ")]),t("v-spacer"),t("div",{staticClass:"mx-2"},[t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var o=e.on,l=e.attrs;return[t("div",n._g(n._b({},"div",l,!1),o),[t("v-icon",{attrs:{"data-test":"downloadIcon"},on:{click:n.download}},[n._v(" mdi-download ")])],1)]}}])},[t("span",[n._v(" Download ")])])],1)],1),t("v-card-text",[t("div",{staticClass:"pa-3"},[t("span",{staticStyle:{"white-space":"pre-wrap"}},[n._v(n._s(n.text))])])]),t("v-card-actions",[t("v-spacer"),t("v-btn",{staticClass:"mx-2",attrs:{color:"primary"},on:{click:function(e){n.show=!n.show}}},[n._v(" Ok ")])],1)],1)],1)},l=[],i=(t(8188),t(8673),t(6886),t(4121),t(523),{props:{value:Boolean,text:String,title:String,width:800},computed:{show:{get:function(){return this.value},set:function(n){this.$emit("input",n)}}},methods:{download:function(){var n=new Blob([this.text],{type:"text/plain"}),e=document.createElement("a");e.href=URL.createObjectURL(n),e.setAttribute("download","".concat(this.title,".txt")),e.click()}}}),a=i,s=t(3287),r=(0,s.Z)(a,o,l,!1,null,null,null),c=r.exports}}]);
2
- //# sourceMappingURL=449.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/449.js","mappings":"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","sources":["webpack://@openc3/tool-admin/../openc3-tool-common/src/services/api.js","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/axios.js","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/DownloadDialog.vue?3b83","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/DownloadDialog.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/DownloadDialog.vue?e9d2","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/DownloadDialog.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/SimpleTextDialog.vue?dba3","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/SimpleTextDialog.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/SimpleTextDialog.vue?7e9d","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/SimpleTextDialog.vue?d470"],"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# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from './axios.js'\n\nconst request = async function (\n method,\n url,\n { data, params = {}, headers, noAuth = false, noScope = false } = {}\n) {\n if (!noAuth) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n headers['Authorization'] = localStorage.openc3Token\n }\n if (!noScope && !params['scope']) {\n params['scope'] = localStorage.scope\n }\n return axios({\n method,\n url,\n data,\n params,\n headers,\n })\n}\n\nconst acceptOnlyDefaultHeaders = {\n Accept: 'application/json',\n}\n\nconst fullDefaultHeaders = {\n ...acceptOnlyDefaultHeaders,\n 'Content-Type': 'application/json',\n}\n\nexport default {\n get: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('get', path, { params, headers, noScope, noAuth })\n },\n\n put: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('put', path, { data, params, headers, noScope, noAuth })\n },\n\n post: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('post', path, { data, params, headers, noScope, noAuth })\n },\n\n delete: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('delete', path, { params, headers, noScope, noAuth })\n },\n}\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n delete localStorage.openc3Token\n OpenC3Auth.login(location.href)\n } else {\n // Individual tools can set axiosIgnoreResponse to an error code\n // they potentially expect, e.g. '404', in which case we ignore it\n // Since localStorage only supports strings call toString on the status\n if (\n localStorage.axiosIgnoreResponse === error.response.status.toString()\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\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('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',[_vm._v(_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# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-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>{{ data.name }}</v-list-item-title>\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/OpenC3/openc3-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/OpenC3/openc3-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.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.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=bfae0cae&\"\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# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <v-dialog v-model=\"show\" :width=\"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.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.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=ae5a22c8&\"\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":["request","method","url","data","params","headers","noAuth","noScope","OpenC3Auth","updateToken","defaultMinValidity","login","localStorage","openc3Token","scope","axios","acceptOnlyDefaultHeaders","Accept","fullDefaultHeaders","get","path","put","post","delete","vueInstance","Vue","axiosInstance","baseURL","location","origin","timeout","interceptors","response","use","error","status","href","axiosIgnoreResponse","toString","Promise","reject","body","statusText","config","message","exception","class","$notify","serious","title","render","_vm","this","_h","$createElement","_c","_self","attrs","model","value","callback","$$v","show","expression","_v","staticClass","disableSearch","on","searchGithub","listData","length","_l","index","key","_s","name","scopedSlots","_u","fn","ref","_g","_b","activeDownload","$event","downloadGem","_e","staticRenderFns","props","type","expanded","computed","set","methods","parseGithub","filter","map","getResponse","setTimeout","link","component","width","download","staticStyle","text"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[629],{4629:function(n,t,e){"use strict";e.r(t),e.d(t,{default:function(){return m}});var o=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[e("v-list",{attrs:{"data-test":"targetList"}},n._l(n.targets,(function(t,o){return e("div",{key:t},[e("v-list-item",[e("v-list-item-content",[e("v-list-item-title",[n._v(n._s(t.name))]),e("v-list-item-subtitle",[n._v("Plugin: "+n._s(t.plugin))])],1),e("v-list-item-icon",[t.modified?e("div",{staticClass:"mx-3"},[e("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(o){var i=o.on,r=o.attrs;return[e("v-icon",n._g(n._b({on:{click:function(e){return n.downloadTarget(t.name)}}},"v-icon",r,!1),i),[n._v(" mdi-download ")])]}}],null,!0)},[e("span",[n._v("Download Target Modified Files")])])],1):n._e(),e("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(o){var i=o.on,r=o.attrs;return[e("v-icon",n._g(n._b({on:{click:function(e){return n.showTarget(t)}}},"v-icon",r,!1),i),[n._v(" mdi-eye ")])]}}],null,!0)},[e("span",[n._v("Show Target Details")])])],1)],1),o<n.targets.length-1?e("v-divider",{key:o}):n._e()],1)})),0),n.showDialog?e("edit-dialog",{attrs:{content:n.jsonContent,title:"Target: "+n.dialogTitle,readonly:""},on:{submit:n.dialogCallback},model:{value:n.showDialog,callback:function(t){n.showDialog=t},expression:"showDialog"}}):n._e()],1)},i=[],r=(e(6710),e(4707),e(1497),e(5640),e(1871),e(8188),e(3675),e(4898),e(5825),e(7170),e(8857),e(8329),e(6279),e(427),e(1159),e(2516),e(4349),e(5273),e(6729),e(1801),e(574),e(5787),e(9271),e(3160),e(5688),e(3157),e(1700),e(315),e(556),e(9224),e(6297),e(8882),e(8673),e(6886),e(4121),e(523),e(1261)),a=e(8221);function l(){var n="/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/TargetsTab.vue",t="edb41d0b671981725ead5e807a3fff9f43c748c6",e=new Function("return this")(),o="__coverage__",i={path:"/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/TargetsTab.vue",statementMap:{0:{start:{line:76,column:4},end:{line:81,column:5}},1:{start:{line:84,column:4},end:{line:84,column:17}},2:{start:{line:88,column:6},end:{line:90,column:8}},3:{start:{line:89,column:8},end:{line:89,column:36}},4:{start:{line:94,column:6},end:{line:98,column:8}},5:{start:{line:95,column:8},end:{line:95,column:68}},6:{start:{line:96,column:8},end:{line:96,column:31}},7:{start:{line:97,column:8},end:{line:97,column:30}},8:{start:{line:101,column:6},end:{line:101,column:29}},9:{start:{line:104,column:6},end:{line:118,column:8}},10:{start:{line:106,column:28},end:{line:106,column:63}},11:{start:{line:108,column:27},end:{line:108,column:61}},12:{start:{line:110,column:8},end:{line:112,column:9}},13:{start:{line:110,column:21},end:{line:110,column:22}},14:{start:{line:111,column:10},end:{line:111,column:51}},15:{start:{line:113,column:21},end:{line:113,column:72}},16:{start:{line:114,column:21},end:{line:114,column:48}},17:{start:{line:115,column:8},end:{line:115,column:45}},18:{start:{line:116,column:8},end:{line:116,column:61}},19:{start:{line:117,column:8},end:{line:117,column:20}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:75,column:2},end:{line:75,column:3}},loc:{start:{line:75,column:9},end:{line:82,column:3}},line:75},1:{name:"(anonymous_1)",decl:{start:{line:83,column:2},end:{line:83,column:3}},loc:{start:{line:83,column:12},end:{line:85,column:3}},line:83},2:{name:"(anonymous_2)",decl:{start:{line:87,column:4},end:{line:87,column:5}},loc:{start:{line:87,column:13},end:{line:91,column:5}},line:87},3:{name:"(anonymous_3)",decl:{start:{line:88,column:51},end:{line:88,column:52}},loc:{start:{line:88,column:65},end:{line:90,column:7}},line:88},4:{name:"(anonymous_4)",decl:{start:{line:92,column:4},end:{line:92,column:5}},loc:{start:{line:92,column:10},end:{line:92,column:12}},line:92},5:{name:"(anonymous_5)",decl:{start:{line:93,column:4},end:{line:93,column:5}},loc:{start:{line:93,column:21},end:{line:99,column:5}},line:93},6:{name:"(anonymous_6)",decl:{start:{line:94,column:50},end:{line:94,column:51}},loc:{start:{line:94,column:64},end:{line:98,column:7}},line:94},7:{name:"(anonymous_7)",decl:{start:{line:100,column:4},end:{line:100,column:5}},loc:{start:{line:100,column:28},end:{line:102,column:5}},line:100},8:{name:"(anonymous_8)",decl:{start:{line:103,column:20},end:{line:103,column:21}},loc:{start:{line:103,column:36},end:{line:119,column:5}},line:103},9:{name:"(anonymous_9)",decl:{start:{line:104,column:60},end:{line:104,column:61}},loc:{start:{line:104,column:74},end:{line:118,column:7}},line:104}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{},inputSourceMap:{version:3,sources:["TargetsTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"TargetsTab.vue",sourceRoot:"src/tools/OpenC3Admin/tabs",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-list data-test="targetList">\n <div v-for="(target, index) in targets" :key="target">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle\n >Plugin: {{ target.plugin }}</v-list-item-subtitle\n >\n </v-list-item-content>\n <v-list-item-icon>\n <div class="mx-3" v-if="target.modified">\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-icon\n @click="downloadTarget(target.name)"\n v-bind="attrs"\n v-on="on"\n >\n mdi-download\n </v-icon>\n </template>\n <span>Download Target Modified Files</span>\n </v-tooltip>\n </div>\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-icon @click="showTarget(target)" v-bind="attrs" v-on="on">\n mdi-eye\n </v-icon>\n </template>\n <span>Show Target Details</span>\n </v-tooltip>\n </v-list-item-icon>\n </v-list-item>\n <v-divider v-if="index < targets.length - 1" :key="index" />\n </div>\n </v-list>\n <edit-dialog\n v-model="showDialog"\n v-if="showDialog"\n :content="jsonContent"\n :title="`Target: ${dialogTitle}`"\n readonly\n @submit="dialogCallback"\n />\n </div>\n</template>\n\n<script>\nimport Api from \'@openc3/tool-common/src/services/api\'\nimport EditDialog from \'@/tools/OpenC3Admin/EditDialog\'\nexport default {\n components: { EditDialog },\n data() {\n return {\n targets: [],\n jsonContent: \'\',\n dialogTitle: \'\',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get(\'/openc3-api/targets_modified\').then((response) => {\n this.targets = response.data\n })\n },\n add() {},\n showTarget(name) {\n Api.get(`/openc3-api/targets/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, \'\\t\')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: \'application/zip\' })\n const link = document.createElement(\'a\')\n link.href = URL.createObjectURL(blob)\n link.setAttribute(\'download\', response.data.filename)\n link.click()\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"edb41d0b671981725ead5e807a3fff9f43c748c6"},r=e[o]||(e[o]={});r[n]&&r[n].hash===t||(r[n]=i);var a=r[n];return l=function(){return a},a}l();var c={components:{EditDialog:a.Z},data:function(){return l().f[0]++,l().s[0]++,{targets:[],jsonContent:"",dialogTitle:"",showDialog:!1}},mounted:function(){l().f[1]++,l().s[1]++,this.update()},methods:{update:function(){var n=this;l().f[2]++,l().s[2]++,r.Z.get("/openc3-api/targets_modified").then((function(t){l().f[3]++,l().s[3]++,n.targets=t.data}))},add:function(){l().f[4]++},showTarget:function(n){var t=this;l().f[5]++,l().s[4]++,r.Z.get("/openc3-api/targets/".concat(n)).then((function(e){l().f[6]++,l().s[5]++,t.jsonContent=JSON.stringify(e.data,null,"\t"),l().s[6]++,t.dialogTitle=n,l().s[7]++,t.showDialog=!0}))},dialogCallback:function(n){l().f[7]++,l().s[8]++,this.showDialog=!1},downloadTarget:function(n){l().f[8]++,l().s[9]++,r.Z.post("/openc3-api/targets/".concat(n,"/download")).then((function(n){l().f[9]++;var t=(l().s[10]++,window.atob(n.data.contents)),e=(l().s[11]++,new Uint8Array(t.length));l().s[12]++;for(var o=(l().s[13]++,0);o<t.length;++o)l().s[14]++,e[o]=t.charCodeAt(o);var i=(l().s[15]++,new Blob([e],{type:"application/zip"})),r=(l().s[16]++,document.createElement("a"));l().s[17]++,r.href=URL.createObjectURL(i),l().s[18]++,r.setAttribute("download",n.data.filename),l().s[19]++,r.click()}))}}},s=c,u=e(3287),d=(0,u.Z)(s,o,i,!1,null,null,null),m=d.exports},7291:function(n){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e={},o=0;o<66;o++)e[t.charAt(o)]=o;n.exports={itoc:t,ctoi:e}},7445:function(n){n.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},8864:function(n,t,e){"use strict";var o=e(7400),i=e(4229),r=e(1176),a=e(2391),l=e(635),c=Error.prototype.toString,s=i((function(){if(o){var n=a(Object.defineProperty({},"name",{get:function(){return this===n}}));if("true"!==c.call(n))return!0}return"2: 1"!==c.call({message:1,name:2})||"Error"!==c.call({})}));n.exports=s?function(){var n=r(this),t=l(n.name,"Error"),e=l(n.message);return t?e?t+": "+e:t:e}:c},4165:function(n,t,e){var o=e(8801);n.exports=function(n){try{if(o)return Function('return require("'+n+'")')()}catch(t){}}},4707:function(n,t,e){var o=e(3103),i=e(1333),r=e(5968),a=e(4229),l=e(3326),c=e(8270),s=e(7579),u=e(7291).ctoi,d=/[^\d+/a-z]/i,m=/[\t\n\f\r ]+/g,A=/[=]+$/,p=i("atob"),f=String.fromCharCode,g=r("".charAt),v=r("".replace),h=r(d.exec),E=a((function(){return""!==p(" ")})),C=!a((function(){p("a")})),_=!E&&!C&&!a((function(){p()})),R=!E&&!C&&1!==p.length;o({global:!0,enumerable:!0,forced:E||C||_||R},{atob:function(n){if(s(arguments.length,1),_||R)return p(n);var t,e,o=v(l(n),m,""),r="",a=0,E=0;if(o.length%4==0&&(o=v(o,A,"")),o.length%4==1||h(d,o))throw new(i("DOMException"))("The string is not correctly encoded","InvalidCharacterError");while(t=g(o,a++))c(u,t)&&(e=E%4?64*e+u[t]:u[t],E++%4&&(r+=f(255&e>>(-2*E&6))));return r}})},1497:function(n,t,e){"use strict";var o=e(3103),i=e(4165),r=e(1333),a=e(4229),l=e(2391),c=e(5358),s=e(1787).f,u=e(4768),d=e(6616),m=e(8270),A=e(7728),p=e(1176),f=e(8864),g=e(635),v=e(7445),h=e(1590),E=e(6407),C=e(7400),_=e(4231),R="DOMException",T="DATA_CLONE_ERR",b=r("Error"),w=r(R)||function(){try{var n=r("MessageChannel")||i("worker_threads").MessageChannel;(new n).port1.postMessage(new WeakMap)}catch(t){if(t.name==T&&25==t.code)return t.constructor}}(),D=w&&w.prototype,y=b.prototype,I=E.set,O=E.getterFor(R),N="stack"in b(R),S=function(n){return m(v,n)&&v[n].m?v[n].c:0},k=function(){A(this,M);var n=arguments.length,t=g(n<1?void 0:arguments[0]),e=g(n<2?void 0:arguments[1],"Error"),o=S(e);if(I(this,{type:R,name:e,message:t,code:o}),C||(this.name=e,this.message=t,this.code=o),N){var i=b(t);i.name=R,s(this,"stack",c(1,h(i.stack,1)))}},M=k.prototype=l(y),x=function(n){return{enumerable:!0,configurable:!0,get:n}},L=function(n){return x((function(){return O(this)[n]}))};C&&(d(M,"code",L("code")),d(M,"message",L("message")),d(M,"name",L("name"))),s(M,"constructor",c(1,k));var U=a((function(){return!(new w instanceof b)})),P=U||a((function(){return y.toString!==f||"2: 1"!==String(new w(1,2))})),F=U||a((function(){return 25!==new w(1,"DataCloneError").code})),j=U||25!==w[T]||25!==D[T],Y=_?P||F||j:U;o({global:!0,constructor:!0,forced:Y},{DOMException:Y?k:w});var H=r(R),W=H.prototype;for(var B in P&&(_||w===H)&&u(W,"toString",f),F&&C&&w===H&&d(W,"code",x((function(){return S(p(this).name)}))),v)if(m(v,B)){var V=v[B],Z=V.s,z=c(6,V.c);m(H,Z)||s(H,Z,z),m(W,Z)||s(W,Z,z)}},5640:function(n,t,e){"use strict";var o=e(3103),i=e(9859),r=e(1333),a=e(5358),l=e(1787).f,c=e(8270),s=e(7728),u=e(835),d=e(635),m=e(7445),A=e(1590),p=e(7400),f=e(4231),g="DOMException",v=r("Error"),h=r(g),E=function(){s(this,C);var n=arguments.length,t=d(n<1?void 0:arguments[0]),e=d(n<2?void 0:arguments[1],"Error"),o=new h(t,e),i=v(t);return i.name=g,l(o,"stack",a(1,A(i.stack,1))),u(o,this,E),o},C=E.prototype=h.prototype,_="stack"in v(g),R="stack"in new h(1,2),T=h&&p&&Object.getOwnPropertyDescriptor(i,g),b=!!T&&!(T.writable&&T.configurable),w=_&&!b&&!R;o({global:!0,constructor:!0,forced:f||w},{DOMException:w?E:h});var D=r(g),y=D.prototype;if(y.constructor!==D)for(var I in f||l(y,"constructor",a(1,D)),m)if(c(m,I)){var O=m[I],N=O.s;c(D,N)||l(D,N,a(6,O.c))}},1871:function(n,t,e){var o=e(1333),i=e(4555),r="DOMException";i(o(r),r)}}]);
2
- //# sourceMappingURL=629.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/629.js","mappings":"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","sources":["webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/TargetsTab.vue?14c5","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/tabs/TargetsTab.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/TargetsTab.vue?4df9","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/TargetsTab.vue","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/base64-map.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/dom-exception-constants.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/error-to-string.js","webpack://@openc3/tool-admin/../../node_modules/core-js/internals/try-node-require.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/web.atob.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/web.dom-exception.constructor.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/web.dom-exception.stack.js","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/web.dom-exception.to-string-tag.js"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-list',{attrs:{\"data-test\":\"targetList\"}},_vm._l((_vm.targets),function(target,index){return _c('div',{key:target},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(target.name))]),_c('v-list-item-subtitle',[_vm._v(\"Plugin: \"+_vm._s(target.plugin))])],1),_c('v-list-item-icon',[(target.modified)?_c('div',{staticClass:\"mx-3\"},[_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({on:{\"click\":function($event){return _vm.downloadTarget(target.name)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-download \")])]}}],null,true)},[_c('span',[_vm._v(\"Download Target Modified Files\")])])],1):_vm._e(),_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({on:{\"click\":function($event){return _vm.showTarget(target)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-eye \")])]}}],null,true)},[_c('span',[_vm._v(\"Show Target Details\")])])],1)],1),(index < _vm.targets.length - 1)?_c('v-divider',{key:index}):_vm._e()],1)}),0),(_vm.showDialog)?_c('edit-dialog',{attrs:{\"content\":_vm.jsonContent,\"title\":(\"Target: \" + _vm.dialogTitle),\"readonly\":\"\"},on:{\"submit\":_vm.dialogCallback},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}}):_vm._e()],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# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <div>\n <v-list data-test=\"targetList\">\n <div v-for=\"(target, index) in targets\" :key=\"target\">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle\n >Plugin: {{ target.plugin }}</v-list-item-subtitle\n >\n </v-list-item-content>\n <v-list-item-icon>\n <div class=\"mx-3\" v-if=\"target.modified\">\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"downloadTarget(target.name)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n mdi-download\n </v-icon>\n </template>\n <span>Download Target Modified Files</span>\n </v-tooltip>\n </div>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon @click=\"showTarget(target)\" v-bind=\"attrs\" v-on=\"on\">\n mdi-eye\n </v-icon>\n </template>\n <span>Show Target Details</span>\n </v-tooltip>\n </v-list-item-icon>\n </v-list-item>\n <v-divider v-if=\"index < targets.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n <edit-dialog\n v-model=\"showDialog\"\n v-if=\"showDialog\"\n :content=\"jsonContent\"\n :title=\"`Target: ${dialogTitle}`\"\n readonly\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport Api from '@openc3/tool-common/src/services/api'\nimport EditDialog from '@/tools/OpenC3Admin/EditDialog'\nexport default {\n components: { EditDialog },\n data() {\n return {\n targets: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/targets_modified').then((response) => {\n this.targets = response.data\n })\n },\n add() {},\n showTarget(name) {\n Api.get(`/openc3-api/targets/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\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.use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetsTab.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.use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TargetsTab.vue?vue&type=template&id=65365800&\"\nimport script from \"./TargetsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./TargetsTab.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 itoc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nvar ctoi = {};\n\nfor (var index = 0; index < 66; index++) ctoi[itoc.charAt(index)] = index;\n\nmodule.exports = {\n itoc: itoc,\n ctoi: ctoi\n};\n","module.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar create = require('../internals/object-create');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\n\nvar nativeErrorToString = Error.prototype.toString;\n\nvar INCORRECT_TO_STRING = fails(function () {\n if (DESCRIPTORS) {\n // Chrome 32- incorrectly call accessor\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n var object = create(Object.defineProperty({}, 'name', { get: function () {\n return this === object;\n } }));\n if (nativeErrorToString.call(object) !== 'true') return true;\n }\n // FF10- does not properly handle non-strings\n return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1'\n // IE8 does not properly handle defaults\n || nativeErrorToString.call({}) !== 'Error';\n});\n\nmodule.exports = INCORRECT_TO_STRING ? function toString() {\n var O = anObject(this);\n var name = normalizeStringArgument(O.name, 'Error');\n var message = normalizeStringArgument(O.message);\n return !name ? message : !message ? name : name + ': ' + message;\n} : nativeErrorToString;\n","var IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = function (name) {\n try {\n // eslint-disable-next-line no-new-func -- safe\n if (IS_NODE) return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n};\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar toString = require('../internals/to-string');\nvar hasOwn = require('../internals/has-own-property');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar ctoi = require('../internals/base64-map').ctoi;\n\nvar disallowed = /[^\\d+/a-z]/i;\nvar whitespaces = /[\\t\\n\\f\\r ]+/g;\nvar finalEq = /[=]+$/;\n\nvar $atob = getBuiltIn('atob');\nvar fromCharCode = String.fromCharCode;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar exec = uncurryThis(disallowed.exec);\n\nvar NO_SPACES_IGNORE = fails(function () {\n return $atob(' ') !== '';\n});\n\nvar NO_ENCODING_CHECK = !fails(function () {\n $atob('a');\n});\n\nvar NO_ARG_RECEIVING_CHECK = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && !fails(function () {\n $atob();\n});\n\nvar WRONG_ARITY = !NO_SPACES_IGNORE && !NO_ENCODING_CHECK && $atob.length !== 1;\n\n// `atob` method\n// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob\n$({ global: true, enumerable: true, forced: NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY }, {\n atob: function atob(data) {\n validateArgumentsLength(arguments.length, 1);\n if (NO_ARG_RECEIVING_CHECK || WRONG_ARITY) return $atob(data);\n var string = replace(toString(data), whitespaces, '');\n var output = '';\n var position = 0;\n var bc = 0;\n var chr, bs;\n if (string.length % 4 == 0) {\n string = replace(string, finalEq, '');\n }\n if (string.length % 4 == 1 || exec(disallowed, string)) {\n throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError');\n }\n while (chr = charAt(string, position++)) {\n if (hasOwn(ctoi, chr)) {\n bs = bc % 4 ? bs * 64 + ctoi[chr] : ctoi[chr];\n if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6));\n }\n } return output;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar tryNodeRequire = require('../internals/try-node-require');\nvar getBuiltIn = require('../internals/get-built-in');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar errorToString = require('../internals/error-to-string');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar InternalStateModule = require('../internals/internal-state');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar DATA_CLONE_ERR = 'DATA_CLONE_ERR';\nvar Error = getBuiltIn('Error');\n// NodeJS < 17.0 does not expose `DOMException` to global\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () {\n try {\n // NodeJS < 15.0 does not expose `MessageChannel` to global\n var MessageChannel = getBuiltIn('MessageChannel') || tryNodeRequire('worker_threads').MessageChannel;\n // eslint-disable-next-line es-x/no-weak-map, unicorn/require-post-message-target-origin -- safe\n new MessageChannel().port1.postMessage(new WeakMap());\n } catch (error) {\n if (error.name == DATA_CLONE_ERR && error.code == 25) return error.constructor;\n }\n})();\nvar NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype;\nvar ErrorPrototype = Error.prototype;\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION);\nvar HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\n\nvar codeFor = function (name) {\n return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0;\n};\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var code = codeFor(name);\n setInternalState(this, {\n type: DOM_EXCEPTION,\n name: name,\n message: message,\n code: code\n });\n if (!DESCRIPTORS) {\n this.name = name;\n this.message = message;\n this.code = code;\n }\n if (HAS_STACK) {\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n }\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype);\n\nvar createGetterDescriptor = function (get) {\n return { enumerable: true, configurable: true, get: get };\n};\n\nvar getterFor = function (key) {\n return createGetterDescriptor(function () {\n return getInternalState(this)[key];\n });\n};\n\nif (DESCRIPTORS) {\n defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code'));\n defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message'));\n defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name'));\n}\n\ndefineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException));\n\n// FF36- DOMException is a function, but can't be constructed\nvar INCORRECT_CONSTRUCTOR = fails(function () {\n return !(new NativeDOMException() instanceof Error);\n});\n\n// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs\nvar INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () {\n return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1';\n});\n\n// Deno 1.6.3- DOMException.prototype.code just missed\nvar INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () {\n return new NativeDOMException(1, 'DataCloneError').code !== 25;\n});\n\n// Deno 1.6.3- DOMException constants just missed\nvar MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR\n || NativeDOMException[DATA_CLONE_ERR] !== 25\n || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25;\n\nvar FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR;\n\n// `DOMException` constructor\n// https://webidl.spec.whatwg.org/#idl-DOMException\n$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, {\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) {\n defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString);\n}\n\nif (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) {\n defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () {\n return codeFor(anObject(this).name);\n }));\n}\n\nfor (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n var descriptor = createPropertyDescriptor(6, constant.c);\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, descriptor);\n }\n if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) {\n defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor);\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n","var getBuiltIn = require('../internals/get-built-in');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\nvar DOM_EXCEPTION = 'DOMException';\n\nsetToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION);\n"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","_l","target","index","key","_v","_s","name","plugin","staticClass","scopedSlots","_u","fn","ref","on","_g","_b","$event","downloadTarget","_e","showTarget","targets","length","jsonContent","dialogTitle","dialogCallback","model","value","callback","$$v","showDialog","expression","staticRenderFns","components","EditDialog","data","mounted","methods","update","Api","add","content","uInt8Array","type","link","component","itoc","ctoi","charAt","module","exports","IndexSizeError","s","c","m","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","SyntaxError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","DESCRIPTORS","fails","anObject","create","normalizeStringArgument","nativeErrorToString","Error","prototype","toString","INCORRECT_TO_STRING","object","Object","defineProperty","get","call","message","O","IS_NODE","Function","error","$","getBuiltIn","uncurryThis","hasOwn","validateArgumentsLength","disallowed","whitespaces","finalEq","$atob","fromCharCode","String","replace","exec","NO_SPACES_IGNORE","NO_ENCODING_CHECK","NO_ARG_RECEIVING_CHECK","WRONG_ARITY","global","enumerable","forced","atob","arguments","chr","bs","string","output","position","bc","tryNodeRequire","createPropertyDescriptor","defineBuiltIn","defineBuiltInAccessor","anInstance","errorToString","DOMExceptionConstants","clearErrorStack","InternalStateModule","IS_PURE","DOM_EXCEPTION","DATA_CLONE_ERR","NativeDOMException","MessageChannel","port1","postMessage","WeakMap","code","constructor","NativeDOMExceptionPrototype","ErrorPrototype","setInternalState","set","getInternalState","getterFor","HAS_STACK","codeFor","$DOMException","DOMExceptionPrototype","argumentsLength","undefined","stack","createGetterDescriptor","configurable","INCORRECT_CONSTRUCTOR","INCORRECT_CODE","MISSED_CONSTANTS","FORCED_CONSTRUCTOR","DOMException","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","descriptor","inheritIfRequired","that","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","getOwnPropertyDescriptor","BUGGY_DESCRIPTOR","writable","setToStringTag"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[699],{7699:function(n,e,t){t.r(e),t.d(e,{default:function(){return m}});var o=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("v-list",{attrs:{"data-test":"routerList"}},n._l(n.routers,(function(e,o){return t("div",{key:o},[t("v-list-item",[t("v-list-item-content",[t("v-list-item-title",[n._v(n._s(e))])],1),t("v-list-item-icon",[t("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(o){var i=o.on,l=o.attrs;return[t("v-icon",n._g(n._b({on:{click:function(t){return n.showRouter(e)}}},"v-icon",l,!1),i),[n._v(" mdi-eye ")])]}}],null,!0)},[t("span",[n._v("Show Router Details")])])],1)],1),o<n.routers.length-1?t("v-divider",{key:o}):n._e()],1)})),0),n.showDialog?t("edit-dialog",{attrs:{content:n.jsonContent,title:"Router: "+n.dialogTitle,readonly:""},on:{submit:n.dialogCallback},model:{value:n.showDialog,callback:function(e){n.showDialog=e},expression:"showDialog"}}):n._e()],1)},i=[],l=(t(6710),t(1261)),s=t(8221);function a(){var n="/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/RoutersTab.vue",e="edc5f938e873c8e161949c7b6979e35d77b74a5e",t=new Function("return this")(),o="__coverage__",i={path:"/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/RoutersTab.vue",statementMap:{0:{start:{line:59,column:4},end:{line:64,column:5}},1:{start:{line:67,column:4},end:{line:67,column:17}},2:{start:{line:71,column:6},end:{line:73,column:8}},3:{start:{line:72,column:8},end:{line:72,column:36}},4:{start:{line:77,column:6},end:{line:81,column:8}},5:{start:{line:78,column:8},end:{line:78,column:68}},6:{start:{line:79,column:8},end:{line:79,column:31}},7:{start:{line:80,column:8},end:{line:80,column:30}},8:{start:{line:84,column:6},end:{line:84,column:29}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:58,column:2},end:{line:58,column:3}},loc:{start:{line:58,column:9},end:{line:65,column:3}},line:58},1:{name:"(anonymous_1)",decl:{start:{line:66,column:2},end:{line:66,column:3}},loc:{start:{line:66,column:12},end:{line:68,column:3}},line:66},2:{name:"(anonymous_2)",decl:{start:{line:70,column:4},end:{line:70,column:5}},loc:{start:{line:70,column:13},end:{line:74,column:5}},line:70},3:{name:"(anonymous_3)",decl:{start:{line:71,column:42},end:{line:71,column:43}},loc:{start:{line:71,column:56},end:{line:73,column:7}},line:71},4:{name:"(anonymous_4)",decl:{start:{line:75,column:4},end:{line:75,column:5}},loc:{start:{line:75,column:10},end:{line:75,column:12}},line:75},5:{name:"(anonymous_5)",decl:{start:{line:76,column:4},end:{line:76,column:5}},loc:{start:{line:76,column:21},end:{line:82,column:5}},line:76},6:{name:"(anonymous_6)",decl:{start:{line:77,column:50},end:{line:77,column:51}},loc:{start:{line:77,column:64},end:{line:81,column:7}},line:77},7:{name:"(anonymous_7)",decl:{start:{line:83,column:4},end:{line:83,column:5}},loc:{start:{line:83,column:28},end:{line:85,column:5}},line:83}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},b:{},inputSourceMap:{version:3,sources:["RoutersTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RoutersTab.vue",sourceRoot:"src/tools/OpenC3Admin/tabs",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-list data-test="routerList">\n <div v-for="(router, index) in routers" :key="index">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title>{{ router }}</v-list-item-title>\n </v-list-item-content>\n <v-list-item-icon>\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-icon @click="showRouter(router)" v-bind="attrs" v-on="on">\n mdi-eye\n </v-icon>\n </template>\n <span>Show Router Details</span>\n </v-tooltip>\n </v-list-item-icon>\n </v-list-item>\n <v-divider v-if="index < routers.length - 1" :key="index" />\n </div>\n </v-list>\n <edit-dialog\n v-model="showDialog"\n v-if="showDialog"\n :content="jsonContent"\n :title="`Router: ${dialogTitle}`"\n readonly\n @submit="dialogCallback"\n />\n </div>\n</template>\n\n<script>\nimport Api from \'@openc3/tool-common/src/services/api\'\nimport EditDialog from \'@/tools/OpenC3Admin/EditDialog\'\nexport default {\n components: { EditDialog },\n data() {\n return {\n routers: [],\n jsonContent: \'\',\n dialogTitle: \'\',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get(\'/openc3-api/routers\').then((response) => {\n this.routers = response.data\n })\n },\n add() {},\n showRouter(name) {\n Api.get(`/openc3-api/routers/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, \'\\t\')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"edc5f938e873c8e161949c7b6979e35d77b74a5e"},l=t[o]||(t[o]={});l[n]&&l[n].hash===e||(l[n]=i);var s=l[n];return a=function(){return s},s}a();var r={components:{EditDialog:s.Z},data:function(){return a().f[0]++,a().s[0]++,{routers:[],jsonContent:"",dialogTitle:"",showDialog:!1}},mounted:function(){a().f[1]++,a().s[1]++,this.update()},methods:{update:function(){var n=this;a().f[2]++,a().s[2]++,l.Z.get("/openc3-api/routers").then((function(e){a().f[3]++,a().s[3]++,n.routers=e.data}))},add:function(){a().f[4]++},showRouter:function(n){var e=this;a().f[5]++,a().s[4]++,l.Z.get("/openc3-api/routers/".concat(n)).then((function(t){a().f[6]++,a().s[5]++,e.jsonContent=JSON.stringify(t.data,null,"\t"),a().s[6]++,e.dialogTitle=n,a().s[7]++,e.showDialog=!0}))},dialogCallback:function(n){a().f[7]++,a().s[8]++,this.showDialog=!1}}},c=r,u=t(3287),d=(0,u.Z)(c,o,i,!1,null,null,null),m=d.exports}}]);
2
- //# sourceMappingURL=699.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/699.js","mappings":"gLAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,YAAY,eAAeN,EAAIO,GAAIP,EAAW,SAAE,SAASQ,EAAOC,GAAO,OAAOL,EAAG,MAAM,CAACM,IAAID,GAAO,CAACL,EAAG,cAAc,CAACA,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIW,GAAGX,EAAIY,GAAGJ,OAAY,GAAGJ,EAAG,mBAAmB,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,OAAS,IAAIO,YAAYb,EAAIc,GAAG,CAAC,CAACJ,IAAI,YAAYK,GAAG,SAASC,GAC/a,IAAIC,EAAKD,EAAIC,GACTX,EAAQU,EAAIV,MAChB,MAAO,CAACF,EAAG,SAASJ,EAAIkB,GAAGlB,EAAImB,GAAG,CAACF,GAAG,CAAC,MAAQ,SAASG,GAAQ,OAAOpB,EAAIqB,WAAWb,EAAO,IAAI,SAASF,GAAM,GAAOW,GAAI,CAACjB,EAAIW,GAAG,eAAe,IAAI,MAAK,IAAO,CAACP,EAAG,OAAO,CAACJ,EAAIW,GAAG,4BAA4B,IAAI,GAAIF,EAAQT,EAAIsB,QAAQC,OAAS,EAAGnB,EAAG,YAAY,CAACM,IAAID,IAAQT,EAAIwB,MAAM,EAAE,IAAG,GAAIxB,EAAc,WAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,QAAUN,EAAIyB,YAAY,MAAS,WAAazB,EAAI0B,YAAa,SAAW,IAAIT,GAAG,CAAC,OAASjB,EAAI2B,gBAAgBC,MAAM,CAACC,MAAO7B,EAAc,WAAE8B,SAAS,SAAUC,GAAM/B,EAAIgC,WAAWD,CAAG,EAAEE,WAAW,gBAAgBjC,EAAIwB,MAAM,EAAE,EAChjBU,EAAkB,G,wlKCmDtB,OACAC,WAAAA,CAAAC,WAAAA,EAAAA,GACAC,KAFA,WAGA,OADA,sBACA,CACAf,QAAAA,GACAG,YAAAA,GACAC,YAAAA,GACAM,YAAAA,EAEA,EACAM,QAVA,WAUA,sBACA,aACA,EACAC,QAAAA,CACAC,OADA,WACA,iCACAC,EAAAA,EAAAA,IAAAA,uBAAAA,MAAAA,SAAAA,GAAA,sBACA,gBACA,GACA,EACAC,IANA,WAMA,YACArB,WAPA,SAOAsB,GAAA,iCACAF,EAAAA,EAAAA,IAAAA,uBAAAA,OAAAA,IAAAA,MAAAA,SAAAA,GAAA,sBACA,+CADA,WAEA,gBAFA,WAGA,eACA,GACA,EACAd,eAdA,SAcAiB,GAAA,sBACA,kBACA,ICpFkY,I,UCO9XC,GAAY,OACd,EACA9C,EACAmC,GACA,EACA,KACA,KACA,MAIF,EAAeW,EAAiB,O","sources":["webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/RoutersTab.vue?1024","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/tabs/RoutersTab.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/RoutersTab.vue?e313","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/RoutersTab.vue"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-list',{attrs:{\"data-test\":\"routerList\"}},_vm._l((_vm.routers),function(router,index){return _c('div',{key:index},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(router))])],1),_c('v-list-item-icon',[_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({on:{\"click\":function($event){return _vm.showRouter(router)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-eye \")])]}}],null,true)},[_c('span',[_vm._v(\"Show Router Details\")])])],1)],1),(index < _vm.routers.length - 1)?_c('v-divider',{key:index}):_vm._e()],1)}),0),(_vm.showDialog)?_c('edit-dialog',{attrs:{\"content\":_vm.jsonContent,\"title\":(\"Router: \" + _vm.dialogTitle),\"readonly\":\"\"},on:{\"submit\":_vm.dialogCallback},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}}):_vm._e()],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# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <div>\n <v-list data-test=\"routerList\">\n <div v-for=\"(router, index) in routers\" :key=\"index\">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title>{{ router }}</v-list-item-title>\n </v-list-item-content>\n <v-list-item-icon>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon @click=\"showRouter(router)\" v-bind=\"attrs\" v-on=\"on\">\n mdi-eye\n </v-icon>\n </template>\n <span>Show Router Details</span>\n </v-tooltip>\n </v-list-item-icon>\n </v-list-item>\n <v-divider v-if=\"index < routers.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n <edit-dialog\n v-model=\"showDialog\"\n v-if=\"showDialog\"\n :content=\"jsonContent\"\n :title=\"`Router: ${dialogTitle}`\"\n readonly\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport Api from '@openc3/tool-common/src/services/api'\nimport EditDialog from '@/tools/OpenC3Admin/EditDialog'\nexport default {\n components: { EditDialog },\n data() {\n return {\n routers: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/routers').then((response) => {\n this.routers = response.data\n })\n },\n add() {},\n showRouter(name) {\n Api.get(`/openc3-api/routers/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\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.use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.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.use[1]!../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoutersTab.vue?vue&type=template&id=4470d4de&\"\nimport script from \"./RoutersTab.vue?vue&type=script&lang=js&\"\nexport * from \"./RoutersTab.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","_l","router","index","key","_v","_s","scopedSlots","_u","fn","ref","on","_g","_b","$event","showRouter","routers","length","_e","jsonContent","dialogTitle","dialogCallback","model","value","callback","$$v","showDialog","expression","staticRenderFns","components","EditDialog","data","mounted","methods","update","Api","add","name","content","component"],"sourceRoot":""}