openc3-cosmos-tool-cmdtlmserver 5.11.0 → 5.11.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
- "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[493],{1493:function(n,e,l){l.r(e),l.d(e,{default:function(){return d}});l(7950),l(4908);function t(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="475dd6441768cd6c0087d1ce09850d25c3988588",l=new Function("return this")(),o="__coverage__",c={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1018}},4:{start:{line:1,column:320},end:{line:1,column:334}},5:{start:{line:1,column:678},end:{line:1,column:873}},6:{start:{line:1,column:795},end:{line:1,column:829}},7:{start:{line:1,column:920},end:{line:1,column:1008}},8:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:304},end:{line:1,column:305}},loc:{start:{line:1,column:319},end:{line:1,column:335}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:659},end:{line:1,column:660}},loc:{start:{line:1,column:677},end:{line:1,column:874}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:778},end:{line:1,column:779}},loc:{start:{line:1,column:794},end:{line:1,column:830}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:901},end:{line:1,column:902}},loc:{start:{line:1,column:919},end:{line:1,column:1009}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"475dd6441768cd6c0087d1ce09850d25c3988588"},i=l[o]||(l[o]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return t=function(){return s},s}t(),t().s[0]++;var o=function(){t().f[0]++;var n=(t().s[1]++,this),e=(t().s[2]++,n._self._c);return t().s[3]++,e("v-card",[e("v-card-title",[n._v(" "+n._s(n.data.length)+" Routers "),e("v-spacer"),e("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){t().f[1]++,t().s[4]++,n.search=e},expression:"search"}})],1),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"custom-sort":n.sortTable,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"routers-table"},scopedSlots:n._u([{key:"item.connect",fn:function(l){var o=l.item;return t().f[2]++,t().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return t().f[3]++,t().s[6]++,n.connectDisconnect(o)}}},[n._v(" "+n._s(o.connect)+" ")])]}},{key:"item.connected",fn:function(l){var o=l.item;return t().f[4]++,t().s[7]++,[e("span",{class:o.connectedClass},[n._v(" "+n._s(o.connected)+" ")])]}}])})],1)},c=(t().s[8]++,[]),i=l(8081),s=(l(1245),l(3430),l(6728),l(4872));function a(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="ca90755a1f96d204208672fcc6c4e6c725936ce6",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:11,column:4},end:{line:32,column:5}},1:{start:{line:37,column:6},end:{line:84,column:8}},2:{start:{line:38,column:8},end:{line:83,column:9}},3:{start:{line:38,column:21},end:{line:38,column:22}},4:{start:{line:39,column:23},end:{line:39,column:31}},5:{start:{line:40,column:21},end:{line:40,column:30}},6:{start:{line:42,column:10},end:{line:82,column:11}},7:{start:{line:44,column:12},end:{line:46,column:13}},8:{start:{line:45,column:14},end:{line:45,column:22}},9:{start:{line:47,column:12},end:{line:59,column:13}},10:{start:{line:48,column:14},end:{line:52,column:15}},11:{start:{line:49,column:16},end:{line:49,column:25}},12:{start:{line:51,column:16},end:{line:51,column:24}},13:{start:{line:54,column:14},end:{line:58,column:15}},14:{start:{line:55,column:16},end:{line:55,column:24}},15:{start:{line:57,column:16},end:{line:57,column:25}},16:{start:{line:60,column:17},end:{line:82,column:11}},17:{start:{line:62,column:12},end:{line:64,column:13}},18:{start:{line:63,column:14},end:{line:63,column:22}},19:{start:{line:65,column:12},end:{line:70,column:13}},20:{start:{line:67,column:14},end:{line:67,column:55}},21:{start:{line:69,column:14},end:{line:69,column:55}},22:{start:{line:73,column:12},end:{line:75,column:13}},23:{start:{line:74,column:14},end:{line:74,column:22}},24:{start:{line:76,column:12},end:{line:81,column:13}},25:{start:{line:78,column:14},end:{line:78,column:42}},26:{start:{line:80,column:14},end:{line:80,column:42}},27:{start:{line:85,column:6},end:{line:85,column:18}},28:{start:{line:88,column:6},end:{line:88,column:33}},29:{start:{line:89,column:6},end:{line:93,column:7}},30:{start:{line:90,column:8},end:{line:90,column:42}},31:{start:{line:92,column:8},end:{line:92,column:45}},32:{start:{line:96,column:6},end:{line:96,column:43}},33:{start:{line:96,column:37},end:{line:96,column:43}},34:{start:{line:97,column:6},end:{line:127,column:8}},35:{start:{line:98,column:8},end:{line:98,column:22}},36:{start:{line:99,column:8},end:{line:125,column:9}},37:{start:{line:100,column:24},end:{line:100,column:28}},38:{start:{line:101,column:31},end:{line:101,column:35}},39:{start:{line:102,column:10},end:{line:111,column:11}},40:{start:{line:103,column:12},end:{line:103,column:31}},41:{start:{line:104,column:12},end:{line:104,column:43}},42:{start:{line:105,column:17},end:{line:111,column:11}},43:{start:{line:106,column:12},end:{line:106,column:34}},44:{start:{line:107,column:12},end:{line:107,column:43}},45:{start:{line:109,column:12},end:{line:109,column:30}},46:{start:{line:110,column:12},end:{line:110,column:41}},47:{start:{line:112,column:10},end:{line:124,column:12}},48:{start:{line:126,column:8},end:{line:126,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:33,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:36},end:{line:86,column:5}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:37,column:17},end:{line:37,column:18}},loc:{start:{line:37,column:27},end:{line:84,column:7}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:87,column:4},end:{line:87,column:5}},loc:{start:{line:87,column:28},end:{line:94,column:5}},line:87},4:{name:"(anonymous_4)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:13},end:{line:128,column:5}},line:95},5:{name:"(anonymous_5)",decl:{start:{line:97,column:42},end:{line:97,column:43}},loc:{start:{line:97,column:52},end:{line:127,column:7}},line:97}},branchMap:{0:{loc:{start:{line:42,column:10},end:{line:82,column:11}},type:"if",locations:[{start:{line:42,column:10},end:{line:82,column:11}},{start:{line:60,column:17},end:{line:82,column:11}}],line:42},1:{loc:{start:{line:44,column:12},end:{line:46,column:13}},type:"if",locations:[{start:{line:44,column:12},end:{line:46,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},2:{loc:{start:{line:47,column:12},end:{line:59,column:13}},type:"if",locations:[{start:{line:47,column:12},end:{line:59,column:13}},{start:{line:53,column:19},end:{line:59,column:13}}],line:47},3:{loc:{start:{line:48,column:14},end:{line:52,column:15}},type:"if",locations:[{start:{line:48,column:14},end:{line:52,column:15}},{start:{line:50,column:21},end:{line:52,column:15}}],line:48},4:{loc:{start:{line:54,column:14},end:{line:58,column:15}},type:"if",locations:[{start:{line:54,column:14},end:{line:58,column:15}},{start:{line:56,column:21},end:{line:58,column:15}}],line:54},5:{loc:{start:{line:60,column:17},end:{line:82,column:11}},type:"if",locations:[{start:{line:60,column:17},end:{line:82,column:11}},{start:{line:71,column:17},end:{line:82,column:11}}],line:60},6:{loc:{start:{line:62,column:12},end:{line:64,column:13}},type:"if",locations:[{start:{line:62,column:12},end:{line:64,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:62},7:{loc:{start:{line:65,column:12},end:{line:70,column:13}},type:"if",locations:[{start:{line:65,column:12},end:{line:70,column:13}},{start:{line:68,column:19},end:{line:70,column:13}}],line:65},8:{loc:{start:{line:73,column:12},end:{line:75,column:13}},type:"if",locations:[{start:{line:73,column:12},end:{line:75,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},9:{loc:{start:{line:76,column:12},end:{line:81,column:13}},type:"if",locations:[{start:{line:76,column:12},end:{line:81,column:13}},{start:{line:79,column:19},end:{line:81,column:13}}],line:76},10:{loc:{start:{line:89,column:6},end:{line:93,column:7}},type:"if",locations:[{start:{line:89,column:6},end:{line:93,column:7}},{start:{line:91,column:13},end:{line:93,column:7}}],line:89},11:{loc:{start:{line:96,column:6},end:{line:96,column:43}},type:"if",locations:[{start:{line:96,column:6},end:{line:96,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:96},12:{loc:{start:{line:102,column:10},end:{line:111,column:11}},type:"if",locations:[{start:{line:102,column:10},end:{line:111,column:11}},{start:{line:105,column:17},end:{line:111,column:11}}],line:102},13:{loc:{start:{line:105,column:17},end:{line:111,column:11}},type:"if",locations:[{start:{line:105,column:17},end:{line:111,column:11}},{start:{line:108,column:17},end:{line:111,column:11}}],line:105}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0]},inputSourceMap:{version:3,sources:["RoutersTab.vue"],names:[],mappings:";AAkEA;;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;;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",file:"RoutersTab.vue",sourceRoot:"src/tools/CmdTlmServer",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#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ca90755a1f96d204208672fcc6c4e6c725936ce6"},c=l[t]||(l[t]={});c[n]&&c[n].hash===e||(c[n]=o);var i=c[n];return a=function(){return i},i}a();var u={mixins:[s.Z],props:{tabId:Number,curTab:Number},data:function(){return a().f[0]++,a().s[0]++,{search:"",data:[],buttonsDisabled:!1,headers:[{text:"Name",value:"name"},{text:"Connect / Disconnect",value:"connect",sortable:!1,filterable:!1},{text:"Connected",value:"connected"},{text:"Clients",value:"clients"},{text:"Tx Q Size",value:"tx_q_size"},{text:"Rx Q Size",value:"rx_q_size"},{text:"Tx Bytes",value:"tx_bytes"},{text:"Rx Bytes",value:"rx_bytes"},{text:"Cmd Pkts",value:"cmd_pkts"},{text:"Tlm Pkts",value:"tlm_pkts"}]}},methods:{sortTable:function(n,e,l){return a().f[1]++,a().s[1]++,n.sort((function(n,t){a().f[2]++,a().s[2]++;for(var o=(a().s[3]++,0);o<e.length;o++){var c=(a().s[4]++,e[o]),i=(a().s[5]++,l[o]);if(a().s[6]++,"connected"===c){if(a().b[0][0]++,a().s[7]++,n[c]===t[c]){a().b[1][0]++,a().s[8]++;continue}return a().b[1][1]++,a().s[9]++,i?(a().b[2][1]++,a().s[13]++,"CONNECTED"===n[c]?(a().b[4][0]++,a().s[14]++,1):(a().b[4][1]++,a().s[15]++,-1)):(a().b[2][0]++,a().s[10]++,"CONNECTED"===n[c]?(a().b[3][0]++,a().s[11]++,-1):(a().b[3][1]++,a().s[12]++,1))}if(a().b[0][1]++,a().s[16]++,"name"===c){if(a().b[5][0]++,a().s[17]++,n[c]===t[c]){a().b[6][0]++,a().s[18]++;continue}return a().b[6][1]++,a().s[19]++,i?(a().b[7][1]++,a().s[21]++,t[c].localeCompare(n[c])):(a().b[7][0]++,a().s[20]++,n[c].localeCompare(t[c]))}if(a().b[5][1]++,a().s[22]++,n[c]!==t[c])return a().b[8][1]++,a().s[24]++,i?(a().b[9][1]++,a().s[26]++,t[c]-n[c]):(a().b[9][0]++,a().s[25]++,n[c]-t[c]);a().b[8][0]++,a().s[23]++}})),a().s[27]++,n},connectDisconnect:function(n){a().f[3]++,a().s[28]++,this.buttonsDisabled=!0,a().s[29]++,"DISCONNECTED"===n.connected?(a().b[10][0]++,a().s[30]++,this.api.connect_router(n.name)):(a().b[10][1]++,a().s[31]++,this.api.disconnect_router(n.name))},update:function(){var n=this;if(a().f[4]++,a().s[32]++,this.tabId!=this.curTab)return a().b[11][0]++,void a().s[33]++;a().b[11][1]++,a().s[34]++,this.api.get_all_router_info().then((function(e){a().f[5]++,a().s[35]++,n.data=[],a().s[36]++;var l,t=(0,i.Z)(e);try{for(t.s();!(l=t.n()).done;){var o=l.value,c=(a().s[37]++,null),s=(a().s[38]++,null);a().s[39]++,"DISCONNECTED"==o[1]?(a().b[12][0]++,a().s[40]++,c="Connect",a().s[41]++,s="openc3-white"):(a().b[12][1]++,a().s[42]++,"CONNECTED"==o[1]?(a().b[13][0]++,a().s[43]++,c="Disconnect",a().s[44]++,s="openc3-green"):(a().b[13][1]++,a().s[45]++,c="Cancel",a().s[46]++,s="openc3-red")),a().s[47]++,n.data.push({name:o[0],connect:c,connectedClass:s,connected:o[1],clients:o[2],tx_q_size:o[3],rx_q_size:o[4],tx_bytes:o[5],rx_bytes:o[6],cmd_pkts:o[7],tlm_pkts:o[8]})}}catch(u){t.e(u)}finally{t.f()}a().s[48]++,n.buttonsDisabled=!1}))}}},r=u,m=l(3483),A=(0,m.Z)(r,o,c,!1,null,null,null),d=A.exports},8081:function(n,e,l){l.d(e,{Z:function(){return o}});l(4115),l(634),l(8188),l(796),l(8673),l(6886),l(1372);var t=l(1059);function o(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 o=0,c=function(){};return{s:c,n:function(){return o>=n.length?{done:!0}:{done:!1,value:n[o++]}},e:function(n){throw n},f:c}}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 i,s=!0,a=!1;return{s:function(){l=l.call(n)},n:function(){var n=l.next();return s=n.done,n},e:function(n){a=!0,i=n},f:function(){try{s||null==l["return"]||l["return"]()}finally{if(a)throw i}}}}}}]);
1
+ "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[493],{1493:function(n,e,l){l.r(e),l.d(e,{default:function(){return d}});l(7950),l(4908);function t(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="b870fff8a273687b8008ff63c40ae6702d36430b",l=new Function("return this")(),o="__coverage__",c={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1084}},4:{start:{line:1,column:342},end:{line:1,column:356}},5:{start:{line:1,column:712},end:{line:1,column:923}},6:{start:{line:1,column:829},end:{line:1,column:863}},7:{start:{line:1,column:970},end:{line:1,column:1074}},8:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:326},end:{line:1,column:327}},loc:{start:{line:1,column:341},end:{line:1,column:357}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:693},end:{line:1,column:694}},loc:{start:{line:1,column:711},end:{line:1,column:924}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:812},end:{line:1,column:813}},loc:{start:{line:1,column:828},end:{line:1,column:864}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:951},end:{line:1,column:952}},loc:{start:{line:1,column:969},end:{line:1,column:1075}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"b870fff8a273687b8008ff63c40ae6702d36430b"},i=l[o]||(l[o]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return t=function(){return s},s}t(),t().s[0]++;var o=function(){t().f[0]++;var n=(t().s[1]++,this),e=(t().s[2]++,n._self._c);return t().s[3]++,e("v-card",[e("v-card-title",[n._v("\n "+n._s(n.data.length)+" Routers\n "),e("v-spacer"),n._v(" "),e("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){t().f[1]++,t().s[4]++,n.search=e},expression:"search"}})],1),n._v(" "),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"custom-sort":n.sortTable,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"routers-table"},scopedSlots:n._u([{key:"item.connect",fn:function(l){var o=l.item;return t().f[2]++,t().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return t().f[3]++,t().s[6]++,n.connectDisconnect(o)}}},[n._v("\n "+n._s(o.connect)+"\n ")])]}},{key:"item.connected",fn:function(l){var o=l.item;return t().f[4]++,t().s[7]++,[e("span",{class:o.connectedClass},[n._v("\n "+n._s(o.connected)+"\n ")])]}}])})],1)},c=(t().s[8]++,[]),i=l(8081),s=(l(1245),l(3430),l(6728),l(4872));function a(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="ca90755a1f96d204208672fcc6c4e6c725936ce6",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:11,column:4},end:{line:32,column:5}},1:{start:{line:37,column:6},end:{line:84,column:8}},2:{start:{line:38,column:8},end:{line:83,column:9}},3:{start:{line:38,column:21},end:{line:38,column:22}},4:{start:{line:39,column:23},end:{line:39,column:31}},5:{start:{line:40,column:21},end:{line:40,column:30}},6:{start:{line:42,column:10},end:{line:82,column:11}},7:{start:{line:44,column:12},end:{line:46,column:13}},8:{start:{line:45,column:14},end:{line:45,column:22}},9:{start:{line:47,column:12},end:{line:59,column:13}},10:{start:{line:48,column:14},end:{line:52,column:15}},11:{start:{line:49,column:16},end:{line:49,column:25}},12:{start:{line:51,column:16},end:{line:51,column:24}},13:{start:{line:54,column:14},end:{line:58,column:15}},14:{start:{line:55,column:16},end:{line:55,column:24}},15:{start:{line:57,column:16},end:{line:57,column:25}},16:{start:{line:60,column:17},end:{line:82,column:11}},17:{start:{line:62,column:12},end:{line:64,column:13}},18:{start:{line:63,column:14},end:{line:63,column:22}},19:{start:{line:65,column:12},end:{line:70,column:13}},20:{start:{line:67,column:14},end:{line:67,column:55}},21:{start:{line:69,column:14},end:{line:69,column:55}},22:{start:{line:73,column:12},end:{line:75,column:13}},23:{start:{line:74,column:14},end:{line:74,column:22}},24:{start:{line:76,column:12},end:{line:81,column:13}},25:{start:{line:78,column:14},end:{line:78,column:42}},26:{start:{line:80,column:14},end:{line:80,column:42}},27:{start:{line:85,column:6},end:{line:85,column:18}},28:{start:{line:88,column:6},end:{line:88,column:33}},29:{start:{line:89,column:6},end:{line:93,column:7}},30:{start:{line:90,column:8},end:{line:90,column:42}},31:{start:{line:92,column:8},end:{line:92,column:45}},32:{start:{line:96,column:6},end:{line:96,column:43}},33:{start:{line:96,column:37},end:{line:96,column:43}},34:{start:{line:97,column:6},end:{line:127,column:8}},35:{start:{line:98,column:8},end:{line:98,column:22}},36:{start:{line:99,column:8},end:{line:125,column:9}},37:{start:{line:100,column:24},end:{line:100,column:28}},38:{start:{line:101,column:31},end:{line:101,column:35}},39:{start:{line:102,column:10},end:{line:111,column:11}},40:{start:{line:103,column:12},end:{line:103,column:31}},41:{start:{line:104,column:12},end:{line:104,column:43}},42:{start:{line:105,column:17},end:{line:111,column:11}},43:{start:{line:106,column:12},end:{line:106,column:34}},44:{start:{line:107,column:12},end:{line:107,column:43}},45:{start:{line:109,column:12},end:{line:109,column:30}},46:{start:{line:110,column:12},end:{line:110,column:41}},47:{start:{line:112,column:10},end:{line:124,column:12}},48:{start:{line:126,column:8},end:{line:126,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:33,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:36},end:{line:86,column:5}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:37,column:17},end:{line:37,column:18}},loc:{start:{line:37,column:27},end:{line:84,column:7}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:87,column:4},end:{line:87,column:5}},loc:{start:{line:87,column:28},end:{line:94,column:5}},line:87},4:{name:"(anonymous_4)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:13},end:{line:128,column:5}},line:95},5:{name:"(anonymous_5)",decl:{start:{line:97,column:42},end:{line:97,column:43}},loc:{start:{line:97,column:52},end:{line:127,column:7}},line:97}},branchMap:{0:{loc:{start:{line:42,column:10},end:{line:82,column:11}},type:"if",locations:[{start:{line:42,column:10},end:{line:82,column:11}},{start:{line:60,column:17},end:{line:82,column:11}}],line:42},1:{loc:{start:{line:44,column:12},end:{line:46,column:13}},type:"if",locations:[{start:{line:44,column:12},end:{line:46,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},2:{loc:{start:{line:47,column:12},end:{line:59,column:13}},type:"if",locations:[{start:{line:47,column:12},end:{line:59,column:13}},{start:{line:53,column:19},end:{line:59,column:13}}],line:47},3:{loc:{start:{line:48,column:14},end:{line:52,column:15}},type:"if",locations:[{start:{line:48,column:14},end:{line:52,column:15}},{start:{line:50,column:21},end:{line:52,column:15}}],line:48},4:{loc:{start:{line:54,column:14},end:{line:58,column:15}},type:"if",locations:[{start:{line:54,column:14},end:{line:58,column:15}},{start:{line:56,column:21},end:{line:58,column:15}}],line:54},5:{loc:{start:{line:60,column:17},end:{line:82,column:11}},type:"if",locations:[{start:{line:60,column:17},end:{line:82,column:11}},{start:{line:71,column:17},end:{line:82,column:11}}],line:60},6:{loc:{start:{line:62,column:12},end:{line:64,column:13}},type:"if",locations:[{start:{line:62,column:12},end:{line:64,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:62},7:{loc:{start:{line:65,column:12},end:{line:70,column:13}},type:"if",locations:[{start:{line:65,column:12},end:{line:70,column:13}},{start:{line:68,column:19},end:{line:70,column:13}}],line:65},8:{loc:{start:{line:73,column:12},end:{line:75,column:13}},type:"if",locations:[{start:{line:73,column:12},end:{line:75,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},9:{loc:{start:{line:76,column:12},end:{line:81,column:13}},type:"if",locations:[{start:{line:76,column:12},end:{line:81,column:13}},{start:{line:79,column:19},end:{line:81,column:13}}],line:76},10:{loc:{start:{line:89,column:6},end:{line:93,column:7}},type:"if",locations:[{start:{line:89,column:6},end:{line:93,column:7}},{start:{line:91,column:13},end:{line:93,column:7}}],line:89},11:{loc:{start:{line:96,column:6},end:{line:96,column:43}},type:"if",locations:[{start:{line:96,column:6},end:{line:96,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:96},12:{loc:{start:{line:102,column:10},end:{line:111,column:11}},type:"if",locations:[{start:{line:102,column:10},end:{line:111,column:11}},{start:{line:105,column:17},end:{line:111,column:11}}],line:102},13:{loc:{start:{line:105,column:17},end:{line:111,column:11}},type:"if",locations:[{start:{line:105,column:17},end:{line:111,column:11}},{start:{line:108,column:17},end:{line:111,column:11}}],line:105}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0]},inputSourceMap:{version:3,sources:["RoutersTab.vue"],names:[],mappings:";AAkEA;;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;;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",file:"RoutersTab.vue",sourceRoot:"src/tools/CmdTlmServer",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#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ca90755a1f96d204208672fcc6c4e6c725936ce6"},c=l[t]||(l[t]={});c[n]&&c[n].hash===e||(c[n]=o);var i=c[n];return a=function(){return i},i}a();var u={mixins:[s.Z],props:{tabId:Number,curTab:Number},data:function(){return a().f[0]++,a().s[0]++,{search:"",data:[],buttonsDisabled:!1,headers:[{text:"Name",value:"name"},{text:"Connect / Disconnect",value:"connect",sortable:!1,filterable:!1},{text:"Connected",value:"connected"},{text:"Clients",value:"clients"},{text:"Tx Q Size",value:"tx_q_size"},{text:"Rx Q Size",value:"rx_q_size"},{text:"Tx Bytes",value:"tx_bytes"},{text:"Rx Bytes",value:"rx_bytes"},{text:"Cmd Pkts",value:"cmd_pkts"},{text:"Tlm Pkts",value:"tlm_pkts"}]}},methods:{sortTable:function(n,e,l){return a().f[1]++,a().s[1]++,n.sort((function(n,t){a().f[2]++,a().s[2]++;for(var o=(a().s[3]++,0);o<e.length;o++){var c=(a().s[4]++,e[o]),i=(a().s[5]++,l[o]);if(a().s[6]++,"connected"===c){if(a().b[0][0]++,a().s[7]++,n[c]===t[c]){a().b[1][0]++,a().s[8]++;continue}return a().b[1][1]++,a().s[9]++,i?(a().b[2][1]++,a().s[13]++,"CONNECTED"===n[c]?(a().b[4][0]++,a().s[14]++,1):(a().b[4][1]++,a().s[15]++,-1)):(a().b[2][0]++,a().s[10]++,"CONNECTED"===n[c]?(a().b[3][0]++,a().s[11]++,-1):(a().b[3][1]++,a().s[12]++,1))}if(a().b[0][1]++,a().s[16]++,"name"===c){if(a().b[5][0]++,a().s[17]++,n[c]===t[c]){a().b[6][0]++,a().s[18]++;continue}return a().b[6][1]++,a().s[19]++,i?(a().b[7][1]++,a().s[21]++,t[c].localeCompare(n[c])):(a().b[7][0]++,a().s[20]++,n[c].localeCompare(t[c]))}if(a().b[5][1]++,a().s[22]++,n[c]!==t[c])return a().b[8][1]++,a().s[24]++,i?(a().b[9][1]++,a().s[26]++,t[c]-n[c]):(a().b[9][0]++,a().s[25]++,n[c]-t[c]);a().b[8][0]++,a().s[23]++}})),a().s[27]++,n},connectDisconnect:function(n){a().f[3]++,a().s[28]++,this.buttonsDisabled=!0,a().s[29]++,"DISCONNECTED"===n.connected?(a().b[10][0]++,a().s[30]++,this.api.connect_router(n.name)):(a().b[10][1]++,a().s[31]++,this.api.disconnect_router(n.name))},update:function(){var n=this;if(a().f[4]++,a().s[32]++,this.tabId!=this.curTab)return a().b[11][0]++,void a().s[33]++;a().b[11][1]++,a().s[34]++,this.api.get_all_router_info().then((function(e){a().f[5]++,a().s[35]++,n.data=[],a().s[36]++;var l,t=(0,i.Z)(e);try{for(t.s();!(l=t.n()).done;){var o=l.value,c=(a().s[37]++,null),s=(a().s[38]++,null);a().s[39]++,"DISCONNECTED"==o[1]?(a().b[12][0]++,a().s[40]++,c="Connect",a().s[41]++,s="openc3-white"):(a().b[12][1]++,a().s[42]++,"CONNECTED"==o[1]?(a().b[13][0]++,a().s[43]++,c="Disconnect",a().s[44]++,s="openc3-green"):(a().b[13][1]++,a().s[45]++,c="Cancel",a().s[46]++,s="openc3-red")),a().s[47]++,n.data.push({name:o[0],connect:c,connectedClass:s,connected:o[1],clients:o[2],tx_q_size:o[3],rx_q_size:o[4],tx_bytes:o[5],rx_bytes:o[6],cmd_pkts:o[7],tlm_pkts:o[8]})}}catch(u){t.e(u)}finally{t.f()}a().s[48]++,n.buttonsDisabled=!1}))}}},r=u,m=l(3483),A=(0,m.Z)(r,o,c,!1,null,null,null),d=A.exports},8081:function(n,e,l){l.d(e,{Z:function(){return o}});l(4115),l(634),l(8188),l(796),l(8673),l(6886),l(1372);var t=l(1059);function o(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 o=0,c=function(){};return{s:c,n:function(){return o>=n.length?{done:!0}:{done:!1,value:n[o++]}},e:function(n){throw n},f:c}}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 i,s=!0,a=!1;return{s:function(){l=l.call(n)},n:function(){var n=l.next();return s=n.done,n},e:function(n){a=!0,i=n},f:function(){try{s||null==l["return"]||l["return"]()}finally{if(a)throw i}}}}}}]);
2
2
  //# sourceMappingURL=493.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/493.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?2832","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?a9bb","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Routers \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"custom-sort\":_vm.sortTable,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"routers-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":_vm.buttonsDisabled},on:{\"click\":function($event){return _vm.connectDisconnect(item)}}},[_vm._v(\" \"+_vm._s(item.connect)+\" \")])]}},{key:\"item.connected\",fn:function({ item }){return [_c('span',{class:item.connectedClass},[_vm._v(\" \"+_vm._s(item.connected)+\" \")])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoutersTab.vue?vue&type=template&id=b1b8a9de&\"\nimport script from \"./RoutersTab.vue?vue&type=script&lang=js&\"\nexport * from \"./RoutersTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/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 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 var F = function F() {};\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 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 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":["cov_105jidd1oz","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","attrs","model","value","search","callback","$$v","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","_ref","item","buttonsDisabled","on","$event","connectDisconnect","connect","_ref2","class","connectedClass","connected","staticRenderFns","mixins","Updater","props","tabId","Number","curTab","text","sortable","filterable","methods","items","index","isDesc","sort","a","b","i","column","desc","localeCompare","api","connect_router","name","disconnect_router","update","_this","get_all_router_info","then","info","_step","_iterator","_createForOfIteratorHelper","n","done","int","push","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","err","e","component","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","F","_e","TypeError","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""}
1
+ {"version":3,"file":"js/493.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?2832","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?a9bb","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Routers\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"custom-sort\":_vm.sortTable,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"routers-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":_vm.buttonsDisabled},on:{\"click\":function($event){return _vm.connectDisconnect(item)}}},[_vm._v(\"\\n \"+_vm._s(item.connect)+\"\\n \")])]}},{key:\"item.connected\",fn:function({ item }){return [_c('span',{class:item.connectedClass},[_vm._v(\"\\n \"+_vm._s(item.connected)+\"\\n \")])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoutersTab.vue?vue&type=template&id=b1b8a9de&\"\nimport script from \"./RoutersTab.vue?vue&type=script&lang=js&\"\nexport * from \"./RoutersTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/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 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 var F = function F() {};\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 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 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":["cov_105jidd1oz","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","attrs","model","value","search","callback","$$v","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","_ref","item","buttonsDisabled","on","$event","connectDisconnect","connect","_ref2","class","connectedClass","connected","staticRenderFns","mixins","Updater","props","tabId","Number","curTab","text","sortable","filterable","methods","items","index","isDesc","sort","a","b","i","column","desc","localeCompare","api","connect_router","name","disconnect_router","update","_this","get_all_router_info","then","info","_step","_iterator","_createForOfIteratorHelper","n","done","int","push","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","err","e","component","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","F","_e","TypeError","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[916],{3916:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return p}});t(7950),t(4908);function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="6ab0d73706fa7c0dc987925b5fe31277b476ce6e",t=new Function("return this")(),l="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:5,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:4,column:84}},4:{start:{line:1,column:330},end:{line:1,column:344}},5:{start:{line:6,column:22},end:{line:6,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:5,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:314},end:{line:1,column:315}},loc:{start:{line:1,column:329},end:{line:1,column:345}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6ab0d73706fa7c0dc987925b5fe31277b476ce6e"},r=t[l]||(t[l]={});r[e]&&r[e].hash===n||(r[e]=s);var o=r[e];return a=function(){return o},o}a(),a().s[0]++;var l=function(){a().f[0]++;var e=(a().s[1]++,this),n=(a().s[2]++,e._self._c);return a().s[3]++,n("div",[n("v-card",[n("v-card-title",[e._v(" "+e._s(e.data.length)+" Metrics "),n("v-spacer"),n("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){a().f[1]++,a().s[4]++,e.search=n},expression:"search"}})],1),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100,1e3],showFirstLastPage:!0},"calculate-widths":"","multi-sort":"","data-test":"metrics-table"}})],1)],1)},s=(a().s[5]++,[]),r=t(7302),o=(t(1245),t(5883),t(6728),t(4872)),i=t(8123);function c(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="c538a4d97bd8f6141e1539fa3abd7ca8ae091605",t=new Function("return this")(),a="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:12,column:4},end:{line:35,column:5}},1:{start:{line:39,column:6},end:{line:43,column:7}},2:{start:{line:40,column:8},end:{line:40,column:44}},3:{start:{line:41,column:13},end:{line:43,column:7}},4:{start:{line:42,column:8},end:{line:42,column:43}},5:{start:{line:46,column:6},end:{line:46,column:43}},6:{start:{line:46,column:37},end:{line:46,column:43}},7:{start:{line:47,column:6},end:{line:52,column:8}},8:{start:{line:48,column:8},end:{line:48,column:22}},9:{start:{line:49,column:8},end:{line:51,column:9}},10:{start:{line:50,column:10},end:{line:50,column:60}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:36,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:38,column:4},end:{line:38,column:5}},loc:{start:{line:38,column:29},end:{line:44,column:5}},line:38},2:{name:"(anonymous_2)",decl:{start:{line:45,column:4},end:{line:45,column:5}},loc:{start:{line:45,column:13},end:{line:53,column:5}},line:45},3:{name:"(anonymous_3)",decl:{start:{line:47,column:34},end:{line:47,column:35}},loc:{start:{line:47,column:47},end:{line:52,column:7}},line:47}},branchMap:{0:{loc:{start:{line:39,column:6},end:{line:43,column:7}},type:"if",locations:[{start:{line:39,column:6},end:{line:43,column:7}},{start:{line:41,column:13},end:{line:43,column:7}}],line:39},1:{loc:{start:{line:41,column:13},end:{line:43,column:7}},type:"if",locations:[{start:{line:41,column:13},end:{line:43,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},2:{loc:{start:{line:46,column:6},end:{line:46,column:43}},type:"if",locations:[{start:{line:46,column:6},end:{line:46,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:46}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["StatusTab.vue"],names:[],mappings:";AAwDA;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",file:"StatusTab.vue",sourceRoot:"src/tools/CmdTlmServer",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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n \x3c!-- Use a container here so we can do cols=\"auto\" to resize v-select --\x3e\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n<\/script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c538a4d97bd8f6141e1539fa3abd7ca8ae091605"},s=t[a]||(t[a]={});s[e]&&s[e].hash===n||(s[e]=l);var r=s[e];return c=function(){return r},r}c();var u={mixins:[o.Z],props:{tabId:Number,curTab:Number},data:function(){return c().f[0]++,c().s[0]++,{api:new i.k,apiStatus:[],apiHeaders:[{text:"Port",value:"port"},{text:"Clients",value:"clients"},{text:"Requests",value:"requests"},{text:"Avg Request Time",value:"avgTime"},{text:"Server Threads",value:"threads"}],backgroundTasks:[],backgroundHeaders:[{text:"Name",value:"name"},{text:"State",value:"state"},{text:"Status",value:"status"},{text:"Control",value:"control"}],search:"",data:[],headers:[{text:"Metric",value:"metric_name"},{text:"Value",value:"value"}]}},methods:{taskControl:function(e,n){c().f[1]++,c().s[1]++,"Start"==n?(c().b[0][0]++,c().s[2]++,this.api.start_background_task(e)):(c().b[0][1]++,c().s[3]++,"Stop"==n?(c().b[1][0]++,c().s[4]++,this.api.stop_background_task(e)):c().b[1][1]++)},update:function(){var e=this;if(c().f[2]++,c().s[5]++,this.tabId!=this.curTab)return c().b[2][0]++,void c().s[6]++;c().b[2][1]++,c().s[7]++,this.api.get_metrics().then((function(n){c().f[3]++,c().s[8]++,e.data=[],c().s[9]++;for(var t=0,a=Object.entries(n);t<a.length;t++){var l=(0,r.Z)(a[t],2),s=l[0],o=l[1];c().s[10]++,e.data.push({metric_name:s,value:o})}}))}}},d=u,m=(t(460),t(3483)),A=(0,m.Z)(d,l,s,!1,null,"44b09238",null),p=A.exports},5883:function(e,n,t){"use strict";var a=t(3103),l=t(7664).entries;a({target:"Object",stat:!0},{entries:function(e){return l(e)}})},825:function(e,n,t){"use strict";t.r(n);var a=t(9601),l=t.n(a),s=t(2609),r=t.n(s),o=r()(l());o.push([e.id,".container[data-v-44b09238],.theme--dark.v-card[data-v-44b09238],.theme--dark.v-sheet[data-v-44b09238]{background-color:var(--v-tertiary-darken2)}",""]),n["default"]=o},460:function(e,n,t){var a=t(825);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var l=t(3514).Z;l("5f1a43b8",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
1
+ (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[916],{3916:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return v}});t(7950),t(4908);function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="32f8009a4b31635c94e3276c5bf8a0cbf2be6d30",t=new Function("return this")(),l="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:5,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:4,column:84}},4:{start:{line:1,column:356},end:{line:1,column:370}},5:{start:{line:6,column:22},end:{line:6,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:5,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:340},end:{line:1,column:341}},loc:{start:{line:1,column:355},end:{line:1,column:371}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"32f8009a4b31635c94e3276c5bf8a0cbf2be6d30"},r=t[l]||(t[l]={});r[e]&&r[e].hash===n||(r[e]=s);var o=r[e];return a=function(){return o},o}a(),a().s[0]++;var l=function(){a().f[0]++;var e=(a().s[1]++,this),n=(a().s[2]++,e._self._c);return a().s[3]++,n("div",[n("v-card",[n("v-card-title",[e._v("\n "+e._s(e.data.length)+" Metrics\n "),n("v-spacer"),e._v(" "),n("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){a().f[1]++,a().s[4]++,e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100,1e3],showFirstLastPage:!0},"calculate-widths":"","multi-sort":"","data-test":"metrics-table"}})],1)],1)},s=(a().s[5]++,[]),r=t(7302),o=(t(1245),t(5883),t(6728),t(4872)),i=t(8123);function c(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="c538a4d97bd8f6141e1539fa3abd7ca8ae091605",t=new Function("return this")(),a="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:12,column:4},end:{line:35,column:5}},1:{start:{line:39,column:6},end:{line:43,column:7}},2:{start:{line:40,column:8},end:{line:40,column:44}},3:{start:{line:41,column:13},end:{line:43,column:7}},4:{start:{line:42,column:8},end:{line:42,column:43}},5:{start:{line:46,column:6},end:{line:46,column:43}},6:{start:{line:46,column:37},end:{line:46,column:43}},7:{start:{line:47,column:6},end:{line:52,column:8}},8:{start:{line:48,column:8},end:{line:48,column:22}},9:{start:{line:49,column:8},end:{line:51,column:9}},10:{start:{line:50,column:10},end:{line:50,column:60}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:36,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:38,column:4},end:{line:38,column:5}},loc:{start:{line:38,column:29},end:{line:44,column:5}},line:38},2:{name:"(anonymous_2)",decl:{start:{line:45,column:4},end:{line:45,column:5}},loc:{start:{line:45,column:13},end:{line:53,column:5}},line:45},3:{name:"(anonymous_3)",decl:{start:{line:47,column:34},end:{line:47,column:35}},loc:{start:{line:47,column:47},end:{line:52,column:7}},line:47}},branchMap:{0:{loc:{start:{line:39,column:6},end:{line:43,column:7}},type:"if",locations:[{start:{line:39,column:6},end:{line:43,column:7}},{start:{line:41,column:13},end:{line:43,column:7}}],line:39},1:{loc:{start:{line:41,column:13},end:{line:43,column:7}},type:"if",locations:[{start:{line:41,column:13},end:{line:43,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},2:{loc:{start:{line:46,column:6},end:{line:46,column:43}},type:"if",locations:[{start:{line:46,column:6},end:{line:46,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:46}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["StatusTab.vue"],names:[],mappings:";AAwDA;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",file:"StatusTab.vue",sourceRoot:"src/tools/CmdTlmServer",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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n \x3c!-- Use a container here so we can do cols=\"auto\" to resize v-select --\x3e\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n<\/script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c538a4d97bd8f6141e1539fa3abd7ca8ae091605"},s=t[a]||(t[a]={});s[e]&&s[e].hash===n||(s[e]=l);var r=s[e];return c=function(){return r},r}c();var u={mixins:[o.Z],props:{tabId:Number,curTab:Number},data:function(){return c().f[0]++,c().s[0]++,{api:new i.k,apiStatus:[],apiHeaders:[{text:"Port",value:"port"},{text:"Clients",value:"clients"},{text:"Requests",value:"requests"},{text:"Avg Request Time",value:"avgTime"},{text:"Server Threads",value:"threads"}],backgroundTasks:[],backgroundHeaders:[{text:"Name",value:"name"},{text:"State",value:"state"},{text:"Status",value:"status"},{text:"Control",value:"control"}],search:"",data:[],headers:[{text:"Metric",value:"metric_name"},{text:"Value",value:"value"}]}},methods:{taskControl:function(e,n){c().f[1]++,c().s[1]++,"Start"==n?(c().b[0][0]++,c().s[2]++,this.api.start_background_task(e)):(c().b[0][1]++,c().s[3]++,"Stop"==n?(c().b[1][0]++,c().s[4]++,this.api.stop_background_task(e)):c().b[1][1]++)},update:function(){var e=this;if(c().f[2]++,c().s[5]++,this.tabId!=this.curTab)return c().b[2][0]++,void c().s[6]++;c().b[2][1]++,c().s[7]++,this.api.get_metrics().then((function(n){c().f[3]++,c().s[8]++,e.data=[],c().s[9]++;for(var t=0,a=Object.entries(n);t<a.length;t++){var l=(0,r.Z)(a[t],2),s=l[0],o=l[1];c().s[10]++,e.data.push({metric_name:s,value:o})}}))}}},d=u,m=(t(460),t(3483)),A=(0,m.Z)(d,l,s,!1,null,"44b09238",null),v=A.exports},5883:function(e,n,t){"use strict";var a=t(3103),l=t(7664).entries;a({target:"Object",stat:!0},{entries:function(e){return l(e)}})},825:function(e,n,t){"use strict";t.r(n);var a=t(9601),l=t.n(a),s=t(2609),r=t.n(s),o=r()(l());o.push([e.id,".container[data-v-44b09238],.theme--dark.v-card[data-v-44b09238],.theme--dark.v-sheet[data-v-44b09238]{background-color:var(--v-tertiary-darken2)}",""]),n["default"]=o},460:function(e,n,t){var a=t(825);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var l=t(3514).Z;l("5f1a43b8",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
2
  //# sourceMappingURL=916.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/916.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?0c8b","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?7de2","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/modules/es.object.entries.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?82df","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?b814"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Metrics \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"metrics-table\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <!-- Use a container here so we can do cols=\"auto\" to resize v-select -->\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusTab.vue?vue&type=template&id=44b09238&scoped=true&\"\nimport script from \"./StatusTab.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusTab.vue?vue&type=style&index=0&id=44b09238&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44b09238\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container[data-v-44b09238],.theme--dark.v-card[data-v-44b09238],.theme--dark.v-sheet[data-v-44b09238]{background-color:var(--v-tertiary-darken2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=style&index=0&id=44b09238&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5f1a43b8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_2ntlonrahl","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","showFirstLastPage","staticRenderFns","mixins","Updater","props","tabId","Number","curTab","api","OpenC3Api","apiStatus","apiHeaders","text","backgroundTasks","backgroundHeaders","methods","taskControl","name","state","b","start_background_task","stop_background_task","update","_this","get_metrics","then","metrics","_i","_Object$entries","Object","entries","_Object$entries$_i","_slicedToArray","key","push","metric_name","component","$","$entries","target","stat","O","___CSS_LOADER_EXPORT___","module","id","content","__esModule","default","locals","exports","add"],"sourceRoot":""}
1
+ {"version":3,"file":"js/916.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?0c8b","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?7de2","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/modules/es.object.entries.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?82df","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?b814"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Metrics\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"metrics-table\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <!-- Use a container here so we can do cols=\"auto\" to resize v-select -->\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusTab.vue?vue&type=template&id=44b09238&scoped=true&\"\nimport script from \"./StatusTab.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusTab.vue?vue&type=style&index=0&id=44b09238&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44b09238\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container[data-v-44b09238],.theme--dark.v-card[data-v-44b09238],.theme--dark.v-sheet[data-v-44b09238]{background-color:var(--v-tertiary-darken2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=style&index=0&id=44b09238&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5f1a43b8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_2ntlonrahl","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","showFirstLastPage","staticRenderFns","mixins","Updater","props","tabId","Number","curTab","api","OpenC3Api","apiStatus","apiHeaders","text","backgroundTasks","backgroundHeaders","methods","taskControl","name","state","b","start_background_task","stop_background_task","update","_this","get_metrics","then","metrics","_i","_Object$entries","Object","entries","_Object$entries$_i","_slicedToArray","key","push","metric_name","component","$","$entries","target","stat","O","___CSS_LOADER_EXPORT___","module","id","content","__esModule","default","locals","exports","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[970],{2970:function(e,n,t){"use strict";function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",n="9a1e1fff53b1c6060847a8db02ff9ccdc66f9625",t=new Function("return this")(),s="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1438}},4:{start:{line:1,column:237},end:{line:1,column:250}},5:{start:{line:1,column:417},end:{line:1,column:431}},6:{start:{line:1,column:493},end:{line:1,column:670}},7:{start:{line:1,column:578},end:{line:1,column:603}},8:{start:{line:1,column:1003},end:{line:1,column:1024}},9:{start:{line:1,column:1390},end:{line:1,column:1418}},10:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:221},end:{line:1,column:222}},loc:{start:{line:1,column:236},end:{line:1,column:251}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:401},end:{line:1,column:402}},loc:{start:{line:1,column:416},end:{line:1,column:432}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:473},end:{line:1,column:474}},loc:{start:{line:1,column:492},end:{line:1,column:671}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:561},end:{line:1,column:562}},loc:{start:{line:1,column:577},end:{line:1,column:604}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:987},end:{line:1,column:988}},loc:{start:{line:1,column:1002},end:{line:1,column:1025}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:1373},end:{line:1,column:1374}},loc:{start:{line:1,column:1389},end:{line:1,column:1419}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"9a1e1fff53b1c6060847a8db02ff9ccdc66f9625"},o=t[s]||(t[s]={});o[e]&&o[e].hash===n||(o[e]=l);var i=o[e];return a=function(){return i},i}t.r(n),t.d(n,{default:function(){return M}}),a(),a().s[0]++;var s=function(){a().f[0]++;var e=(a().s[1]++,this),n=(a().s[2]++,e._self._c);return a().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),e._v(" "),n("v-card",[n("v-expansion-panels",{model:{value:e.panel,callback:function(n){a().f[1]++,a().s[4]++,e.panel=n},expression:"panel"}},[n("v-expansion-panel",[n("v-expansion-panel-header",[n("v-tabs",{attrs:{"fixed-tabs":""},model:{value:e.curTab,callback:function(n){a().f[2]++,a().s[5]++,e.curTab=n},expression:"curTab"}},e._l(e.tabs,(function(t,s){return a().f[3]++,a().s[6]++,n("v-tab",{key:s,attrs:{to:t.url},nativeOn:{click:function(e){a().f[4]++,a().s[7]++,e.stopPropagation()}}},[e._v("\n "+e._s(t.name)+"\n ")])})),1)],1),e._v(" "),n("v-expansion-panel-content",[n("router-view",{attrs:{"refresh-interval":e.refreshInterval}})],1)],1)],1)],1),e._v(" "),n("div",{staticStyle:{height:"15px"}}),e._v(" "),n("log-messages"),e._v(" "),n("v-dialog",{attrs:{"max-width":"300"},model:{value:e.optionsDialog,callback:function(n){a().f[5]++,a().s[8]++,e.optionsDialog=n},expression:"optionsDialog"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v("Options")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("div",{staticClass:"pa-3"},[n("v-text-field",{attrs:{min:"0",max:"10000",step:"100",type:"number",label:"Refresh Interval (ms)",value:e.refreshInterval},on:{change:function(n){a().f[6]++,a().s[9]++,e.refreshInterval=n}}})],1)],1)],1)],1)},l=(a().s[10]++,[]),o=(t(7950),t(4908),function(){var e=this,n=e._self._c;return n("v-card",[n("v-card-title",[e._v("\n Log Messages\n "),n("v-tooltip",{attrs:{top:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,s=t.attrs;return[n("div",e._g(e._b({},"div",s,!1),a),[n("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:e.pause}},[n("v-icon",[e._v(" "+e._s(e.buttonIcon)+" ")])],1)],1)]}}])},[e._v(" "),n("span",[e._v(" "+e._s(e.buttonLabel)+" ")])]),e._v(" "),n("v-spacer"),e._v(" "),n("v-select",{staticClass:"mr-2",attrs:{label:"Filter by Log Level","hide-details":"",items:e.logLevels,"data-test":"log-messages-level"},model:{value:e.logLevel,callback:function(n){e.logLevel=n},expression:"logLevel"}}),e._v(" "),n("v-spacer"),e._v(" "),n("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":"","data-test":"search-log-messages"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{headers:e.headers,items:e.shownData,search:e.search,"calculate-widths":"","disable-pagination":"","hide-default-footer":"","multi-sort":"",dense:"",height:"70vh","data-test":"log-messages"},scopedSlots:e._u([{key:"item.timestamp",fn:function(t){var a=t.item;return[n("time",{attrs:{title:a.timestamp,datetime:a.timestamp}},[e._v("\n "+e._s(a.timestamp)+"\n ")])]}},{key:"item.level",fn:function(t){var a=t.item;return[n("span",{style:"display: inline-flex; color:"+e.getColor(a.severity)},[n("astro-status-indicator",{staticClass:"mr-1",attrs:{status:e.getStatus(a.severity)}}),e._v(e._s(a.severity))],1)]}},{key:"item.log",fn:function(t){var a=t.item;return[n("div",{staticStyle:{"white-space":"pre-wrap"}},[e._v(e._s(a.log))])]}}])})],1)}),i=[],r=(t(1245),t(9805),t(5342),t(8188),t(3450),t(8233),t(5940),t(1639),t(8178),t(9413)),c=t(5488),u=t(6964),d=t(426),m=t(7871),v=t(7146);v.ju.staleThreshold=10;var p=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/openc3-api/cable";(0,d.Z)(this,e),this._cable=null,this._url=n}return(0,m.Z)(e,[{key:"disconnect",value:function(){this._cable&&this._cable.disconnect()}},{key:"createSubscription",value:function(e,n){var t=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((function(n){if(n&&OpenC3Auth.setTokens(),null==t._cable){var l=t._url+"?scope="+window.openc3Scope+"&authorization="+localStorage.openc3Token;t._cable=v.zD(encodeURI(l))}return t._cable.subscriptions.create((0,u.Z)({channel:e},s),a)}))}},{key:"recordPing",value:function(){this._cable.connection.monitor.recordPing()}}]),e}(),A=t(1354),f={props:{history_count:{type:Number,default:200}},data:function(){return{AstroStatusColors:A.uv,data:[],shownData:[],logLevels:["DEBUG","INFO","WARN","ERROR","FATAL"],logLevel:"INFO",search:"",headers:[{text:"Time",value:"timestamp",width:200},{text:"Log Level",value:"level"},{text:"Source",value:"microservice_name"},{text:"Message",value:"log"}],cable:new p,subscription:null,paused:!1}},computed:{buttonLabel:function(){return this.paused?"Resume":"Pause"},buttonIcon:function(){return this.paused?"mdi-play":"mdi-pause"}},watch:{logLevel:function(e,n){this.createSubscription()}},created:function(){this.createSubscription()},destroyed:function(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{pause:function(){this.paused=!this.paused},createSubscription:function(){var e=this;this.subscription&&(this.subscription.unsubscribe(),this.data=[],this.shownData=this.data),this.cable.createSubscription("MessagesChannel",window.openc3Scope,{received:function(n){e.cable.recordPing(),n.length>e.history_count&&n.splice(0,n.length-e.history_count),n=n.filter((function(n){switch(e.logLevel){case"DEBUG":return!0;case"INFO":if("DEBUG"!==n.severity)return!0;break;case"WARN":if("DEBUG"!==n.severity&&"INFO"!==n.severity)return!0;break;case"ERROR":if("DEBUG"!==n.severity&&"INFO"!==n.severity&&"WARN"!==n.severity)return!0;break;case"FATAL":if("DEBUG"!==n.severity&&"INFO"!==n.severity&&"WARN"!==n.severity&&"ERROR"!==n.severity)return!0;break}return!1})),n.map((function(n){if(n.timestamp=e.formatDate(n["@timestamp"]),n.log.raw&&"String"===n.log.json_class){for(var t="0x",a=0;a<n.log.raw.length;a++){var s=n.log.raw[a].toString(16).toUpperCase();s.length<2&&(s="0"+s),t+=s}n.log=t}else n.log=n.log.replaceAll("\\n","\n")})),e.data=n.reverse().concat(e.data),e.data.length>e.history_count&&(e.data.length=e.history_count),e.paused||(e.shownData=e.data)}},{history_count:this.history_count}).then((function(n){e.subscription=n}))},formatDate:function(e){return(0,r.Z)((0,c.Z)(e),"yyyy-MM-dd HH:mm:ss.SSS")},getColor:function(e){return A.uv[A.G4[e]]},getStatus:function(e){return A.G4[e]}}},h=f,b=t(3483),g=(0,b.Z)(h,o,i,!1,null,null,null),_=g.exports,C=function(){var e=this,n=e._self._c;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("div",{staticClass:"v-toolbar__content"},[e._l(e.menus,(function(t,a){return n("v-menu",{key:a,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function(a){var s=a.on,l=a.attrs;return[n("v-btn",e._g(e._b({staticClass:"mx-1",attrs:{outlined:"","data-test":e.formatDT("".concat(e.title," ").concat(t.label))}},"v-btn",l,!1),s),[n("span",{domProps:{textContent:e._s(t.label)}}),e._v(" "),n("v-icon",{attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(a,s){return[a.divider?n("v-divider"):n("v-list-item",{key:s,attrs:{disabled:a.disabled,"data-test":e.formatDT("".concat(e.title," ").concat(t.label," ").concat(a.label))},on:{click:function(e){return a.command(a)}}},[a.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:a.label,value:a.label}})],1):e._e(),e._v(" "),a.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:a.label},model:{value:a.checked,callback:function(n){e.$set(a,"checked",n)},expression:"option.checked"}})],1):e._e(),e._v(" "),a.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:a.disabled}},[e._v(e._s(a.icon))])],1):e._e(),e._v(" "),a.radio||a.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(a.disabled?"opacity: 0.2":"")},[e._v(e._s(a.label))])],1)]}))],2)],1)],1)})),e._v(" "),n("v-spacer"),e._v(" "),n("v-toolbar-title",[e._v(e._s(e.title))]),e._v(" "),n("v-spacer")],2)])},y=[],x={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()}},mounted:function(){"COSMOS "===this.title.substring(0,7)?document.title=this.title.substring(7):document.title=this.title}},k=x,S=(t(4888),(0,b.Z)(k,C,y,!1,null,"2eb37f67",null)),T=S.exports;function w(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",n="32aabc149053dc3abea57de7100c64d1abef8381",t=new Function("return this")(),a="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",statementMap:{0:{start:{line:10,column:4},end:{line:56,column:5}},1:{start:{line:50,column:16},end:{line:50,column:41}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:9,column:2},end:{line:9,column:3}},loc:{start:{line:9,column:9},end:{line:57,column:3}},line:9},1:{name:"(anonymous_1)",decl:{start:{line:49,column:23},end:{line:49,column:24}},loc:{start:{line:49,column:29},end:{line:51,column:15}},line:49}},branchMap:{},s:{0:0,1:0},f:{0:0,1:0},b:{},inputSourceMap:{version:3,sources:["CmdTlmServer.vue"],names:[],mappings:";AAwEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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:"CmdTlmServer.vue",sourceRoot:"src/tools/CmdTlmServer",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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n <top-bar :menus="menus" :title="title" />\n <v-card>\n <v-expansion-panels v-model="panel">\n <v-expansion-panel>\n <v-expansion-panel-header>\n <v-tabs v-model="curTab" fixed-tabs>\n <v-tab\n v-for="(tab, index) in tabs"\n :key="index"\n :to="tab.url"\n @click.native.stop\n >\n {{ tab.name }}\n </v-tab>\n </v-tabs>\n </v-expansion-panel-header>\n <v-expansion-panel-content>\n <router-view :refresh-interval="refreshInterval" />\n </v-expansion-panel-content>\n </v-expansion-panel>\n </v-expansion-panels>\n </v-card>\n <div style="height: 15px" />\n <log-messages />\n <v-dialog v-model="optionsDialog" max-width="300">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span>Options</span>\n <v-spacer />\n </v-system-bar>\n <div class="pa-3">\n <v-text-field\n min="0"\n max="10000"\n step="100"\n type="number"\n label="Refresh Interval (ms)"\n :value="refreshInterval"\n @change="refreshInterval = $event"\n />\n </div>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport LogMessages from \'@openc3/tool-common/src/components/LogMessages\'\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\nexport default {\n components: {\n LogMessages,\n TopBar,\n },\n data() {\n return {\n title: \'COSMOS CmdTlmServer\',\n panel: 0,\n curTab: null,\n tabs: [\n {\n name: \'Interfaces\',\n url: \'/interfaces\',\n },\n {\n name: \'Targets\',\n url: \'/targets\',\n },\n {\n name: \'Cmd Packets\',\n url: \'/cmd-packets\',\n },\n {\n name: \'Tlm Packets\',\n url: \'/tlm-packets\',\n },\n {\n name: \'Routers\',\n url: \'/routers\',\n },\n {\n name: \'Status\',\n url: \'/status\',\n },\n ],\n updater: null,\n refreshInterval: 1000,\n optionsDialog: false,\n menus: [\n {\n label: \'File\',\n items: [\n {\n label: \'Options\',\n command: () => {\n this.optionsDialog = true\n },\n },\n ],\n },\n ],\n }\n },\n}\n<\/script>\n\n<style scoped>\n.v-expansion-panel-content :deep(.v-expansion-panel-content__wrap) {\n padding: 0px;\n}\n.v-list :deep(.v-label) {\n margin-left: 5px;\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n.v-expansion-panel-header {\n min-height: initial;\n padding: 0px;\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"32aabc149053dc3abea57de7100c64d1abef8381"},l=t[a]||(t[a]={});l[e]&&l[e].hash===n||(l[e]=s);var o=l[e];return w=function(){return o},o}w();var R={components:{LogMessages:_,TopBar:T},data:function(){var e=this;return w().f[0]++,w().s[0]++,{title:"COSMOS CmdTlmServer",panel:0,curTab:null,tabs:[{name:"Interfaces",url:"/interfaces"},{name:"Targets",url:"/targets"},{name:"Cmd Packets",url:"/cmd-packets"},{name:"Tlm Packets",url:"/tlm-packets"},{name:"Routers",url:"/routers"},{name:"Status",url:"/status"}],updater:null,refreshInterval:1e3,optionsDialog:!1,menus:[{label:"File",items:[{label:"Options",command:function(){w().f[1]++,w().s[1]++,e.optionsDialog=!0}}]}]}}},I=R,O=(t(29),(0,b.Z)(I,s,l,!1,null,"d7b1fb94",null)),M=O.exports},6101:function(e,n,t){"use strict";t.r(n);var a=t(9601),s=t.n(a),l=t(2609),o=t.n(l),i=o()(s());i.push([e.id,".v-expansion-panel-content[data-v-d7b1fb94] .v-expansion-panel-content__wrap{padding:0}.v-list[data-v-d7b1fb94] .v-label{margin-left:5px}.v-list-item__icon[data-v-d7b1fb94]{margin-right:15px!important}.v-list-item__title[data-v-d7b1fb94]{color:#fff}.v-expansion-panel-header[data-v-d7b1fb94]{min-height:auto;padding:0;background-color:var(--v-tertiary-darken2)}",""]),n["default"]=i},6294:function(e,n,t){"use strict";t.r(n);var a=t(9601),s=t.n(a),l=t(2609),o=t.n(l),i=o()(s());i.push([e.id,".v-list[data-v-2eb37f67] .v-label{margin-left:5px}.v-list-item__icon[data-v-2eb37f67]{margin-right:15px!important}.v-list-item__title[data-v-2eb37f67]{color:#fff}",""]),n["default"]=i},29:function(e,n,t){var a=t(6101);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var s=t(3514).Z;s("cae6a5b2",a,!0,{sourceMap:!1,shadowMode:!1})},4888:function(e,n,t){var a=t(6294);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var s=t(3514).Z;s("706a3f6d",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=970.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/970.js","mappings":"8zEAeY,OAAAA,EAAA,kBAAAC,CAAA,EAAAA,CAAA,C,6CAAAD,IAAAA,IAAAE,EAAA,KAfZ,IAAIC,EAAS,WAAiBH,IAAAI,EAAA,KAAC,IAAIC,GAAGL,IAAAE,EAAA,KAACI,MAAKC,GAAEP,IAAAE,EAAA,KAACG,EAAIG,MAAMD,IAAG,OAAAP,IAAAE,EAAA,KAAOK,EAAG,MAAM,CAACA,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQJ,EAAIK,MAAM,MAAQL,EAAIM,SAASN,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACA,EAAG,qBAAqB,CAACM,MAAM,CAACC,MAAOT,EAAIU,MAAOC,SAAS,SAAUC,GAAKjB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAIU,MAAME,CAAG,EAAEC,WAAW,UAAU,CAACX,EAAG,oBAAoB,CAACA,EAAG,2BAA2B,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,aAAa,IAAII,MAAM,CAACC,MAAOT,EAAIc,OAAQH,SAAS,SAAUC,GAAKjB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAIc,OAAOF,CAAG,EAAEC,WAAW,WAAWb,EAAIe,GAAIf,EAAIgB,MAAM,SAASC,EAAIC,GAAO,OAADvB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAAQK,EAAG,QAAQ,CAACiB,IAAID,EAAMd,MAAM,CAAC,GAAKa,EAAIG,KAAKC,SAAS,CAAC,MAAQ,SAASC,GAAO3B,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACyB,EAAOC,iBAAkB,IAAI,CAACvB,EAAIO,GAAG,mBAAmBP,EAAIwB,GAAGP,EAAIQ,MAAM,mBAAmB,IAAG,IAAI,GAAGzB,EAAIO,GAAG,KAAKL,EAAG,4BAA4B,CAACA,EAAG,cAAc,CAACE,MAAM,CAAC,mBAAmBJ,EAAI0B,oBAAoB,IAAI,IAAI,IAAI,GAAG1B,EAAIO,GAAG,KAAKL,EAAG,MAAM,CAACyB,YAAY,CAAC,OAAS,UAAU3B,EAAIO,GAAG,KAAKL,EAAG,gBAAgBF,EAAIO,GAAG,KAAKL,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,OAAOI,MAAM,CAACC,MAAOT,EAAI4B,cAAejB,SAAS,SAAUC,GAAKjB,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAI4B,cAAchB,CAAG,EAAEC,WAAW,kBAAkB,CAACX,EAAG,SAAS,CAACA,EAAG,eAAe,CAACA,EAAG,YAAYF,EAAIO,GAAG,KAAKL,EAAG,OAAO,CAACF,EAAIO,GAAG,aAAaP,EAAIO,GAAG,KAAKL,EAAG,aAAa,GAAGF,EAAIO,GAAG,KAAKL,EAAG,MAAM,CAAC2B,YAAY,QAAQ,CAAC3B,EAAG,eAAe,CAACE,MAAM,CAAC,IAAM,IAAI,IAAM,QAAQ,KAAO,MAAM,KAAO,SAAS,MAAQ,wBAAwB,MAAQJ,EAAI0B,iBAAiBI,GAAG,CAAC,OAAS,SAASR,GAAO3B,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KAACG,EAAI0B,gBAAkBJ,CAAM,MAAM,IAAI,IAAI,IAAI,EAC55C,EACIS,GAAepC,IAAAE,EAAA,MAAG,ICFlBC,G,gBAAS,WAAkB,IAAIE,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACA,EAAG,eAAe,CAACF,EAAIO,GAAG,4BAA4BL,EAAG,YAAY,CAACE,MAAM,CAAC,IAAM,IAAI4B,YAAYhC,EAAIiC,GAAG,CAAC,CAACd,IAAI,YAAYe,GAAG,SAAAC,GAAuB,IAAZL,EAAEK,EAAFL,GAAI1B,EAAK+B,EAAL/B,MAAS,MAAO,CAACF,EAAG,MAAMF,EAAIoC,GAAGpC,EAAIqC,GAAG,CAAC,EAAE,MAAMjC,GAAM,GAAO0B,GAAI,CAAC5B,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,YAAY,SAAS0B,GAAG,CAAC,MAAQ9B,EAAIsC,QAAQ,CAACpC,EAAG,SAAS,CAACF,EAAIO,GAAG,IAAIP,EAAIwB,GAAGxB,EAAIuC,YAAY,QAAQ,IAAI,GAAG,MAAM,CAACvC,EAAIO,GAAG,KAAKL,EAAG,OAAO,CAACF,EAAIO,GAAG,IAAIP,EAAIwB,GAAGxB,EAAIwC,aAAa,SAASxC,EAAIO,GAAG,KAAKL,EAAG,YAAYF,EAAIO,GAAG,KAAKL,EAAG,WAAW,CAAC2B,YAAY,OAAOzB,MAAM,CAAC,MAAQ,sBAAsB,eAAe,GAAG,MAAQJ,EAAIyC,UAAU,YAAY,sBAAsBjC,MAAM,CAACC,MAAOT,EAAI0C,SAAU/B,SAAS,SAAUC,GAAMZ,EAAI0C,SAAS9B,CAAG,EAAEC,WAAW,cAAcb,EAAIO,GAAG,KAAKL,EAAG,YAAYF,EAAIO,GAAG,KAAKL,EAAG,eAAe,CAACE,MAAM,CAAC,cAAc,cAAc,MAAQ,SAAS,cAAc,GAAG,eAAe,GAAG,YAAY,uBAAuBI,MAAM,CAACC,MAAOT,EAAI2C,OAAQhC,SAAS,SAAUC,GAAMZ,EAAI2C,OAAO/B,CAAG,EAAEC,WAAW,aAAa,GAAGb,EAAIO,GAAG,KAAKL,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUJ,EAAI4C,QAAQ,MAAQ5C,EAAI6C,UAAU,OAAS7C,EAAI2C,OAAO,mBAAmB,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,aAAa,GAAG,MAAQ,GAAG,OAAS,OAAO,YAAY,gBAAgBX,YAAYhC,EAAIiC,GAAG,CAAC,CAACd,IAAI,iBAAiBe,GAAG,SAAAY,GAAkB,IAAPC,EAAID,EAAJC,KAAQ,MAAO,CAAC7C,EAAG,OAAO,CAACE,MAAM,CAAC,MAAQ2C,EAAKC,UAAU,SAAWD,EAAKC,YAAY,CAAChD,EAAIO,GAAG,aAAaP,EAAIwB,GAAGuB,EAAKC,WAAW,cAAc,GAAG,CAAC7B,IAAI,aAAae,GAAG,SAAAe,GAAkB,IAAPF,EAAIE,EAAJF,KAAQ,MAAO,CAAC7C,EAAG,OAAO,CAACgD,MAAO,+BAAiClD,EAAImD,SAASJ,EAAKK,WAAY,CAAClD,EAAG,yBAAyB,CAAC2B,YAAY,OAAOzB,MAAM,CAAC,OAASJ,EAAIqD,UAAUN,EAAKK,aAAapD,EAAIO,GAAGP,EAAIwB,GAAGuB,EAAKK,YAAY,GAAG,GAAG,CAACjC,IAAI,WAAWe,GAAG,SAAAoB,GAAkB,IAAPP,EAAIO,EAAJP,KAAQ,MAAO,CAAC7C,EAAG,MAAM,CAACyB,YAAY,CAAC,cAAc,aAAa,CAAC3B,EAAIO,GAAGP,EAAIwB,GAAGuB,EAAKQ,QAAQ,QAAQ,EACv2D,GACIxB,EAAkB,G,qICsBtByB,EAAAA,GAA8BC,eAAiB,GAAE,IAE5BC,EAAK,WACxB,SAAAA,IAAuC,IAA3BtC,EAAGuC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,qBAAmBG,EAAAA,EAAAA,GAAA,KAAAJ,GACnCzD,KAAK8D,OAAS,KACd9D,KAAK+D,KAAO5C,CACd,CAiCC,OAjCA6C,EAAAA,EAAAA,GAAAP,EAAA,EAAAvC,IAAA,aAAAV,MACD,WACMR,KAAK8D,QACP9D,KAAK8D,OAAOG,YAEhB,GAAC,CAAA/C,IAAA,qBAAAV,MACD,SAAmB0D,EAASC,GAA+C,IAAAC,EAAA,KAAxCC,EAASX,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGY,EAAiBZ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EACtE,OAAOa,WAAWC,YAAYD,WAAWE,oBAAoBC,MAC3D,SAACC,GAIC,GAHIA,GACFJ,WAAWK,YAEM,MAAfR,EAAKN,OAAgB,CACvB,IAAIe,EACFT,EAAKL,KACL,UACAe,OAAOC,YACP,kBACAC,aAAaC,YACfb,EAAKN,OAASP,EAAAA,GAA2B2B,UAAUL,GACrD,CACA,OAAOT,EAAKN,OAAOqB,cAAcC,QAAMC,EAAAA,EAAAA,GAAC,CAEpCnB,QAAAA,GACGI,GAELD,EAEJ,GAEJ,GAAC,CAAAnD,IAAA,aAAAV,MACD,WACER,KAAK8D,OAAOwB,WAAWC,QAAQC,YACjC,KAAC/B,CAAA,CArCuB,G,UDqE1B,GACAgC,MAAA,CACAC,cAAA,CACAC,KAAAC,OACAC,QAAA,MAGAC,KAAA,WACA,OACAC,kBAAAA,EAAAA,GACAD,KAAA,GACAlD,UAAA,GACAJ,UAAA,wCACAC,SAAA,OACAC,OAAA,GACAC,QAAA,CACA,CAAAqD,KAAA,OAAAxF,MAAA,YAAAyF,MAAA,KACA,CAAAD,KAAA,YAAAxF,MAAA,SACA,CAAAwF,KAAA,SAAAxF,MAAA,qBACA,CAAAwF,KAAA,UAAAxF,MAAA,QAEA0F,MAAA,IAAAzC,EACA0C,aAAA,KACAC,QAAA,EAEA,EACAC,SAAA,CACA9D,YAAA,WACA,YAAA6D,OACA,SAEA,OAEA,EACA9D,WAAA,WACA,YAAA8D,OACA,WAEA,WAEA,GAEAE,MAAA,CACA7D,SAAA,SAAA8D,EAAAC,GACA,KAAAC,oBACA,GAEAC,QAAA,WACA,KAAAD,oBACA,EACAE,UAAA,WACA,KAAAR,cACA,KAAAA,aAAAS,cAEA,KAAAV,MAAAjC,YACA,EACA4C,QAAA,CACAxE,MAAA,WACA,KAAA+D,QAAA,KAAAA,MACA,EACAK,mBAAA,eAAArC,EAAA,KACA,KAAA+B,eACA,KAAAA,aAAAS,cACA,KAAAd,KAAA,GACA,KAAAlD,UAAA,KAAAkD,MAEA,KAAAI,MACAO,mBACA,kBACA3B,OAAAC,YACA,CACA+B,SAAA,SAAAC,GACA3C,EAAA8B,MAAAV,aACAuB,EAAApD,OAAAS,EAAAsB,eACAqB,EAAAC,OAAA,EAAAD,EAAApD,OAAAS,EAAAsB,eAKAqB,EAAAA,EAAAE,QAAA,SAAAC,GACA,OAAA9C,EAAA3B,UACA,YACA,SACA,WACA,aAAAyE,EAAA/D,SACA,SAEA,MACA,WACA,GACA,UAAA+D,EAAA/D,UACA,SAAA+D,EAAA/D,SAEA,SAEA,MACA,YACA,GACA,UAAA+D,EAAA/D,UACA,SAAA+D,EAAA/D,UACA,SAAA+D,EAAA/D,SAEA,SAEA,MACA,YACA,GACA,UAAA+D,EAAA/D,UACA,SAAA+D,EAAA/D,UACA,SAAA+D,EAAA/D,UACA,UAAA+D,EAAA/D,SAEA,SAEA,MAEA,QACA,IACA4D,EAAAI,KAAA,SAAAD,GAEA,GADAA,EAAAnE,UAAAqB,EAAAgD,WAAAF,EAAA,eACAA,EAAA5D,IAAA+D,KAAA,WAAAH,EAAA5D,IAAAgE,WAAA,CAGA,IADA,IAAAC,EAAA,KACAC,EAAA,EAAAA,EAAAN,EAAA5D,IAAA+D,IAAA1D,OAAA6D,IAAA,CACA,IAAAC,EAAAP,EAAA5D,IAAA+D,IAAAG,GAAAE,SAAA,IAAAC,cACAF,EAAA9D,OAAA,IACA8D,EAAA,IAAAA,GAEAF,GAAAE,CACA,CACAP,EAAA5D,IAAAiE,CACA,MACAL,EAAA5D,IAAA4D,EAAA5D,IAAAsE,WAAA,WAEA,IACAxD,EAAA0B,KAAAiB,EAAAc,UAAAC,OAAA1D,EAAA0B,MACA1B,EAAA0B,KAAAnC,OAAAS,EAAAsB,gBACAtB,EAAA0B,KAAAnC,OAAAS,EAAAsB,eAEAtB,EAAAgC,SACAhC,EAAAxB,UAAAwB,EAAA0B,KAEA,GAEA,CACAJ,cAAA,KAAAA,gBAGAhB,MAAA,SAAAyB,GACA/B,EAAA+B,aAAAA,CACA,GACA,EACAiB,WAAA,SAAArE,GAEA,OAAAgF,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAjF,GAAA,0BACA,EACAG,SAAA,SAAAC,GACA,OAAA4C,EAAAA,GAAAkC,EAAAA,GAAA9E,GACA,EACAC,UAAA,SAAAD,GACA,OAAA8E,EAAAA,GAAA9E,EACA,IEhQgT,I,UCO5S+E,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,EAAeA,EAAiB,QClB5BrI,EAAS,WAAkB,IAAIE,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAW,eAAe,OAAS,KAAK,CAACF,EAAG,MAAM,CAAC2B,YAAY,sBAAsB,CAAC7B,EAAIe,GAAIf,EAAIK,OAAO,SAAS+H,EAAKX,GAAG,OAAOvH,EAAG,SAAS,CAACiB,IAAIsG,EAAErH,MAAM,CAAC,WAAW,IAAI4B,YAAYhC,EAAIiC,GAAG,CAAC,CAACd,IAAI,YAAYe,GAAG,SAAAC,GAAuB,IAAZL,EAAEK,EAAFL,GAAI1B,EAAK+B,EAAL/B,MAAS,MAAO,CAACF,EAAG,QAAQF,EAAIoC,GAAGpC,EAAIqC,GAAG,CAACR,YAAY,OAAOzB,MAAM,CAAC,SAAW,GAAG,YAAYJ,EAAIqI,SAAS,GAADN,OAAI/H,EAAIM,MAAK,KAAAyH,OAAIK,EAAKE,UAAW,QAAQlI,GAAM,GAAO0B,GAAI,CAAC5B,EAAG,OAAO,CAACqI,SAAS,CAAC,YAAcvI,EAAIwB,GAAG4G,EAAKE,UAAUtI,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACJ,EAAIO,GAAG,sBAAsB,GAAG,IAAI,MAAK,IAAO,CAACP,EAAIO,GAAG,KAAKL,EAAG,SAAS,CAACA,EAAG,gBAAgB,CAAC2B,YAAY,YAAYzB,MAAM,CAAC,MAAQgI,EAAKI,WAAW,eAAe,GAAG,MAAQ,KAAK,CAACxI,EAAIe,GAAIqH,EAAKK,OAAO,SAASC,EAAOC,GAAG,MAAO,CAAED,EAAOE,QAAS1I,EAAG,aAAaA,EAAG,cAAc,CAACiB,IAAIwH,EAAEvI,MAAM,CAAC,SAAWsI,EAAOG,SAAS,YAAY7I,EAAIqI,SAAS,GAADN,OAAI/H,EAAIM,MAAK,KAAAyH,OAAIK,EAAKE,MAAK,KAAAP,OAAIW,EAAOJ,SAAUxG,GAAG,CAAC,MAAQ,SAASR,GAAQ,OAAOoH,EAAOI,QAAQJ,EAAO,IAAI,CAAEA,EAAOK,MAAO7I,EAAG,qBAAqB,CAACA,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,YAAY,MAAQsI,EAAOJ,MAAM,MAAQI,EAAOJ,UAAU,GAAGtI,EAAIgJ,KAAKhJ,EAAIO,GAAG,KAAMmI,EAAOO,SAAU/I,EAAG,qBAAqB,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,YAAY,MAAQsI,EAAOJ,OAAO9H,MAAM,CAACC,MAAOiI,EAAOQ,QAASvI,SAAS,SAAUC,GAAMZ,EAAImJ,KAAKT,EAAQ,UAAW9H,EAAI,EAAEC,WAAW,qBAAqB,GAAGb,EAAIgJ,KAAKhJ,EAAIO,GAAG,KAAMmI,EAAOU,KAAMlJ,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,SAAWsI,EAAOG,WAAW,CAAC7I,EAAIO,GAAGP,EAAIwB,GAAGkH,EAAOU,UAAU,GAAGpJ,EAAIgJ,KAAKhJ,EAAIO,GAAG,KAAOmI,EAAOK,OAAUL,EAAOO,SAAwIjJ,EAAIgJ,KAAlI9I,EAAG,oBAAoB,CAACgD,MAAO,oBAAsBwF,EAAOG,SAAW,eAAiB,KAAM,CAAC7I,EAAIO,GAAGP,EAAIwB,GAAGkH,EAAOJ,WAAoB,GAAG,KAAI,IAAI,IAAI,EAAE,IAAGtI,EAAIO,GAAG,KAAKL,EAAG,YAAYF,EAAIO,GAAG,KAAKL,EAAG,kBAAkB,CAACF,EAAIO,GAAGP,EAAIwB,GAAGxB,EAAIM,UAAUN,EAAIO,GAAG,KAAKL,EAAG,aAAa,IAC52D,EACI6B,EAAkB,GA0FtB,GACA2D,MAAA,CACArF,MAAA,CACAuF,KAAAyD,MACAvD,QAAA,WACA,QACA,GAEAxF,MAAA,CACAsF,KAAA0D,OACAxD,QAAA,KAGAgB,QAAA,CAEAuB,SAAA,SAAAkB,GACA,OAAAA,EAAA1B,WAAA,SAAA2B,aACA,GAEAC,QAAA,WACA,iBAAAnJ,MAAAoJ,UAAA,KACAC,SAAArJ,MAAA,KAAAA,MAAAoJ,UAAA,GAEAC,SAAArJ,MAAA,KAAAA,KAEA,GCrH2S,ICQvS,G,SAAY,OACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIF,EAAe,EAAiB,Q,8pKCmEhC,OAAAX,EAAA,kBAAAC,CAAA,EAAAA,CAAA,CAAAD,IAZA,OACAiK,WAAA,CACAC,YAAAA,EACAC,OAAAA,GAEA/D,KAAA,eAAA1B,EAAA,KACA,OADA1E,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACA,CACAS,MAAA,sBACAI,MAAA,EACAI,OAAA,KACAE,KAAA,CACA,CACAS,KAAA,aACAL,IAAA,eAEA,CACAK,KAAA,UACAL,IAAA,YAEA,CACAK,KAAA,cACAL,IAAA,gBAEA,CACAK,KAAA,cACAL,IAAA,gBAEA,CACAK,KAAA,UACAL,IAAA,YAEA,CACAK,KAAA,SACAL,IAAA,YAGA2I,QAAA,KACArI,gBAAA,IACAE,eAAA,EACAvB,MAAA,CACA,CACAiI,MAAA,OACAG,MAAA,CACA,CACAH,MAAA,UACAQ,QAAA,WAAAnJ,IAAAI,EAAA,KAAAJ,IAAAE,EAAA,KACAwE,EAAAzC,eAAA,CACA,MAMA,GC/H0T,ICQtT,G,OAAY,OACd,EACA9B,EACAiC,GACA,EACA,KACA,WACA,OAIF,EAAe,EAAiB,O,qFChB5BiI,EAA0B,IAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,4WAA6W,KAEtZ,c,qFCJIH,EAA0B,IAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,qKAAsK,KAE/M,c,qBCJA,IAAIC,EAAU,EAAQ,MACnBA,EAAQC,aAAYD,EAAUA,EAAQtE,SACnB,kBAAZsE,IAAsBA,EAAU,CAAC,CAACF,EAAOC,GAAIC,EAAS,MAC7DA,EAAQE,SAAQJ,EAAOK,QAAUH,EAAQE,QAE5C,IAAIE,EAAM,UACGA,EAAI,WAAYJ,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,G,uBCN5E,IAAIA,EAAU,EAAQ,MACnBA,EAAQC,aAAYD,EAAUA,EAAQtE,SACnB,kBAAZsE,IAAsBA,EAAU,CAAC,CAACF,EAAOC,GAAIC,EAAS,MAC7DA,EAAQE,SAAQJ,EAAOK,QAAUH,EAAQE,QAE5C,IAAIE,EAAM,UACGA,EAAI,WAAYJ,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,G","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/LogMessages.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/services/cable.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/LogMessages.vue?867b","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/LogMessages.vue?971e","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?95da","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?9b8c","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?2c2b","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?6587","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?386c","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?db0b","webpack://@openc3/cosmos-tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?9efc"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"menus\":_vm.menus,\"title\":_vm.title}}),_vm._v(\" \"),_c('v-card',[_c('v-expansion-panels',{model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('v-tabs',{attrs:{\"fixed-tabs\":\"\"},model:{value:(_vm.curTab),callback:function ($$v) {_vm.curTab=$$v},expression:\"curTab\"}},_vm._l((_vm.tabs),function(tab,index){return _c('v-tab',{key:index,attrs:{\"to\":tab.url},nativeOn:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\"\\n \"+_vm._s(tab.name)+\"\\n \")])}),1)],1),_vm._v(\" \"),_c('v-expansion-panel-content',[_c('router-view',{attrs:{\"refresh-interval\":_vm.refreshInterval}})],1)],1)],1)],1),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"15px\"}}),_vm._v(\" \"),_c('log-messages'),_vm._v(\" \"),_c('v-dialog',{attrs:{\"max-width\":\"300\"},model:{value:(_vm.optionsDialog),callback:function ($$v) {_vm.optionsDialog=$$v},expression:\"optionsDialog\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_vm._v(\" \"),_c('span',[_vm._v(\"Options\")]),_vm._v(\" \"),_c('v-spacer')],1),_vm._v(\" \"),_c('div',{staticClass:\"pa-3\"},[_c('v-text-field',{attrs:{\"min\":\"0\",\"max\":\"10000\",\"step\":\"100\",\"type\":\"number\",\"label\":\"Refresh Interval (ms)\",\"value\":_vm.refreshInterval},on:{\"change\":function($event){_vm.refreshInterval = $event}}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"\\n Log Messages\\n \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('v-select',{staticClass:\"mr-2\",attrs:{\"label\":\"Filter by Log Level\",\"hide-details\":\"\",\"items\":_vm.logLevels,\"data-test\":\"log-messages-level\"},model:{value:(_vm.logLevel),callback:function ($$v) {_vm.logLevel=$$v},expression:\"logLevel\"}}),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\",\"data-test\":\"search-log-messages\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.shownData,\"search\":_vm.search,\"calculate-widths\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"multi-sort\":\"\",\"dense\":\"\",\"height\":\"70vh\",\"data-test\":\"log-messages\"},scopedSlots:_vm._u([{key:\"item.timestamp\",fn:function({ item }){return [_c('time',{attrs:{\"title\":item.timestamp,\"datetime\":item.timestamp}},[_vm._v(\"\\n \"+_vm._s(item.timestamp)+\"\\n \")])]}},{key:\"item.level\",fn:function({ item }){return [_c('span',{style:('display: inline-flex; color:' + _vm.getColor(item.severity))},[_c('astro-status-indicator',{staticClass:\"mr-1\",attrs:{\"status\":_vm.getStatus(item.severity)}}),_vm._v(_vm._s(item.severity))],1)]}},{key:\"item.log\",fn:function({ item }){return [_c('div',{staticStyle:{\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(item.log))])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport * as ActionCable from '@rails/actioncable'\n//ActionCable.logger.enabled = true\nActionCable.ConnectionMonitor.staleThreshold = 10\n\nexport default class Cable {\n constructor(url = '/openc3-api/cable') {\n this._cable = null\n this._url = url\n }\n disconnect() {\n if (this._cable) {\n this._cable.disconnect()\n }\n }\n createSubscription(channel, scope, callbacks = {}, additionalOptions = {}) {\n return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(\n (refreshed) => {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n if (this._cable == null) {\n let final_url =\n this._url +\n '?scope=' +\n window.openc3Scope +\n '&authorization=' +\n localStorage.openc3Token\n this._cable = ActionCable.createConsumer(encodeURI(final_url))\n }\n return this._cable.subscriptions.create(\n {\n channel,\n ...additionalOptions,\n },\n callbacks\n )\n }\n )\n }\n recordPing() {\n this._cable.connection.monitor.recordPing()\n }\n}\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogMessages.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogMessages.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogMessages.vue?vue&type=template&id=a7881da2&\"\nimport script from \"./LogMessages.vue?vue&type=script&lang=js&\"\nexport * from \"./LogMessages.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('div',{staticClass:\"v-toolbar__content\"},[_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_vm._v(\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider'):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":function($event){return option.command(option)}}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),_vm._v(\" \"),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label},model:{value:(option.checked),callback:function ($$v) {_vm.$set(option, \"checked\", $$v)},expression:\"option.checked\"}})],1):_vm._e(),_vm._v(\" \"),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),_c('v-spacer')],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=2eb37f67&scoped=true&\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js&\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=2eb37f67&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2eb37f67\",\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-expansion-panels v-model=\"panel\">\n <v-expansion-panel>\n <v-expansion-panel-header>\n <v-tabs v-model=\"curTab\" fixed-tabs>\n <v-tab\n v-for=\"(tab, index) in tabs\"\n :key=\"index\"\n :to=\"tab.url\"\n @click.native.stop\n >\n {{ tab.name }}\n </v-tab>\n </v-tabs>\n </v-expansion-panel-header>\n <v-expansion-panel-content>\n <router-view :refresh-interval=\"refreshInterval\" />\n </v-expansion-panel-content>\n </v-expansion-panel>\n </v-expansion-panels>\n </v-card>\n <div style=\"height: 15px\" />\n <log-messages />\n <v-dialog v-model=\"optionsDialog\" max-width=\"300\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span>Options</span>\n <v-spacer />\n </v-system-bar>\n <div class=\"pa-3\">\n <v-text-field\n min=\"0\"\n max=\"10000\"\n step=\"100\"\n type=\"number\"\n label=\"Refresh Interval (ms)\"\n :value=\"refreshInterval\"\n @change=\"refreshInterval = $event\"\n />\n </div>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport LogMessages from '@openc3/tool-common/src/components/LogMessages'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nexport default {\n components: {\n LogMessages,\n TopBar,\n },\n data() {\n return {\n title: 'COSMOS CmdTlmServer',\n panel: 0,\n curTab: null,\n tabs: [\n {\n name: 'Interfaces',\n url: '/interfaces',\n },\n {\n name: 'Targets',\n url: '/targets',\n },\n {\n name: 'Cmd Packets',\n url: '/cmd-packets',\n },\n {\n name: 'Tlm Packets',\n url: '/tlm-packets',\n },\n {\n name: 'Routers',\n url: '/routers',\n },\n {\n name: 'Status',\n url: '/status',\n },\n ],\n updater: null,\n refreshInterval: 1000,\n optionsDialog: false,\n menus: [\n {\n label: 'File',\n items: [\n {\n label: 'Options',\n command: () => {\n this.optionsDialog = true\n },\n },\n ],\n },\n ],\n }\n },\n}\n</script>\n\n<style scoped>\n.v-expansion-panel-content :deep(.v-expansion-panel-content__wrap) {\n padding: 0px;\n}\n.v-list :deep(.v-label) {\n margin-left: 5px;\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n.v-expansion-panel-header {\n min-height: initial;\n padding: 0px;\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdTlmServer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdTlmServer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CmdTlmServer.vue?vue&type=template&id=d7b1fb94&scoped=true&\"\nimport script from \"./CmdTlmServer.vue?vue&type=script&lang=js&\"\nexport * from \"./CmdTlmServer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CmdTlmServer.vue?vue&type=style&index=0&id=d7b1fb94&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d7b1fb94\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-expansion-panel-content[data-v-d7b1fb94] .v-expansion-panel-content__wrap{padding:0}.v-list[data-v-d7b1fb94] .v-label{margin-left:5px}.v-list-item__icon[data-v-d7b1fb94]{margin-right:15px!important}.v-list-item__title[data-v-d7b1fb94]{color:#fff}.v-expansion-panel-header[data-v-d7b1fb94]{min-height:auto;padding:0;background-color:var(--v-tertiary-darken2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-list[data-v-2eb37f67] .v-label{margin-left:5px}.v-list-item__icon[data-v-2eb37f67]{margin-right:15px!important}.v-list-item__title[data-v-2eb37f67]{color:#fff}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdTlmServer.vue?vue&type=style&index=0&id=d7b1fb94&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"cae6a5b2\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=2eb37f67&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"706a3f6d\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_231tmhe4yn","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","menus","title","_v","model","value","panel","callback","$$v","expression","curTab","_l","tabs","tab","index","key","url","nativeOn","$event","stopPropagation","_s","name","refreshInterval","staticStyle","optionsDialog","staticClass","on","staticRenderFns","scopedSlots","_u","fn","_ref","_g","_b","pause","buttonIcon","buttonLabel","logLevels","logLevel","search","headers","shownData","_ref2","item","timestamp","_ref3","style","getColor","severity","getStatus","_ref4","log","ActionCable","staleThreshold","Cable","arguments","length","undefined","_classCallCheck","_cable","_url","_createClass","disconnect","channel","scope","_this","callbacks","additionalOptions","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","final_url","window","openc3Scope","localStorage","openc3Token","encodeURI","subscriptions","create","_objectSpread","connection","monitor","recordPing","props","history_count","type","Number","default","data","AstroStatusColors","text","width","cable","subscription","paused","computed","watch","newVal","oldVal","createSubscription","created","destroyed","unsubscribe","methods","received","messages","splice","filter","message","map","formatDate","raw","json_class","result","i","nibble","toString","toUpperCase","replaceAll","reverse","concat","format","parseISO","UnknownToAstroStatus","component","menu","formatDT","label","domProps","radioGroup","items","option","j","divider","disabled","command","radio","_e","checkbox","checked","$set","icon","Array","String","string","toLowerCase","mounted","substring","document","components","LogMessages","TopBar","updater","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","locals","exports","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[997],{1997:function(n,e,t){t.r(e),t.d(e,{default:function(){return A}});t(7950),t(4908);function l(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdPacketsTab.vue",e="73148f6beea882a463f4e51b339fff7fd1495dd4",t=new Function("return this")(),a="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdPacketsTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:5,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:4,column:990}},4:{start:{line:1,column:350},end:{line:1,column:364}},5:{start:{line:4,column:202},end:{line:4,column:416}},6:{start:{line:4,column:314},end:{line:4,column:372}},7:{start:{line:4,column:472},end:{line:4,column:804}},8:{start:{line:4,column:618},end:{line:4,column:678}},9:{start:{line:6,column:22},end:{line:6,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:5,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:334},end:{line:1,column:335}},loc:{start:{line:1,column:349},end:{line:1,column:365}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:4,column:183},end:{line:4,column:184}},loc:{start:{line:4,column:201},end:{line:4,column:417}},line:4},3:{name:"(anonymous_3)",decl:{start:{line:4,column:297},end:{line:4,column:298}},loc:{start:{line:4,column:313},end:{line:4,column:373}},line:4},4:{name:"(anonymous_4)",decl:{start:{line:4,column:453},end:{line:4,column:454}},loc:{start:{line:4,column:471},end:{line:4,column:805}},line:4},5:{name:"(anonymous_5)",decl:{start:{line:4,column:601},end:{line:4,column:602}},loc:{start:{line:4,column:617},end:{line:4,column:679}},line:4}},branchMap:{0:{loc:{start:{line:4,column:480},end:{line:4,column:803}},type:"cond-expr",locations:[{start:{line:4,column:513},end:{line:4,column:539}},{start:{line:4,column:540},end:{line:4,column:803}}],line:4}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"73148f6beea882a463f4e51b339fff7fd1495dd4"},o=t[a]||(t[a]={});o[n]&&o[n].hash===e||(o[n]=i);var c=o[n];return l=function(){return c},c}l(),l().s[0]++;var a=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("v-card",[e("v-card-title",[n._v("\n "+n._s(n.data.length)+" Command Packets\n "),e("v-spacer"),n._v(" "),e("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){l().f[1]++,l().s[4]++,n.search=e},expression:"search"}})],1),n._v(" "),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100],showFirstLastPage:!0},"sort-by":"target_name","calculate-widths":"","multi-sort":"","data-test":"cmd-packets-table"},on:{"current-items":n.currentItems},scopedSlots:n._u([{key:"item.view_raw",fn:function(t){var a=t.item;return l().f[2]++,l().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:a.count<1},on:{click:function(e){return l().f[3]++,l().s[6]++,n.openViewRaw(a.target_name,a.packet_name)}}},[n._v("\n View Raw\n ")])]}},{key:"item.view_in_cmd_sender",fn:function(t){var a=t.item;return l().f[4]++,l().s[7]++,["UNKNOWN"===a.target_name?(l().b[0][0]++,e("span",[n._v("N/A")])):(l().b[0][1]++,e("v-btn",{attrs:{block:"",color:"primary"},on:{click:function(e){return l().f[5]++,l().s[8]++,n.openCmdSender(a.target_name,a.packet_name)}}},[n._v("\n View In Command Sender\n "),e("v-icon",{attrs:{right:""}},[n._v(" mdi-open-in-new ")])],1))]}}])}),n._v(" "),e("raw-dialog",{attrs:{type:"Command","target-name":n.target_name,"packet-name":n.packet_name,visible:n.viewRaw},on:{display:n.rawDisplayCallback}})],1)},i=(l().s[9]++,[]),o=(t(1245),t(3450),t(8178),t(9949),t(4872)),c=t(329);function m(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdPacketsTab.vue",e="80630dd440d9e43af41fda7822700ff970e85bf4",t=new Function("return this")(),l="__coverage__",a={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdPacketsTab.vue",statementMap:{0:{start:{line:15,column:4},end:{line:29,column:5}},1:{start:{line:32,column:4},end:{line:42,column:6}},2:{start:{line:33,column:6},end:{line:41,column:8}},3:{start:{line:34,column:8},end:{line:40,column:10}},4:{start:{line:35,column:10},end:{line:39,column:11}},5:{start:{line:37,column:14},end:{line:37,column:75}},6:{start:{line:48,column:6},end:{line:48,column:25}},7:{start:{line:51,column:6},end:{line:51,column:36}},8:{start:{line:52,column:6},end:{line:52,column:36}},9:{start:{line:53,column:6},end:{line:53,column:25}},10:{start:{line:56,column:22},end:{line:62,column:8}},11:{start:{line:63,column:6},end:{line:63,column:77}},12:{start:{line:66,column:6},end:{line:68,column:8}},13:{start:{line:67,column:8},end:{line:67,column:45}},14:{start:{line:71,column:6},end:{line:71,column:43}},15:{start:{line:71,column:37},end:{line:71,column:43}},16:{start:{line:72,column:6},end:{line:72,column:44}},17:{start:{line:72,column:38},end:{line:72,column:44}},18:{start:{line:73,column:6},end:{line:82,column:8}},19:{start:{line:74,column:8},end:{line:81,column:9}},20:{start:{line:74,column:21},end:{line:74,column:22}},21:{start:{line:75,column:22},end:{line:79,column:11}},22:{start:{line:77,column:14},end:{line:78,column:53}},23:{start:{line:80,column:10},end:{line:80,column:44}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:9},end:{line:30,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:12},end:{line:43,column:3}},line:31},2:{name:"(anonymous_2)",decl:{start:{line:32,column:37},end:{line:32,column:38}},loc:{start:{line:32,column:50},end:{line:42,column:5}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:33,column:18},end:{line:33,column:19}},loc:{start:{line:33,column:30},end:{line:41,column:7}},line:33},4:{name:"(anonymous_4)",decl:{start:{line:34,column:52},end:{line:34,column:53}},loc:{start:{line:34,column:63},end:{line:40,column:9}},line:34},5:{name:"(anonymous_5)",decl:{start:{line:36,column:22},end:{line:36,column:23}},loc:{start:{line:36,column:34},end:{line:38,column:13}},line:36},6:{name:"(anonymous_6)",decl:{start:{line:47,column:4},end:{line:47,column:5}},loc:{start:{line:47,column:29},end:{line:49,column:5}},line:47},7:{name:"(anonymous_7)",decl:{start:{line:50,column:4},end:{line:50,column:5}},loc:{start:{line:50,column:42},end:{line:54,column:5}},line:50},8:{name:"(anonymous_8)",decl:{start:{line:55,column:4},end:{line:55,column:5}},loc:{start:{line:55,column:44},end:{line:64,column:5}},line:55},9:{name:"(anonymous_9)",decl:{start:{line:65,column:4},end:{line:65,column:5}},loc:{start:{line:65,column:24},end:{line:69,column:5}},line:65},10:{name:"(anonymous_10)",decl:{start:{line:66,column:31},end:{line:66,column:32}},loc:{start:{line:66,column:38},end:{line:68,column:7}},line:66},11:{name:"(anonymous_11)",decl:{start:{line:70,column:4},end:{line:70,column:5}},loc:{start:{line:70,column:13},end:{line:83,column:5}},line:70},12:{name:"(anonymous_12)",decl:{start:{line:73,column:47},end:{line:73,column:48}},loc:{start:{line:73,column:59},end:{line:82,column:7}},line:73},13:{name:"(anonymous_13)",decl:{start:{line:76,column:12},end:{line:76,column:13}},loc:{start:{line:77,column:14},end:{line:78,column:53}},line:77}},branchMap:{0:{loc:{start:{line:71,column:6},end:{line:71,column:43}},type:"if",locations:[{start:{line:71,column:6},end:{line:71,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:71},1:{loc:{start:{line:72,column:6},end:{line:72,column:44}},type:"if",locations:[{start:{line:72,column:6},end:{line:72,column:44}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:72},2:{loc:{start:{line:77,column:14},end:{line:78,column:53}},type:"binary-expr",locations:[{start:{line:77,column:14},end:{line:77,column:53}},{start:{line:78,column:14},end:{line:78,column:53}}],line:77}},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},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},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["CmdPacketsTab.vue"],names:[],mappings:";AAoFA;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",file:"CmdPacketsTab.vue",sourceRoot:"src/tools/CmdTlmServer",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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Command Packets\n <v-spacer />\n <v-text-field\n v-model="search"\n append-icon="mdi-magnify"\n label="Search"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers="headers"\n :items="data"\n :search="search"\n :items-per-page="10"\n :footer-props="{\n itemsPerPageOptions: [10, 20, 50, 100],\n showFirstLastPage: true,\n }"\n sort-by="target_name"\n @current-items="currentItems"\n calculate-widths\n multi-sort\n data-test="cmd-packets-table"\n >\n <template v-slot:item.view_raw="{ item }">\n <v-btn\n block\n color="primary"\n :disabled="item.count < 1"\n @click="openViewRaw(item.target_name, item.packet_name)"\n >\n View Raw\n </v-btn>\n </template>\n <template v-slot:item.view_in_cmd_sender="{ item }">\n <span v-if="item.target_name === \'UNKNOWN\'">N/A</span>\n <v-btn\n v-else\n block\n color="primary"\n @click="openCmdSender(item.target_name, item.packet_name)"\n >\n View In Command Sender\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <raw-dialog\n type="Command"\n :target-name="target_name"\n :packet-name="packet_name"\n :visible="viewRaw"\n @display="rawDisplayCallback"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from \'./Updater\'\nimport RawDialog from \'./RawDialog\'\n\nexport default {\n components: {\n RawDialog,\n },\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: \'\',\n data: [],\n headers: [\n { text: \'Target Name\', value: \'target_name\' },\n { text: \'Packet Name\', value: \'packet_name\' },\n { text: \'Packet Count\', value: \'count\' },\n { text: \'View Raw\', value: \'view_raw\' },\n { text: \'View In Command Sender\', value: \'view_in_cmd_sender\' },\n ],\n viewRaw: false,\n target_name: null,\n packet_name: null,\n visible: null,\n }\n },\n created() {\n this.api.get_target_names().then((targets) => {\n targets.map((target) => {\n this.api.get_all_command_names(target).then((names) => {\n this.data = this.data.concat(\n names.map((packet) => {\n return { target_name: target, packet_name: packet, count: 0 }\n }),\n )\n })\n })\n })\n },\n methods: {\n // This method is hooked to the RawDialog as a callback to\n // keep track of whether the dialog is displayed\n rawDisplayCallback(bool) {\n this.viewRaw = bool\n },\n openViewRaw(target_name, packet_name) {\n this.target_name = target_name\n this.packet_name = packet_name\n this.viewRaw = true\n },\n openCmdSender(target_name, packet_name) {\n let routeData = this.$router.resolve({\n name: \'CommandSender\',\n params: {\n target: target_name,\n packet: packet_name,\n },\n })\n window.open(`/tools/cmdsender/${target_name}/${packet_name}`, \'_blank\')\n },\n currentItems(event) {\n this.visible = event.map((i) => {\n return [i.target_name, i.packet_name]\n })\n },\n update() {\n if (this.tabId != this.curTab) return\n if (this.currentItems === null) return\n this.api.get_cmd_cnts(this.visible).then((counts) => {\n for (let i = 0; i < counts.length; i++) {\n let index = this.data.findIndex(\n (item) =>\n item.target_name === this.visible[i][0] &&\n item.packet_name === this.visible[i][1],\n )\n this.data[index].count = counts[i]\n }\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"80630dd440d9e43af41fda7822700ff970e85bf4"},i=t[l]||(t[l]={});i[n]&&i[n].hash===e||(i[n]=a);var o=i[n];return m=function(){return o},o}m();var s={components:{RawDialog:c.Z},mixins:[o.Z],props:{tabId:Number,curTab:Number},data:function(){return m().f[0]++,m().s[0]++,{search:"",data:[],headers:[{text:"Target Name",value:"target_name"},{text:"Packet Name",value:"packet_name"},{text:"Packet Count",value:"count"},{text:"View Raw",value:"view_raw"},{text:"View In Command Sender",value:"view_in_cmd_sender"}],viewRaw:!1,target_name:null,packet_name:null,visible:null}},created:function(){var n=this;m().f[1]++,m().s[1]++,this.api.get_target_names().then((function(e){m().f[2]++,m().s[2]++,e.map((function(e){m().f[3]++,m().s[3]++,n.api.get_all_command_names(e).then((function(t){m().f[4]++,m().s[4]++,n.data=n.data.concat(t.map((function(n){return m().f[5]++,m().s[5]++,{target_name:e,packet_name:n,count:0}})))}))}))}))},methods:{rawDisplayCallback:function(n){m().f[6]++,m().s[6]++,this.viewRaw=n},openViewRaw:function(n,e){m().f[7]++,m().s[7]++,this.target_name=n,m().s[8]++,this.packet_name=e,m().s[9]++,this.viewRaw=!0},openCmdSender:function(n,e){m().f[8]++;m().s[10]++,this.$router.resolve({name:"CommandSender",params:{target:n,packet:e}});m().s[11]++,window.open("/tools/cmdsender/".concat(n,"/").concat(e),"_blank")},currentItems:function(n){m().f[9]++,m().s[12]++,this.visible=n.map((function(n){return m().f[10]++,m().s[13]++,[n.target_name,n.packet_name]}))},update:function(){var n=this;return m().f[11]++,m().s[14]++,this.tabId!=this.curTab?(m().b[0][0]++,void m().s[15]++):(m().b[0][1]++,m().s[16]++,null===this.currentItems?(m().b[1][0]++,void m().s[17]++):(m().b[1][1]++,m().s[18]++,void this.api.get_cmd_cnts(this.visible).then((function(e){m().f[12]++,m().s[19]++;for(var t=function(t){var l=(m().s[21]++,n.data.findIndex((function(e){return m().f[13]++,m().s[22]++,m().b[2][0]++,e.target_name===n.visible[t][0]&&(m().b[2][1]++,e.packet_name===n.visible[t][1])})));m().s[23]++,n.data[l].count=e[t]},l=(m().s[20]++,0);l<e.length;l++)t(l)}))))}}},r=s,u=t(3483),d=(0,u.Z)(r,a,i,!1,null,null,null),A=d.exports}}]);
2
+ //# sourceMappingURL=997.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/997.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdPacketsTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdPacketsTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdPacketsTab.vue?072e","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdPacketsTab.vue?5363"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Command Packets\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n itemsPerPageOptions: [10, 20, 50, 100],\n showFirstLastPage: true,\n },\"sort-by\":\"target_name\",\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"cmd-packets-table\"},on:{\"current-items\":_vm.currentItems},scopedSlots:_vm._u([{key:\"item.view_raw\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":item.count < 1},on:{\"click\":function($event){return _vm.openViewRaw(item.target_name, item.packet_name)}}},[_vm._v(\"\\n View Raw\\n \")])]}},{key:\"item.view_in_cmd_sender\",fn:function({ item }){return [(item.target_name === 'UNKNOWN')?_c('span',[_vm._v(\"N/A\")]):_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.openCmdSender(item.target_name, item.packet_name)}}},[_vm._v(\"\\n View In Command Sender\\n \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-open-in-new \")])],1)]}}])}),_vm._v(\" \"),_c('raw-dialog',{attrs:{\"type\":\"Command\",\"target-name\":_vm.target_name,\"packet-name\":_vm.packet_name,\"visible\":_vm.viewRaw},on:{\"display\":_vm.rawDisplayCallback}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Command Packets\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100],\n showFirstLastPage: true,\n }\"\n sort-by=\"target_name\"\n @current-items=\"currentItems\"\n calculate-widths\n multi-sort\n data-test=\"cmd-packets-table\"\n >\n <template v-slot:item.view_raw=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"item.count < 1\"\n @click=\"openViewRaw(item.target_name, item.packet_name)\"\n >\n View Raw\n </v-btn>\n </template>\n <template v-slot:item.view_in_cmd_sender=\"{ item }\">\n <span v-if=\"item.target_name === 'UNKNOWN'\">N/A</span>\n <v-btn\n v-else\n block\n color=\"primary\"\n @click=\"openCmdSender(item.target_name, item.packet_name)\"\n >\n View In Command Sender\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <raw-dialog\n type=\"Command\"\n :target-name=\"target_name\"\n :packet-name=\"packet_name\"\n :visible=\"viewRaw\"\n @display=\"rawDisplayCallback\"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport RawDialog from './RawDialog'\n\nexport default {\n components: {\n RawDialog,\n },\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n headers: [\n { text: 'Target Name', value: 'target_name' },\n { text: 'Packet Name', value: 'packet_name' },\n { text: 'Packet Count', value: 'count' },\n { text: 'View Raw', value: 'view_raw' },\n { text: 'View In Command Sender', value: 'view_in_cmd_sender' },\n ],\n viewRaw: false,\n target_name: null,\n packet_name: null,\n visible: null,\n }\n },\n created() {\n this.api.get_target_names().then((targets) => {\n targets.map((target) => {\n this.api.get_all_command_names(target).then((names) => {\n this.data = this.data.concat(\n names.map((packet) => {\n return { target_name: target, packet_name: packet, count: 0 }\n }),\n )\n })\n })\n })\n },\n methods: {\n // This method is hooked to the RawDialog as a callback to\n // keep track of whether the dialog is displayed\n rawDisplayCallback(bool) {\n this.viewRaw = bool\n },\n openViewRaw(target_name, packet_name) {\n this.target_name = target_name\n this.packet_name = packet_name\n this.viewRaw = true\n },\n openCmdSender(target_name, packet_name) {\n let routeData = this.$router.resolve({\n name: 'CommandSender',\n params: {\n target: target_name,\n packet: packet_name,\n },\n })\n window.open(`/tools/cmdsender/${target_name}/${packet_name}`, '_blank')\n },\n currentItems(event) {\n this.visible = event.map((i) => {\n return [i.target_name, i.packet_name]\n })\n },\n update() {\n if (this.tabId != this.curTab) return\n if (this.currentItems === null) return\n this.api.get_cmd_cnts(this.visible).then((counts) => {\n for (let i = 0; i < counts.length; i++) {\n let index = this.data.findIndex(\n (item) =>\n item.target_name === this.visible[i][0] &&\n item.packet_name === this.visible[i][1],\n )\n this.data[index].count = counts[i]\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdPacketsTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdPacketsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CmdPacketsTab.vue?vue&type=template&id=7651df0e&\"\nimport script from \"./CmdPacketsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./CmdPacketsTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["cov_haeaeutfe","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","showFirstLastPage","on","currentItems","scopedSlots","_u","key","fn","_ref","item","count","$event","openViewRaw","target_name","packet_name","_ref2","b","openCmdSender","viewRaw","rawDisplayCallback","staticRenderFns","components","RawDialog","mixins","Updater","props","tabId","Number","curTab","text","visible","created","_this","api","get_target_names","then","targets","map","target","get_all_command_names","names","concat","packet","methods","bool","$router","resolve","name","params","window","open","event","i","update","_this2","get_cmd_cnts","counts","_loop","index","findIndex","component"],"sourceRoot":""}