openc3-tool-admin 5.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[82],{1082:function(n,e,l){l.r(e),l.d(e,{default:function(){return w}});var t=function(){var n=this,e=n.$createElement,l=n._self._c||e;return l("div",[l("v-row",{staticClass:"px-2",attrs:{"no-gutters":"",align:"center"}},[l("v-col",[l("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(e){return n.fileChange()},mousedown:function(e){return n.fileMousedown()}},model:{value:n.file,callback:function(e){n.file=e},expression:"file"}})],1)],1),l("v-row",{staticClass:"px-2 pb-2",attrs:{"no-gutters":""}},[l("v-spacer"),l("v-btn",{staticClass:"mx-2",attrs:{"data-test":"pluginDownload",disabled:null!==n.file},on:{click:function(e){n.showDownloadDialog=!0}}},[l("v-icon",{attrs:{left:""}},[n._v("mdi-cloud-download")]),l("span",[n._v(" Download ")])],1)],1),l("v-row",{staticClass:"px-2 pb-2",staticStyle:{"margin-top":"10px"},attrs:{"no-gutters":""}},[l("v-checkbox",{staticClass:"mt-0",attrs:{label:"Show Default Tools","data-test":"show-default-tools"},model:{value:n.showDefaultTools,callback:function(e){n.showDefaultTools=e},expression:"showDefaultTools"}})],1),l("v-alert",{attrs:{dismissible:"",transition:"scale-transition",type:n.alertType},model:{value:n.showAlert,callback:function(e){n.showAlert=e},expression:"showAlert"}},[n._v(n._s(n.alert))]),Object.keys(n.processes).length>0?l("v-list",{attrs:{"data-test":"processList"}},n._l(n.processes,(function(e){return l("div",{key:e.name},[l("v-list-item",[l("v-list-item-content",[l("v-list-item-title",[l("span",{domProps:{textContent:n._s("Processing "+e.process_type+": "+e.detail+" - "+e.state)}})]),l("v-list-item-subtitle",[l("span",{domProps:{textContent:n._s(" Updated At: "+n.formatDate(e.updated_at))}})])],1),l("v-list-item-icon",["Running"===e.state?l("div",[l("v-progress-circular",{attrs:{indeterminate:"",color:"primary"}})],1):l("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return[l("v-icon",n._g(n._b({on:{click:function(l){return n.showOutput(e)}}},"v-icon",o,!1),i),[n._v(" mdi-eye ")])]}}],null,!0)},[l("span",[n._v("Show Output")])])],1)],1),l("v-divider")],1)})),0):n._e(),l("v-list",{attrs:{"data-test":"pluginList"}},n._l(n.shownPlugins,(function(e,t){return l("div",{key:t},[l("v-list-item",[l("v-list-item-content",[l("v-list-item-title",[n._v(n._s(e))])],1),l("v-list-item-icon",[l("div",{staticClass:"mx-3"},[l("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return[l("v-icon",n._g(n._b({on:{click:function(l){return n.editPlugin(e)}}},"v-icon",o,!1),i),[n._v(" mdi-pencil ")])]}}],null,!0)},[l("span",[n._v("Edit Plugin Details")])])],1),l("div",{staticClass:"mx-3"},[l("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return[l("v-icon",n._g(n._b({on:{click:function(l){return n.upgradePlugin(e)}}},"v-icon",o,!1),i),[n._v(" mdi-update ")])]}}],null,!0)},[l("span",[n._v("Upgrade Plugin")])])],1),l("div",{staticClass:"mx-3"},[l("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return[l("v-icon",n._g(n._b({on:{click:function(l){return n.deletePlugin(e)}}},"v-icon",o,!1),i),[n._v(" mdi-delete ")])]}}],null,!0)},[l("span",[n._v("Delete Plugin")])])],1)])],1),t<n.plugins.length-1?l("v-divider",{key:t}):n._e()],1)})),0),l("plugin-dialog",{attrs:{plugin_name:n.plugin_name,variables:n.variables,plugin_txt:n.plugin_txt,existing_plugin_txt:n.existing_plugin_txt},on:{submit:n.pluginCallback},model:{value:n.showPluginDialog,callback:function(e){n.showPluginDialog=e},expression:"showPluginDialog"}}),l("download-dialog",{model:{value:n.showDownloadDialog,callback:function(e){n.showDownloadDialog=e},expression:"showDownloadDialog"}}),l("simple-text-dialog",{attrs:{title:"Process Output",text:n.processOutput},model:{value:n.showProcessOutput,callback:function(e){n.showProcessOutput=e},expression:"showProcessOutput"}})],1)},i=[],o=l(1150),s=(l(7950),l(8319),l(2501),l(9529),l(1235),l(4769),l(8995),l(6710),l(108)),a=l(6700),u=l(1261),c=l(7354),r=(l(4463),function(){var n=this,e=n.$createElement,l=n._self._c||e;return l("v-dialog",{attrs:{persistent:"",width:"600"},model:{value:n.show,callback:function(e){n.show=e},expression:"show"}},[l("v-card",[l("v-card-text",[l("v-row",{staticClass:"mt-3"},[l("v-col",{attrs:{cols:"12"}},[l("h3",[n._v(n._s(n.plugin_name))])]),null!==n.existing_plugin_txt?l("v-radio-group",{attrs:{mandatory:""},model:{value:n.radioGroup,callback:function(e){n.radioGroup=e},expression:"radioGroup"}},[l("v-radio",{attrs:{label:"Use existing plugin.txt",value:1}}),l("v-radio",{attrs:{label:"Use new plugin.txt",value:0}})],1):n._e()],1),l("v-tabs",{attrs:{"background-color":"primary",dark:""},model:{value:n.tab,callback:function(e){n.tab=e},expression:"tab"}},[l("v-tab",{key:0},[n._v(" Variables ")]),l("v-tab",{key:1},[n._v(" plugin.txt ")]),null!==n.existing_plugin_txt?l("v-tab",{key:2},[n._v(" Existing plugin.txt ")]):n._e()],1),l("form",{on:{submit:function(e){return e.preventDefault(),n.submit.apply(null,arguments)}}},[l("v-tabs-items",{model:{value:n.tab,callback:function(e){n.tab=e},expression:"tab"}},[l("v-tab-item",{key:0},[l("v-card-text",[l("div",{staticClass:"pa-3"},[l("v-row",{staticClass:"mt-3"},n._l(n.localVariables,(function(e,t){return l("div",{key:t},[l("v-col",[l("v-text-field",{attrs:{clearable:"",type:"text",label:t},model:{value:n.localVariables[t],callback:function(e){n.$set(n.localVariables,t,e)},expression:"localVariables[name]"}})],1)],1)})),0)],1)])],1),l("v-tab-item",{key:1},[l("v-textarea",{attrs:{rows:"15","data-test":"editPluginTxt"},model:{value:n.localPluginTxt,callback:function(e){n.localPluginTxt=e},expression:"localPluginTxt"}})],1),null!==n.existing_plugin_txt?l("v-tab-item",{key:2},[l("v-textarea",{attrs:{rows:"15","data-test":"editExistingPluginTxt"},model:{value:n.localExistingPluginTxt,callback:function(e){n.localExistingPluginTxt=e},expression:"localExistingPluginTxt"}})],1):n._e()],1),l("v-row",[l("v-spacer"),l("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"editCancelBtn"},on:{click:function(e){return e.preventDefault(),n.close.apply(null,arguments)}}},[n._v(" Cancel ")]),l("v-btn",{staticClass:"mx-2",attrs:{color:"primary",type:"submit","data-test":"variables-dialog-ok"}},[n._v(" Install ")])],1)],1)],1)],1)],1)}),A=[];function m(){var n="/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/PluginDialog.vue",e="0d52bde898326c5865b8b7e461a7f00d7600001b",l=new Function("return this")(),t="__coverage__",i={path:"/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/PluginDialog.vue",statementMap:{0:{start:{line:128,column:4},end:{line:134,column:5}},1:{start:{line:139,column:8},end:{line:139,column:25}},2:{start:{line:142,column:8},end:{line:142,column:34}},3:{start:{line:150,column:8},end:{line:150,column:72}},4:{start:{line:151,column:8},end:{line:151,column:53}},5:{start:{line:152,column:8},end:{line:155,column:9}},6:{start:{line:153,column:10},end:{line:153,column:72}},7:{start:{line:154,column:10},end:{line:154,column:29}},8:{start:{line:161,column:18},end:{line:161,column:20}},9:{start:{line:162,column:6},end:{line:166,column:7}},10:{start:{line:163,column:8},end:{line:163,column:55}},11:{start:{line:165,column:8},end:{line:165,column:47}},12:{start:{line:168,column:24},end:{line:172,column:7}},13:{start:{line:173,column:6},end:{line:173,column:39}},14:{start:{line:176,column:6},end:{line:176,column:28}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:127,column:2},end:{line:127,column:3}},loc:{start:{line:127,column:9},end:{line:135,column:3}},line:127},1:{name:"(anonymous_1)",decl:{start:{line:138,column:6},end:{line:138,column:7}},loc:{start:{line:138,column:12},end:{line:140,column:7}},line:138},2:{name:"(anonymous_2)",decl:{start:{line:141,column:6},end:{line:141,column:7}},loc:{start:{line:141,column:17},end:{line:143,column:7}},line:141},3:{name:"(anonymous_3)",decl:{start:{line:149,column:15},end:{line:149,column:16}},loc:{start:{line:149,column:27},end:{line:156,column:7}},line:149},4:{name:"(anonymous_4)",decl:{start:{line:160,column:12},end:{line:160,column:13}},loc:{start:{line:160,column:24},end:{line:174,column:5}},line:160},5:{name:"(anonymous_5)",decl:{start:{line:175,column:11},end:{line:175,column:12}},loc:{start:{line:175,column:23},end:{line:177,column:5}},line:175}},branchMap:{0:{loc:{start:{line:152,column:8},end:{line:155,column:9}},type:"if",locations:[{start:{line:152,column:8},end:{line:155,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:152},1:{loc:{start:{line:162,column:6},end:{line:166,column:7}},type:"if",locations:[{start:{line:162,column:6},end:{line:166,column:7}},{start:{line:164,column:13},end:{line:166,column:7}}],line:162},2:{loc:{start:{line:162,column:10},end:{line:162,column:68}},type:"binary-expr",locations:[{start:{line:162,column:10},end:{line:162,column:43}},{start:{line:162,column:47},end:{line:162,column:68}}],line:162}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["PluginDialog.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0GA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"PluginDialog.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 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>{{ plugin_name }}</h3>\n </v-col>\n <v-radio-group\n v-if="existing_plugin_txt !== 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="existing_plugin_txt !== 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="editPluginTxt"\n />\n </v-tab-item>\n <v-tab-item v-if="existing_plugin_txt !== null" :key="2">\n <v-textarea\n v-model="localExistingPluginTxt"\n rows="15"\n data-test="editExistingPluginTxt"\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="editCancelBtn"\n >\n Cancel\n </v-btn>\n <v-btn\n class="mx-2"\n color="primary"\n type="submit"\n data-test="variables-dialog-ok"\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 plugin_name: {\n type: String,\n required: true,\n },\n variables: {\n type: Object,\n required: true,\n },\n plugin_txt: {\n type: String,\n required: true,\n },\n existing_plugin_txt: {\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.plugin_txt.slice()\n if (this.existing_plugin_txt !== null) {\n this.localExistingPluginTxt = this.existing_plugin_txt.slice()\n this.radioGroup = 1\n }\n },\n },\n },\n methods: {\n submit: function () {\n let lines = \'\'\n if (this.existing_plugin_txt !== null && this.radioGroup === 1) {\n lines = this.localExistingPluginTxt.split(\'\\n\')\n } else {\n lines = this.localPluginTxt.split(\'\\n\')\n }\n\n let plugin_hash = {\n name: this.plugin_name,\n variables: this.localVariables,\n plugin_txt_lines: lines,\n }\n this.$emit(\'submit\', plugin_hash)\n },\n close: function () {\n this.show = !this.show\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"0d52bde898326c5865b8b7e461a7f00d7600001b"},o=l[t]||(l[t]={});o[n]&&o[n].hash===e||(o[n]=i);var s=o[n];return m=function(){return s},s}m();var d={props:{plugin_name:{type:String,required:!0},variables:{type:Object,required:!0},plugin_txt:{type:String,required:!0},existing_plugin_txt:{type:String,required:!1},value:Boolean},data:function(){return m().f[0]++,m().s[0]++,{tab:0,localVariables:[],localPluginTxt:"",localExistingPluginTxt:null,radioGroup:1}},computed:{show:{get:function(){return m().f[1]++,m().s[1]++,this.value},set:function(n){m().f[2]++,m().s[2]++,this.$emit("input",n)}}},watch:{value:{immediate:!0,handler:function(){m().f[3]++,m().s[3]++,this.localVariables=JSON.parse(JSON.stringify(this.variables)),m().s[4]++,this.localPluginTxt=this.plugin_txt.slice(),m().s[5]++,null!==this.existing_plugin_txt?(m().b[0][0]++,m().s[6]++,this.localExistingPluginTxt=this.existing_plugin_txt.slice(),m().s[7]++,this.radioGroup=1):m().b[0][1]++}}},methods:{submit:function(){m().f[4]++;var n=(m().s[8]++,"");m().s[9]++,m().b[2][0]++,null!==this.existing_plugin_txt&&(m().b[2][1]++,1===this.radioGroup)?(m().b[1][0]++,m().s[10]++,n=this.localExistingPluginTxt.split("\n")):(m().b[1][1]++,m().s[11]++,n=this.localPluginTxt.split("\n"));var e=(m().s[12]++,{name:this.plugin_name,variables:this.localVariables,plugin_txt_lines:n});m().s[13]++,this.$emit("submit",e)},close:function(){m().f[5]++,m().s[14]++,this.show=!this.show}}},p=d,g=l(3287),v=(0,g.Z)(p,r,A,!1,null,null,null),h=v.exports,C=l(669);function f(){var n="/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/PluginsTab.vue",e="9b241f6869ccf0519db0cc87bcef563d291a5861",l=new Function("return this")(),t="__coverage__",i={path:"/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/PluginsTab.vue",statementMap:{0:{start:{line:176,column:4},end:{line:210,column:5}},1:{start:{line:214,column:19},end:{line:214,column:21}},2:{start:{line:215,column:6},end:{line:226,column:7}},3:{start:{line:216,column:32},end:{line:216,column:53}},4:{start:{line:217,column:32},end:{line:217,column:60}},5:{start:{line:218,column:8},end:{line:218,column:58}},6:{start:{line:219,column:26},end:{line:219,column:53}},7:{start:{line:220,column:8},end:{line:225,column:9}},8:{start:{line:224,column:10},end:{line:224,column:29}},9:{start:{line:227,column:6},end:{line:227,column:19}},10:{start:{line:231,column:4},end:{line:231,column:17}},11:{start:{line:232,column:4},end:{line:232,column:26}},12:{start:{line:236,column:6},end:{line:236,column:41}},13:{start:{line:237,column:6},end:{line:237,column:35}},14:{start:{line:240,column:6},end:{line:242,column:8}},15:{start:{line:241,column:8},end:{line:241,column:36}},16:{start:{line:245,column:6},end:{line:253,column:8}},17:{start:{line:246,column:8},end:{line:246,column:38}},18:{start:{line:247,column:8},end:{line:252,column:9}},19:{start:{line:248,column:10},end:{line:251,column:19}},20:{start:{line:249,column:12},end:{line:249,column:34}},21:{start:{line:250,column:12},end:{line:250,column:25}},22:{start:{line:256,column:6},end:{line:259,column:7}},23:{start:{line:262,column:21},end:{line:262,column:46}},24:{start:{line:263,column:19},end:{line:265,column:31}},25:{start:{line:266,column:23},end:{line:266,column:37}},26:{start:{line:267,column:6},end:{line:267,column:58}},27:{start:{line:268,column:22},end:{line:268,column:59}},28:{start:{line:269,column:6},end:{line:294,column:10}},29:{start:{line:271,column:10},end:{line:271,column:38}},30:{start:{line:272,column:10},end:{line:272,column:36}},31:{start:{line:273,column:10},end:{line:273,column:31}},32:{start:{line:274,column:10},end:{line:276,column:18}},33:{start:{line:275,column:12},end:{line:275,column:34}},34:{start:{line:277,column:10},end:{line:277,column:23}},35:{start:{line:278,column:36},end:{line:278,column:40}},36:{start:{line:279,column:10},end:{line:282,column:11}},37:{start:{line:280,column:12},end:{line:281,column:64}},38:{start:{line:283,column:27},end:{line:283,column:68}},39:{start:{line:284,column:11},end:{line:287,column:60}},40:{start:{line:288,column:10},end:{line:288,column:38}},41:{start:{line:289,column:10},end:{line:289,column:31}},42:{start:{line:292,column:10},end:{line:292,column:37}},43:{start:{line:293,column:10},end:{line:293,column:31}},44:{start:{line:297,column:6},end:{line:297,column:35}},45:{start:{line:298,column:6},end:{line:300,column:7}},46:{start:{line:299,column:8},end:{line:299,column:50}},47:{start:{line:301,column:22},end:{line:308,column:7}},48:{start:{line:309,column:6},end:{line:323,column:8}},49:{start:{line:310,column:8},end:{line:310,column:72}},50:{start:{line:311,column:8},end:{line:311,column:34}},51:{start:{line:312,column:8},end:{line:312,column:29}},52:{start:{line:313,column:8},end:{line:313,column:35}},53:{start:{line:314,column:8},end:{line:314,column:29}},54:{start:{line:315,column:8},end:{line:315,column:27}},55:{start:{line:316,column:8},end:{line:316,column:28}},56:{start:{line:317,column:8},end:{line:317,column:39}},57:{start:{line:318,column:8},end:{line:321,column:16}},58:{start:{line:319,column:10},end:{line:319,column:32}},59:{start:{line:320,column:10},end:{line:320,column:32}},60:{start:{line:322,column:8},end:{line:322,column:21}},61:{start:{line:326,column:6},end:{line:338,column:8}},62:{start:{line:327,column:34},end:{line:327,column:38}},63:{start:{line:328,column:8},end:{line:331,column:9}},64:{start:{line:329,column:10},end:{line:330,column:62}},65:{start:{line:332,column:25},end:{line:332,column:66}},66:{start:{line:333,column:9},end:{line:336,column:58}},67:{start:{line:337,column:8},end:{line:337,column:36}},68:{start:{line:341,column:6},end:{line:357,column:10}},69:{start:{line:347,column:10},end:{line:347,column:54}},70:{start:{line:348,column:10},end:{line:348,column:36}},71:{start:{line:349,column:10},end:{line:349,column:31}},72:{start:{line:350,column:10},end:{line:350,column:60}},73:{start:{line:353,column:10},end:{line:356,column:18}},74:{start:{line:354,column:12},end:{line:354,column:34}},75:{start:{line:355,column:12},end:{line:355,column:34}},76:{start:{line:358,column:8},end:{line:358,column:21}},77:{start:{line:361,column:6},end:{line:361,column:27}},78:{start:{line:362,column:6},end:{line:362,column:35}},79:{start:{line:363,column:6},end:{line:363,column:46}},80:{start:{line:366,column:6},end:{line:366,column:33}},81:{start:{line:369,column:6},end:{line:375,column:7}},82:{start:{line:370,column:8},end:{line:374,column:9}},83:{start:{line:371,column:10},end:{line:371,column:43}},84:{start:{line:373,column:10},end:{line:373,column:23}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:175,column:2},end:{line:175,column:3}},loc:{start:{line:175,column:9},end:{line:211,column:3}},line:175},1:{name:"(anonymous_1)",decl:{start:{line:213,column:4},end:{line:213,column:5}},loc:{start:{line:213,column:19},end:{line:228,column:5}},line:213},2:{name:"(anonymous_2)",decl:{start:{line:230,column:2},end:{line:230,column:3}},loc:{start:{line:230,column:12},end:{line:233,column:3}},line:230},3:{name:"(anonymous_3)",decl:{start:{line:235,column:16},end:{line:235,column:17}},loc:{start:{line:235,column:35},end:{line:238,column:5}},line:235},4:{name:"(anonymous_4)",decl:{start:{line:239,column:12},end:{line:239,column:13}},loc:{start:{line:239,column:24},end:{line:243,column:5}},line:239},5:{name:"(anonymous_5)",decl:{start:{line:240,column:42},end:{line:240,column:43}},loc:{start:{line:240,column:56},end:{line:242,column:7}},line:240},6:{name:"(anonymous_6)",decl:{start:{line:244,column:21},end:{line:244,column:22}},loc:{start:{line:244,column:33},end:{line:254,column:5}},line:244},7:{name:"(anonymous_7)",decl:{start:{line:245,column:71},end:{line:245,column:72}},loc:{start:{line:245,column:85},end:{line:253,column:7}},line:245},8:{name:"(anonymous_8)",decl:{start:{line:248,column:21},end:{line:248,column:22}},loc:{start:{line:248,column:27},end:{line:251,column:11}},line:248},9:{name:"(anonymous_9)",decl:{start:{line:255,column:4},end:{line:255,column:5}},loc:{start:{line:255,column:25},end:{line:260,column:5}},line:255},10:{name:"(anonymous_10)",decl:{start:{line:261,column:12},end:{line:261,column:13}},loc:{start:{line:261,column:39},end:{line:295,column:5}},line:261},11:{name:"(anonymous_11)",decl:{start:{line:270,column:14},end:{line:270,column:15}},loc:{start:{line:270,column:28},end:{line:290,column:9}},line:270},12:{name:"(anonymous_12)",decl:{start:{line:274,column:21},end:{line:274,column:22}},loc:{start:{line:274,column:27},end:{line:276,column:11}},line:274},13:{name:"(anonymous_13)",decl:{start:{line:291,column:15},end:{line:291,column:16}},loc:{start:{line:291,column:26},end:{line:294,column:9}},line:291},14:{name:"(anonymous_14)",decl:{start:{line:296,column:20},end:{line:296,column:21}},loc:{start:{line:296,column:43},end:{line:324,column:5}},line:296},15:{name:"(anonymous_15)",decl:{start:{line:309,column:19},end:{line:309,column:20}},loc:{start:{line:309,column:33},end:{line:323,column:7}},line:309},16:{name:"(anonymous_16)",decl:{start:{line:318,column:19},end:{line:318,column:20}},loc:{start:{line:318,column:25},end:{line:321,column:9}},line:318},17:{name:"(anonymous_17)",decl:{start:{line:325,column:16},end:{line:325,column:17}},loc:{start:{line:325,column:32},end:{line:339,column:5}},line:325},18:{name:"(anonymous_18)",decl:{start:{line:326,column:50},end:{line:326,column:51}},loc:{start:{line:326,column:64},end:{line:338,column:7}},line:326},19:{name:"(anonymous_19)",decl:{start:{line:340,column:18},end:{line:340,column:19}},loc:{start:{line:340,column:36},end:{line:359,column:5}},line:340},20:{name:"(anonymous_20)",decl:{start:{line:346,column:14},end:{line:346,column:15}},loc:{start:{line:346,column:26},end:{line:351,column:9}},line:346},21:{name:"(anonymous_21)",decl:{start:{line:352,column:14},end:{line:352,column:15}},loc:{start:{line:352,column:28},end:{line:357,column:9}},line:352},22:{name:"(anonymous_22)",decl:{start:{line:353,column:21},end:{line:353,column:22}},loc:{start:{line:353,column:27},end:{line:356,column:11}},line:353},23:{name:"(anonymous_23)",decl:{start:{line:360,column:4},end:{line:360,column:5}},loc:{start:{line:360,column:26},end:{line:364,column:5}},line:360},24:{name:"(anonymous_24)",decl:{start:{line:365,column:4},end:{line:365,column:5}},loc:{start:{line:365,column:20},end:{line:367,column:5}},line:365},25:{name:"(anonymous_25)",decl:{start:{line:368,column:4},end:{line:368,column:5}},loc:{start:{line:368,column:17},end:{line:376,column:5}},line:368}},branchMap:{0:{loc:{start:{line:220,column:8},end:{line:225,column:9}},type:"if",locations:[{start:{line:220,column:8},end:{line:225,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:220},1:{loc:{start:{line:221,column:10},end:{line:222,column:31}},type:"binary-expr",locations:[{start:{line:221,column:10},end:{line:221,column:52}},{start:{line:222,column:10},end:{line:222,column:31}}],line:221},2:{loc:{start:{line:247,column:8},end:{line:252,column:9}},type:"if",locations:[{start:{line:247,column:8},end:{line:252,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:247},3:{loc:{start:{line:261,column:22},end:{line:261,column:37}},type:"default-arg",locations:[{start:{line:261,column:33},end:{line:261,column:37}}],line:261},4:{loc:{start:{line:262,column:21},end:{line:262,column:46}},type:"cond-expr",locations:[{start:{line:262,column:32},end:{line:262,column:37}},{start:{line:262,column:40},end:{line:262,column:46}}],line:262},5:{loc:{start:{line:263,column:19},end:{line:265,column:31}},type:"cond-expr",locations:[{start:{line:264,column:10},end:{line:264,column:43}},{start:{line:265,column:10},end:{line:265,column:31}}],line:263},6:{loc:{start:{line:279,column:10},end:{line:282,column:11}},type:"if",locations:[{start:{line:279,column:10},end:{line:282,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:279},7:{loc:{start:{line:298,column:6},end:{line:300,column:7}},type:"if",locations:[{start:{line:298,column:6},end:{line:300,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:298},8:{loc:{start:{line:328,column:8},end:{line:331,column:9}},type:"if",locations:[{start:{line:328,column:8},end:{line:331,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:328},9:{loc:{start:{line:369,column:6},end:{line:375,column:7}},type:"if",locations:[{start:{line:369,column:6},end:{line:375,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:369},10:{loc:{start:{line:370,column:8},end:{line:374,column:9}},type:"if",locations:[{start:{line:370,column:8},end:{line:374,column:9}},{start:{line:372,column:15},end:{line:374,column:9}}],line:370}},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,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84: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,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,25:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0]},inputSourceMap:{version:3,sources:["PluginsTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiKA;AACA;AACA;AACA;AACA;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"PluginsTab.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-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-row>\n <v-row no-gutters class="px-2 pb-2">\n <v-spacer />\n <v-btn\n @click="showDownloadDialog = true"\n class="mx-2"\n data-test="pluginDownload"\n :disabled="file !== null"\n >\n <v-icon left>mdi-cloud-download</v-icon>\n <span> Download </span>\n </v-btn>\n </v-row>\n <v-row no-gutters class="px-2 pb-2" style="margin-top: 10px">\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-row>\n \x3c!-- TODO This alert shows both success and failure. Make consistent with rest of OpenC3. --\x3e\n <v-alert\n dismissible\n transition="scale-transition"\n :type="alertType"\n v-model="showAlert"\n >{{ alert }}</v-alert\n >\n <v-list v-if="Object.keys(processes).length > 0" data-test="processList">\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="`Processing ${process.process_type}: ${process.detail} - ${process.state}`"\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 @click="showOutput(process)" v-bind="attrs" v-on="on">\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="pluginList">\n <div v-for="(plugin, index) in shownPlugins" :key="index">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title>{{ plugin }}</v-list-item-title>\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 @click="editPlugin(plugin)" v-bind="attrs" v-on="on">\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 >\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="deletePlugin(plugin)"\n v-bind="attrs"\n v-on="on"\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 :plugin_name="plugin_name"\n :variables="variables"\n :plugin_txt="plugin_txt"\n :existing_plugin_txt="existing_plugin_txt"\n @submit="pluginCallback"\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 EditDialog from \'@/tools/OpenC3Admin/EditDialog\'\nimport PluginDialog from \'@/tools/OpenC3Admin/PluginDialog\'\nimport SimpleTextDialog from \'@openc3/tool-common/src/components/SimpleTextDialog\'\n\nexport default {\n components: {\n DownloadDialog,\n PluginDialog,\n SimpleTextDialog,\n },\n data() {\n return {\n file: null,\n pluginToUpgrade: null,\n plugins: [],\n processes: {},\n alert: \'\',\n alertType: \'success\',\n showAlert: false,\n plugin_name: null,\n variables: {},\n plugin_txt: \'\',\n existing_plugin_txt: null,\n showDownloadDialog: false,\n showProcessOutput: false,\n processOutput: \'\',\n showPluginDialog: false,\n showDefaultTools: 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 plugin_name_first = plugin.split(\'__\')[0]\n let plugin_name_split = plugin_name_first.split(\'-\')\n plugin_name_split = plugin_name_split.slice(0, -1)\n let plugin_name = plugin_name_split.join(\'-\')\n if (\n !this.defaultPlugins.includes(plugin_name) ||\n this.showDefaultTools\n ) {\n result.push(plugin)\n }\n }\n return result\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 },\n updateProcesses: function () {\n Api.get(\'openc3-api/process_status/plugin_?use_regex=true\').then((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 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 existing_plugin_txt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existing_plugin_txt =\n response.data.existing_plugin_txt_lines.join(\'\\n\')\n }\n let plugin_txt = response.data.plugin_txt_lines.join(\'\\n\')\n ;(this.plugin_name = response.data.name),\n (this.variables = response.data.variables),\n (this.plugin_txt = plugin_txt),\n (this.existing_plugin_txt = existing_plugin_txt)\n this.showPluginDialog = true\n this.file = undefined\n })\n .catch((error) => {\n this.pluginToUpgrade = null\n this.file = undefined\n })\n },\n pluginCallback: function (plugin_hash) {\n this.showPluginDialog = false\n if (this.pluginToUpgrade !== null) {\n plugin_hash[\'name\'] = this.pluginToUpgrade\n }\n const promise = Api.post(\n `/openc3-api/plugins/install/${this.plugin_name}`,\n {\n data: {\n plugin_hash: JSON.stringify(plugin_hash),\n },\n }\n )\n promise.then((response) => {\n this.alert = `Started installing plugin ${this.plugin_name} ...`\n this.alertType = \'success\'\n this.showAlert = true\n this.pluginToUpgrade = null\n this.file = undefined\n this.variables = {}\n this.plugin_txt = \'\'\n this.existing_plugin_txt = null\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n this.update()\n })\n },\n editPlugin: function (name) {\n Api.get(`/openc3-api/plugins/${name}`).then((response) => {\n let existing_plugin_txt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existing_plugin_txt =\n response.data.existing_plugin_txt_lines.join(\'\\n\')\n }\n let plugin_txt = response.data.plugin_txt_lines.join(\'\\n\')\n ;(this.plugin_name = response.data.name),\n (this.variables = response.data.variables),\n (this.plugin_txt = plugin_txt),\n (this.existing_plugin_txt = existing_plugin_txt)\n this.showPluginDialog = true\n })\n },\n deletePlugin: 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 this.alert = `Removing plugin ${plugin} ...`\n this.alertType = \'success\'\n this.showAlert = true\n return Api.delete(`/openc3-api/plugins/${plugin}`)\n })\n .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.pluginToUpgrade = plugin\n this.$refs.fileInput.$refs.input.click()\n },\n fileMousedown() {\n this.pluginToUpgrade = null\n },\n fileChange() {\n if (this.file !== undefined) {\n if (this.pluginToUpgrade !== null) {\n this.upload(this.pluginToUpgrade)\n } else {\n this.upload()\n }\n }\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"9b241f6869ccf0519db0cc87bcef563d291a5861"},o=l[t]||(l[t]={});o[n]&&o[n].hash===e||(o[n]=i);var s=o[n];return f=function(){return s},s}f();var _={components:{DownloadDialog:c.Z,PluginDialog:h,SimpleTextDialog:C.Z},data:function(){return f().f[0]++,f().s[0]++,{file:null,pluginToUpgrade:null,plugins:[],processes:{},alert:"",alertType:"success",showAlert:!1,plugin_name:null,variables:{},plugin_txt:"",existing_plugin_txt:null,showDownloadDialog:!1,showProcessOutput:!1,processOutput:"",showPluginDialog:!1,showDefaultTools:!1,defaultPlugins:["openc3-tool-admin","openc3-tool-autonomic","openc3-tool-base","openc3-tool-calendar","openc3-tool-cmdsender","openc3-tool-cmdtlmserver","openc3-tool-dataextractor","openc3-tool-dataviewer","openc3-tool-handbooks","openc3-tool-limitsmonitor","openc3-tool-packetviewer","openc3-tool-scriptrunner","openc3-tool-tablemanager","openc3-tool-tlmgrapher","openc3-tool-tlmviewer"]}},computed:{shownPlugins:function(){f().f[1]++;var n=(f().s[1]++,[]);f().s[2]++;var e,l=(0,o.Z)(this.plugins);try{for(l.s();!(e=l.n()).done;){var t=e.value,i=(f().s[3]++,t.split("__")[0]),s=(f().s[4]++,i.split("-"));f().s[5]++,s=s.slice(0,-1);var a=(f().s[6]++,s.join("-"));f().s[7]++,f().b[1][0]++,!this.defaultPlugins.includes(a)||(f().b[1][1]++,this.showDefaultTools)?(f().b[0][0]++,f().s[8]++,n.push(t)):f().b[0][1]++}}catch(u){l.e(u)}finally{l.f()}return f().s[9]++,n}},mounted:function(){f().f[2]++,f().s[10]++,this.update(),f().s[11]++,this.updateProcesses()},methods:{showOutput:function(n){f().f[3]++,f().s[12]++,this.processOutput=n.output,f().s[13]++,this.showProcessOutput=!0},update:function(){var n=this;f().f[4]++,f().s[14]++,u.Z.get("/openc3-api/plugins").then((function(e){f().f[5]++,f().s[15]++,n.plugins=e.data}))},updateProcesses:function(){var n=this;f().f[6]++,f().s[16]++,u.Z.get("openc3-api/process_status/plugin_?use_regex=true").then((function(e){f().f[7]++,f().s[17]++,n.processes=e.data,f().s[18]++,Object.keys(n.processes).length>0?(f().b[2][0]++,f().s[19]++,setTimeout((function(){f().f[8]++,f().s[20]++,n.updateProcesses(),f().s[21]++,n.update()}),1e4)):f().b[2][1]++}))},formatDate:function(n){return f().f[9]++,f().s[22]++,(0,s.Z)((0,a.Z)(parseInt(n)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},upload:function(){var n=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(f().b[3][0]++,null);f().f[10]++;var l=(f().s[23]++,e?(f().b[4][0]++,"put"):(f().b[4][1]++,"post")),t=(f().s[24]++,e?(f().b[5][0]++,"/openc3-api/plugins/".concat(e)):(f().b[5][1]++,"/openc3-api/plugins")),i=(f().s[25]++,new FormData);f().s[26]++,i.append("plugin",this.file,this.file.name);var o=(f().s[27]++,u.Z[l](t,{data:i}));f().s[28]++,o.then((function(e){f().f[11]++,f().s[29]++,n.alert="Uploaded file",f().s[30]++,n.alertType="success",f().s[31]++,n.showAlert=!0,f().s[32]++,setTimeout((function(){f().f[12]++,f().s[33]++,n.showAlert=!1}),5e3),f().s[34]++,n.update();var l=(f().s[35]++,null);f().s[36]++,void 0!==e.data.existing_plugin_txt_lines?(f().b[6][0]++,f().s[37]++,l=e.data.existing_plugin_txt_lines.join("\n")):f().b[6][1]++;var t=(f().s[38]++,e.data.plugin_txt_lines.join("\n"));f().s[39]++,n.plugin_name=e.data.name,n.variables=e.data.variables,n.plugin_txt=t,n.existing_plugin_txt=l,f().s[40]++,n.showPluginDialog=!0,f().s[41]++,n.file=void 0})).catch((function(e){f().f[13]++,f().s[42]++,n.pluginToUpgrade=null,f().s[43]++,n.file=void 0}))},pluginCallback:function(n){var e=this;f().f[14]++,f().s[44]++,this.showPluginDialog=!1,f().s[45]++,null!==this.pluginToUpgrade?(f().b[7][0]++,f().s[46]++,n["name"]=this.pluginToUpgrade):f().b[7][1]++;var l=(f().s[47]++,u.Z.post("/openc3-api/plugins/install/".concat(this.plugin_name),{data:{plugin_hash:JSON.stringify(n)}}));f().s[48]++,l.then((function(n){f().f[15]++,f().s[49]++,e.alert="Started installing plugin ".concat(e.plugin_name," ..."),f().s[50]++,e.alertType="success",f().s[51]++,e.showAlert=!0,f().s[52]++,e.pluginToUpgrade=null,f().s[53]++,e.file=void 0,f().s[54]++,e.variables={},f().s[55]++,e.plugin_txt="",f().s[56]++,e.existing_plugin_txt=null,f().s[57]++,setTimeout((function(){f().f[16]++,f().s[58]++,e.showAlert=!1,f().s[59]++,e.updateProcesses()}),5e3),f().s[60]++,e.update()}))},editPlugin:function(n){var e=this;f().f[17]++,f().s[61]++,u.Z.get("/openc3-api/plugins/".concat(n)).then((function(n){f().f[18]++;var l=(f().s[62]++,null);f().s[63]++,void 0!==n.data.existing_plugin_txt_lines?(f().b[8][0]++,f().s[64]++,l=n.data.existing_plugin_txt_lines.join("\n")):f().b[8][1]++;var t=(f().s[65]++,n.data.plugin_txt_lines.join("\n"));f().s[66]++,e.plugin_name=n.data.name,e.variables=n.data.variables,e.plugin_txt=t,e.existing_plugin_txt=l,f().s[67]++,e.showPluginDialog=!0}))},deletePlugin:function(n){var e=this;f().f[19]++,f().s[68]++,this.$dialog.confirm("Are you sure you want to remove: ".concat(n),{okText:"Delete",cancelText:"Cancel"}).then((function(l){return f().f[20]++,f().s[69]++,e.alert="Removing plugin ".concat(n," ..."),f().s[70]++,e.alertType="success",f().s[71]++,e.showAlert=!0,f().s[72]++,u.Z["delete"]("/openc3-api/plugins/".concat(n))})).then((function(n){f().f[21]++,f().s[73]++,setTimeout((function(){f().f[22]++,f().s[74]++,e.showAlert=!1,f().s[75]++,e.updateProcesses()}),5e3)})),f().s[76]++,this.update()},upgradePlugin:function(n){f().f[23]++,f().s[77]++,this.file=void 0,f().s[78]++,this.pluginToUpgrade=n,f().s[79]++,this.$refs.fileInput.$refs.input.click()},fileMousedown:function(){f().f[24]++,f().s[80]++,this.pluginToUpgrade=null},fileChange:function(){f().f[25]++,f().s[81]++,void 0!==this.file?(f().b[9][0]++,f().s[82]++,null!==this.pluginToUpgrade?(f().b[10][0]++,f().s[83]++,this.upload(this.pluginToUpgrade)):(f().b[10][1]++,f().s[84]++,this.upload())):f().b[9][1]++}}},b=_,x=(0,g.Z)(b,t,i,!1,null,null,null),w=x.exports},1150:function(n,e,l){l.d(e,{Z:function(){return i}});l(4115),l(634),l(8188),l(796),l(8673),l(6886),l(1372);var t=l(8709);function i(n,e){var l="undefined"!==typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!l){if(Array.isArray(n)||(l=(0,t.Z)(n))||e&&n&&"number"===typeof n.length){l&&(n=l);var i=0,o=function(){};return{s:o,n:function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(n){throw n},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,u=!1;return{s:function(){l=l.call(n)},n:function(){var n=l.next();return a=n.done,n},e:function(n){u=!0,s=n},f:function(){try{a||null==l["return"]||l["return"]()}finally{if(u)throw s}}}}}}]);
2
+ //# sourceMappingURL=82.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/82.js","mappings":"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","sources":["webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/PluginsTab.vue?1e1e","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/PluginDialog.vue?5d27","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/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/@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)],1),_c('v-row',{staticClass:\"px-2 pb-2\",attrs:{\"no-gutters\":\"\"}},[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"data-test\":\"pluginDownload\",\"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),_c('v-row',{staticClass:\"px-2 pb-2\",staticStyle:{\"margin-top\":\"10px\"},attrs:{\"no-gutters\":\"\"}},[_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-alert',{attrs:{\"dismissible\":\"\",\"transition\":\"scale-transition\",\"type\":_vm.alertType},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\":\"processList\"}},_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((\"Processing \" + (process.process_type) + \": \" + (process.detail) + \" - \" + (process.state)))}})]),_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){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({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\":\"pluginList\"}},_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._v(_vm._s(plugin))])],1),_c('v-list-item-icon',[_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.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){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({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){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({on:{\"click\":function($event){return _vm.deletePlugin(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:{\"plugin_name\":_vm.plugin_name,\"variables\":_vm.variables,\"plugin_txt\":_vm.plugin_txt,\"existing_plugin_txt\":_vm.existing_plugin_txt},on:{\"submit\":_vm.pluginCallback},model:{value:(_vm.showPluginDialog),callback:function ($$v) {_vm.showPluginDialog=$$v},expression:\"showPluginDialog\"}}),_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.plugin_name))])]),(_vm.existing_plugin_txt !== 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.existing_plugin_txt !== 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\":\"editPluginTxt\"},model:{value:(_vm.localPluginTxt),callback:function ($$v) {_vm.localPluginTxt=$$v},expression:\"localPluginTxt\"}})],1),(_vm.existing_plugin_txt !== null)?_c('v-tab-item',{key:2},[_c('v-textarea',{attrs:{\"rows\":\"15\",\"data-test\":\"editExistingPluginTxt\"},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\":\"editCancelBtn\"},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\":\"variables-dialog-ok\"}},[_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>{{ plugin_name }}</h3>\n </v-col>\n <v-radio-group\n v-if=\"existing_plugin_txt !== 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=\"existing_plugin_txt !== 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=\"editPluginTxt\"\n />\n </v-tab-item>\n <v-tab-item v-if=\"existing_plugin_txt !== null\" :key=\"2\">\n <v-textarea\n v-model=\"localExistingPluginTxt\"\n rows=\"15\"\n data-test=\"editExistingPluginTxt\"\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=\"editCancelBtn\"\n >\n Cancel\n </v-btn>\n <v-btn\n class=\"mx-2\"\n color=\"primary\"\n type=\"submit\"\n data-test=\"variables-dialog-ok\"\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 plugin_name: {\n type: String,\n required: true,\n },\n variables: {\n type: Object,\n required: true,\n },\n plugin_txt: {\n type: String,\n required: true,\n },\n existing_plugin_txt: {\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.plugin_txt.slice()\n if (this.existing_plugin_txt !== null) {\n this.localExistingPluginTxt = this.existing_plugin_txt.slice()\n this.radioGroup = 1\n }\n },\n },\n },\n methods: {\n submit: function () {\n let lines = ''\n if (this.existing_plugin_txt !== null && this.radioGroup === 1) {\n lines = this.localExistingPluginTxt.split('\\n')\n } else {\n lines = this.localPluginTxt.split('\\n')\n }\n\n let plugin_hash = {\n name: this.plugin_name,\n variables: this.localVariables,\n plugin_txt_lines: lines,\n }\n this.$emit('submit', plugin_hash)\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=18db40c0&\"\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","<!--\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-row>\n <v-row no-gutters class=\"px-2 pb-2\">\n <v-spacer />\n <v-btn\n @click=\"showDownloadDialog = true\"\n class=\"mx-2\"\n data-test=\"pluginDownload\"\n :disabled=\"file !== null\"\n >\n <v-icon left>mdi-cloud-download</v-icon>\n <span> Download </span>\n </v-btn>\n </v-row>\n <v-row no-gutters class=\"px-2 pb-2\" style=\"margin-top: 10px\">\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-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 >{{ alert }}</v-alert\n >\n <v-list v-if=\"Object.keys(processes).length > 0\" data-test=\"processList\">\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=\"`Processing ${process.process_type}: ${process.detail} - ${process.state}`\"\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 @click=\"showOutput(process)\" v-bind=\"attrs\" v-on=\"on\">\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=\"pluginList\">\n <div v-for=\"(plugin, index) in shownPlugins\" :key=\"index\">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title>{{ plugin }}</v-list-item-title>\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 @click=\"editPlugin(plugin)\" v-bind=\"attrs\" v-on=\"on\">\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 >\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=\"deletePlugin(plugin)\"\n v-bind=\"attrs\"\n v-on=\"on\"\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 :plugin_name=\"plugin_name\"\n :variables=\"variables\"\n :plugin_txt=\"plugin_txt\"\n :existing_plugin_txt=\"existing_plugin_txt\"\n @submit=\"pluginCallback\"\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 EditDialog from '@/tools/OpenC3Admin/EditDialog'\nimport PluginDialog from '@/tools/OpenC3Admin/PluginDialog'\nimport SimpleTextDialog from '@openc3/tool-common/src/components/SimpleTextDialog'\n\nexport default {\n components: {\n DownloadDialog,\n PluginDialog,\n SimpleTextDialog,\n },\n data() {\n return {\n file: null,\n pluginToUpgrade: null,\n plugins: [],\n processes: {},\n alert: '',\n alertType: 'success',\n showAlert: false,\n plugin_name: null,\n variables: {},\n plugin_txt: '',\n existing_plugin_txt: null,\n showDownloadDialog: false,\n showProcessOutput: false,\n processOutput: '',\n showPluginDialog: false,\n showDefaultTools: 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 plugin_name_first = plugin.split('__')[0]\n let plugin_name_split = plugin_name_first.split('-')\n plugin_name_split = plugin_name_split.slice(0, -1)\n let plugin_name = plugin_name_split.join('-')\n if (\n !this.defaultPlugins.includes(plugin_name) ||\n this.showDefaultTools\n ) {\n result.push(plugin)\n }\n }\n return result\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 },\n updateProcesses: function () {\n Api.get('openc3-api/process_status/plugin_?use_regex=true').then((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 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 existing_plugin_txt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existing_plugin_txt =\n response.data.existing_plugin_txt_lines.join('\\n')\n }\n let plugin_txt = response.data.plugin_txt_lines.join('\\n')\n ;(this.plugin_name = response.data.name),\n (this.variables = response.data.variables),\n (this.plugin_txt = plugin_txt),\n (this.existing_plugin_txt = existing_plugin_txt)\n this.showPluginDialog = true\n this.file = undefined\n })\n .catch((error) => {\n this.pluginToUpgrade = null\n this.file = undefined\n })\n },\n pluginCallback: function (plugin_hash) {\n this.showPluginDialog = false\n if (this.pluginToUpgrade !== null) {\n plugin_hash['name'] = this.pluginToUpgrade\n }\n const promise = Api.post(\n `/openc3-api/plugins/install/${this.plugin_name}`,\n {\n data: {\n plugin_hash: JSON.stringify(plugin_hash),\n },\n }\n )\n promise.then((response) => {\n this.alert = `Started installing plugin ${this.plugin_name} ...`\n this.alertType = 'success'\n this.showAlert = true\n this.pluginToUpgrade = null\n this.file = undefined\n this.variables = {}\n this.plugin_txt = ''\n this.existing_plugin_txt = null\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n this.update()\n })\n },\n editPlugin: function (name) {\n Api.get(`/openc3-api/plugins/${name}`).then((response) => {\n let existing_plugin_txt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existing_plugin_txt =\n response.data.existing_plugin_txt_lines.join('\\n')\n }\n let plugin_txt = response.data.plugin_txt_lines.join('\\n')\n ;(this.plugin_name = response.data.name),\n (this.variables = response.data.variables),\n (this.plugin_txt = plugin_txt),\n (this.existing_plugin_txt = existing_plugin_txt)\n this.showPluginDialog = true\n })\n },\n deletePlugin: 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 this.alert = `Removing plugin ${plugin} ...`\n this.alertType = 'success'\n this.showAlert = true\n return Api.delete(`/openc3-api/plugins/${plugin}`)\n })\n .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.pluginToUpgrade = plugin\n this.$refs.fileInput.$refs.input.click()\n },\n fileMousedown() {\n this.pluginToUpgrade = null\n },\n fileChange() {\n if (this.file !== undefined) {\n if (this.pluginToUpgrade !== null) {\n this.upload(this.pluginToUpgrade)\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=61d11bad&\"\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","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","editPlugin","upgradePlugin","deletePlugin","plugins","plugin_name","variables","plugin_txt","existing_plugin_txt","pluginCallback","showPluginDialog","processOutput","showProcessOutput","staticRenderFns","show","radioGroup","tab","preventDefault","submit","apply","arguments","localVariables","$set","localPluginTxt","localExistingPluginTxt","close","props","type","required","data","computed","get","set","watch","immediate","handler","methods","lines","plugin_txt_lines","component","components","DownloadDialog","PluginDialog","SimpleTextDialog","pluginToUpgrade","defaultPlugins","shownPlugins","plugin_name_split","result","mounted","update","Api","updateProcesses","setTimeout","nanoSecs","toDate","upload","existing","formData","promise","then","response","catch","plugin_hash","confirm","okText","cancelText","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","done","e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""}
@@ -0,0 +1,4 @@
1
+ (self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[844],{9644:function(t,e,n){t.exports=n(5644)},353:function(t,e,n){"use strict";var r=n(3044),o=n(6955),i=n(2233),s=n(8030),a=n(7948),u=n(1875),c=n(842),f=n(8618),l=n(1439),h=n(6714);t.exports=function(t){return new Promise((function(e,n){var p,d=t.data,v=t.headers,m=t.responseType;function y(){t.cancelToken&&t.cancelToken.unsubscribe(p),t.signal&&t.signal.removeEventListener("abort",p)}r.isFormData(d)&&delete v["Content-Type"];var g=new XMLHttpRequest;if(t.auth){var w=t.auth.username||"",b=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";v.Authorization="Basic "+btoa(w+":"+b)}var x=a(t.baseURL,t.url);function E(){if(g){var r="getAllResponseHeaders"in g?u(g.getAllResponseHeaders()):null,i=m&&"text"!==m&&"json"!==m?g.response:g.responseText,s={data:i,status:g.status,statusText:g.statusText,headers:r,config:t,request:g};o((function(t){e(t),y()}),(function(t){n(t),y()}),s),g=null}}if(g.open(t.method.toUpperCase(),s(x,t.params,t.paramsSerializer),!0),g.timeout=t.timeout,"onloadend"in g?g.onloadend=E:g.onreadystatechange=function(){g&&4===g.readyState&&(0!==g.status||g.responseURL&&0===g.responseURL.indexOf("file:"))&&setTimeout(E)},g.onabort=function(){g&&(n(f("Request aborted",t,"ECONNABORTED",g)),g=null)},g.onerror=function(){n(f("Network Error",t,null,g)),g=null},g.ontimeout=function(){var e="timeout of "+t.timeout+"ms exceeded",r=t.transitional||l.transitional;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(f(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",g)),g=null},r.isStandardBrowserEnv()){var S=(t.withCredentials||c(x))&&t.xsrfCookieName?i.read(t.xsrfCookieName):void 0;S&&(v[t.xsrfHeaderName]=S)}"setRequestHeader"in g&&r.forEach(v,(function(t,e){"undefined"===typeof d&&"content-type"===e.toLowerCase()?delete v[e]:g.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(g.withCredentials=!!t.withCredentials),m&&"json"!==m&&(g.responseType=t.responseType),"function"===typeof t.onDownloadProgress&&g.addEventListener("progress",t.onDownloadProgress),"function"===typeof t.onUploadProgress&&g.upload&&g.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(p=function(t){g&&(n(!t||t&&t.type?new h("canceled"):t),g.abort(),g=null)},t.cancelToken&&t.cancelToken.subscribe(p),t.signal&&(t.signal.aborted?p():t.signal.addEventListener("abort",p))),d||(d=null),g.send(d)}))}},5644:function(t,e,n){"use strict";var r=n(3044),o=n(3644),i=n(3234),s=n(2937),a=n(1439);function u(t){var e=new i(t),n=o(i.prototype.request,e);return r.extend(n,i.prototype,e),r.extend(n,e),n.create=function(e){return u(s(t,e))},n}var c=u(a);c.Axios=i,c.Cancel=n(6714),c.CancelToken=n(4089),c.isCancel=n(8041),c.VERSION=n(9241).version,c.all=function(t){return Promise.all(t)},c.spread=n(783),c.isAxiosError=n(5587),t.exports=c,t.exports["default"]=c},6714:function(t){"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4089:function(t,e,n){"use strict";var r=n(6714);function o(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e<r;e++)n._listeners[e](t);n._listeners=null}})),this.promise.then=function(t){var e,r=new Promise((function(t){n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t){n.reason||(n.reason=new r(t),e(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.prototype.subscribe=function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]},o.prototype.unsubscribe=function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}},o.source=function(){var t,e=new o((function(e){t=e}));return{token:e,cancel:t}},t.exports=o},8041:function(t){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},3234:function(t,e,n){"use strict";var r=n(3044),o=n(8030),i=n(946),s=n(6895),a=n(2937),u=n(3455),c=u.validators;function f(t){this.defaults=t,this.interceptors={request:new i,response:new i}}f.prototype.request=function(t){"string"===typeof t?(t=arguments[1]||{},t.url=arguments[0]):t=t||{},t=a(this.defaults,t),t.method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=t.transitional;void 0!==e&&u.assertOptions(e,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var n=[],r=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(r=r&&e.synchronous,n.unshift(e.fulfilled,e.rejected))}));var o,i=[];if(this.interceptors.response.forEach((function(t){i.push(t.fulfilled,t.rejected)})),!r){var f=[s,void 0];Array.prototype.unshift.apply(f,n),f=f.concat(i),o=Promise.resolve(t);while(f.length)o=o.then(f.shift(),f.shift());return o}var l=t;while(n.length){var h=n.shift(),p=n.shift();try{l=h(l)}catch(d){p(d);break}}try{o=s(l)}catch(d){return Promise.reject(d)}while(i.length)o=o.then(i.shift(),i.shift());return o},f.prototype.getUri=function(t){return t=a(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){f.prototype[t]=function(e,n){return this.request(a(n||{},{method:t,url:e,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(t){f.prototype[t]=function(e,n,r){return this.request(a(r||{},{method:t,url:e,data:n}))}})),t.exports=f},946:function(t,e,n){"use strict";var r=n(3044);function o(){this.handlers=[]}o.prototype.use=function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},7948:function(t,e,n){"use strict";var r=n(9192),o=n(8762);t.exports=function(t,e){return t&&!r(e)?o(t,e):e}},8618:function(t,e,n){"use strict";var r=n(1935);t.exports=function(t,e,n,o,i){var s=new Error(t);return r(s,e,n,o,i)}},6895:function(t,e,n){"use strict";var r=n(3044),o=n(8556),i=n(8041),s=n(1439),a=n(6714);function u(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new a("canceled")}t.exports=function(t){u(t),t.headers=t.headers||{},t.data=o.call(t,t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]}));var e=t.adapter||s.adapter;return e(t).then((function(e){return u(t),e.data=o.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(u(t),e&&e.response&&(e.response.data=o.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},1935:function(t){"use strict";t.exports=function(t,e,n,r,o){return t.config=e,n&&(t.code=n),t.request=r,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},t}},2937:function(t,e,n){"use strict";var r=n(3044);t.exports=function(t,e){e=e||{};var n={};function o(t,e){return r.isPlainObject(t)&&r.isPlainObject(e)?r.merge(t,e):r.isPlainObject(e)?r.merge({},e):r.isArray(e)?e.slice():e}function i(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(t[n],e[n])}function s(t){if(!r.isUndefined(e[t]))return o(void 0,e[t])}function a(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(void 0,e[n])}function u(n){return n in e?o(t[n],e[n]):n in t?o(void 0,t[n]):void 0}var c={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:u};return r.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){var e=c[t]||i,o=e(t);r.isUndefined(o)&&e!==u||(n[t]=o)})),n}},6955:function(t,e,n){"use strict";var r=n(8618);t.exports=function(t,e,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},8556:function(t,e,n){"use strict";var r=n(3044),o=n(1439);t.exports=function(t,e,n){var i=this||o;return r.forEach(n,(function(n){t=n.call(i,t,e)})),t}},1439:function(t,e,n){"use strict";var r=n(3044),o=n(8868),i=n(1935),s={"Content-Type":"application/x-www-form-urlencoded"};function a(t,e){!r.isUndefined(t)&&r.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}function u(){var t;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(t=n(353)),t}function c(t,e,n){if(r.isString(t))try{return(e||JSON.parse)(t),r.trim(t)}catch(o){if("SyntaxError"!==o.name)throw o}return(n||JSON.stringify)(t)}var f={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:u(),transformRequest:[function(t,e){return o(e,"Accept"),o(e,"Content-Type"),r.isFormData(t)||r.isArrayBuffer(t)||r.isBuffer(t)||r.isStream(t)||r.isFile(t)||r.isBlob(t)?t:r.isArrayBufferView(t)?t.buffer:r.isURLSearchParams(t)?(a(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):r.isObject(t)||e&&"application/json"===e["Content-Type"]?(a(e,"application/json"),c(t)):t}],transformResponse:[function(t){var e=this.transitional||f.transitional,n=e&&e.silentJSONParsing,o=e&&e.forcedJSONParsing,s=!n&&"json"===this.responseType;if(s||o&&r.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(s){if("SyntaxError"===a.name)throw i(a,this,"E_JSON_PARSE");throw a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){f.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){f.headers[t]=r.merge(s)})),t.exports=f},9241:function(t){t.exports={version:"0.22.0"}},3644:function(t){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return t.apply(e,n)}}},8030:function(t,e,n){"use strict";var r=n(3044);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,n){if(!e)return t;var i;if(n)i=n(e);else if(r.isURLSearchParams(e))i=e.toString();else{var s=[];r.forEach(e,(function(t,e){null!==t&&"undefined"!==typeof t&&(r.isArray(t)?e+="[]":t=[t],r.forEach(t,(function(t){r.isDate(t)?t=t.toISOString():r.isObject(t)&&(t=JSON.stringify(t)),s.push(o(e)+"="+o(t))})))})),i=s.join("&")}if(i){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}},8762:function(t){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},2233:function(t,e,n){"use strict";var r=n(3044);t.exports=r.isStandardBrowserEnv()?function(){return{write:function(t,e,n,o,i,s){var a=[];a.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(o)&&a.push("path="+o),r.isString(i)&&a.push("domain="+i),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},9192:function(t){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},5587:function(t){"use strict";t.exports=function(t){return"object"===typeof t&&!0===t.isAxiosError}},842:function(t,e,n){"use strict";var r=n(3044);t.exports=r.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(t){var r=t;return e&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=o(window.location.href),function(e){var n=r.isString(e)?o(e):e;return n.protocol===t.protocol&&n.host===t.host}}():function(){return function(){return!0}}()},8868:function(t,e,n){"use strict";var r=n(3044);t.exports=function(t,e){r.forEach(t,(function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])}))}},1875:function(t,e,n){"use strict";var r=n(3044),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,i,s={};return t?(r.forEach(t.split("\n"),(function(t){if(i=t.indexOf(":"),e=r.trim(t.substr(0,i)).toLowerCase(),n=r.trim(t.substr(i+1)),e){if(s[e]&&o.indexOf(e)>=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([n]):s[e]?s[e]+", "+n:n}})),s):s}},783:function(t){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},3455:function(t,e,n){"use strict";var r=n(9241).version,o={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){o[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var i={};function s(t,e,n){if("object"!==typeof t)throw new TypeError("options must be an object");var r=Object.keys(t),o=r.length;while(o-- >0){var i=r[o],s=e[i];if(s){var a=t[i],u=void 0===a||s(a,i,t);if(!0!==u)throw new TypeError("option "+i+" must be "+u)}else if(!0!==n)throw Error("Unknown option "+i)}}o.transitional=function(t,e,n){function o(t,e){return"[Axios v"+r+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,r,s){if(!1===t)throw new Error(o(r," has been removed"+(e?" in "+e:"")));return e&&!i[r]&&(i[r]=!0,console.warn(o(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,s)}},t.exports={assertOptions:s,validators:o}},3044:function(t,e,n){"use strict";var r=n(3644),o=Object.prototype.toString;function i(t){return"[object Array]"===o.call(t)}function s(t){return"undefined"===typeof t}function a(t){return null!==t&&!s(t)&&null!==t.constructor&&!s(t.constructor)&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function u(t){return"[object ArrayBuffer]"===o.call(t)}function c(t){return"undefined"!==typeof FormData&&t instanceof FormData}function f(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer,e}function l(t){return"string"===typeof t}function h(t){return"number"===typeof t}function p(t){return null!==t&&"object"===typeof t}function d(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function v(t){return"[object Date]"===o.call(t)}function m(t){return"[object File]"===o.call(t)}function y(t){return"[object Blob]"===o.call(t)}function g(t){return"[object Function]"===o.call(t)}function w(t){return p(t)&&g(t.pipe)}function b(t){return"undefined"!==typeof URLSearchParams&&t instanceof URLSearchParams}function x(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function E(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function S(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),i(t))for(var n=0,r=t.length;n<r;n++)e.call(null,t[n],n,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.call(null,t[o],o,t)}function O(){var t={};function e(e,n){d(t[n])&&d(e)?t[n]=O(t[n],e):d(e)?t[n]=O({},e):i(e)?t[n]=e.slice():t[n]=e}for(var n=0,r=arguments.length;n<r;n++)S(arguments[n],e);return t}function j(t,e,n){return S(e,(function(e,o){t[o]=n&&"function"===typeof e?r(e,n):e})),t}function L(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t}t.exports={isArray:i,isArrayBuffer:u,isBuffer:a,isFormData:c,isArrayBufferView:f,isString:l,isNumber:h,isObject:p,isPlainObject:d,isUndefined:s,isDate:v,isFile:m,isBlob:y,isFunction:g,isStream:w,isURLSearchParams:b,isStandardBrowserEnv:E,forEach:S,merge:O,extend:j,trim:x,stripBOM:L}},7525:function(t,e,n){var r=n(9859),o=n(4555);o(r.JSON,"JSON",!0)},8275:function(t,e,n){var r=n(4555);r(Math,"Math",!0)},6882:function(t,e,n){var r=n(8423);r("asyncIterator")},8859:function(t,e,n){var r=n(1333),o=n(8423),i=n(4555);o("toStringTag"),i(r("Symbol"),"Symbol")},5627:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});n(8188);function r(t,e,n,r,o,i,s){try{var a=t[i](s),u=a.value}catch(c){return void n(c)}a.done?e(u):Promise.resolve(u).then(r,o)}function o(t){return function(){var e=this,n=arguments;return new Promise((function(o,i){var s=t.apply(e,n);function a(t){r(s,o,i,a,u,"next",t)}function u(t){r(s,o,i,a,u,"throw",t)}a(void 0)}))}}},6625:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});n(4115),n(634),n(8188),n(796),n(8673),n(6886),n(6882),n(8859),n(7525),n(8275),n(5094),n(1372),n(6928),n(1939),n(2506),n(2501);var r=n(578);function o(){
2
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
3
+ o=function(){return t};var t={},e=Object.prototype,n=e.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(T){c=function(t,e,n){return t[e]=n}}function f(t,e,n,r){var o=e&&e.prototype instanceof p?e:p,i=Object.create(o.prototype),s=new j(r||[]);return i._invoke=function(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return N()}for(n.method=o,n.arg=i;;){var s=n.delegate;if(s){var a=E(s,n);if(a){if(a===h)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=l(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}(t,n,s),i}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(T){return{type:"throw",arg:T}}}t.wrap=f;var h={};function p(){}function d(){}function v(){}var m={};c(m,s,(function(){return this}));var y=Object.getPrototypeOf,g=y&&y(y(L([])));g&&g!==e&&n.call(g,s)&&(m=g);var w=v.prototype=p.prototype=Object.create(m);function b(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function o(i,s,a,u){var c=l(t[i],t,s);if("throw"!==c.type){var f=c.arg,h=f.value;return h&&"object"==(0,r.Z)(h)&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){o("next",t,a,u)}),(function(t){o("throw",t,a,u)})):e.resolve(h).then((function(t){f.value=t,a(f)}),(function(t){return o("throw",t,a,u)}))}u(c.arg)}var i;this._invoke=function(t,n){function r(){return new e((function(e,r){o(t,n,e,r)}))}return i=i?i.then(r,r):r()}}function E(t,e){var n=t.iterator[e.method];if(void 0===n){if(e.delegate=null,"throw"===e.method){if(t.iterator["return"]&&(e.method="return",e.arg=void 0,E(t,e),"throw"===e.method))return h;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var r=l(n,t.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,h;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function L(t){if(t){var e=t[s];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:N}}function N(){return{value:void 0,done:!0}}return d.prototype=v,c(w,"constructor",v),c(v,"constructor",d),d.displayName=c(v,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,c(t,u,"GeneratorFunction")),t.prototype=Object.create(w),t},t.awrap=function(t){return{__await:t}},b(x.prototype),c(x.prototype,a,(function(){return this})),t.AsyncIterator=x,t.async=function(e,n,r,o,i){void 0===i&&(i=Promise);var s=new x(f(e,n,r,o),i);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},b(w),c(w,u,"Generator"),c(w,s,(function(){return this})),c(w,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=L,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return s.type="throw",s.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var a=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(a&&u){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=t,s.arg=e,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;O(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:L(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),h}},t}}}]);
4
+ //# sourceMappingURL=844.js.map