cosmosc2-tool-cmdtlmserver 5.0.2 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_cosmosc2_tool_cmdtlmserver"]=self["webpackChunk_cosmosc2_tool_cmdtlmserver"]||[]).push([[621],{5799:function(n,e,l){var t=l(1479);function o(){var n="/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="f0b5f59be3bc09a142595f4638035cf73a6d3719",l=new Function("return this")(),t="__coverage__",c={path:"/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:29,column:4},end:{line:32,column:5}},1:{start:{line:35,column:4},end:{line:35,column:30}},2:{start:{line:38,column:4},end:{line:38,column:24}},3:{start:{line:41,column:4},end:{line:44,column:5}},4:{start:{line:42,column:6},end:{line:42,column:33}},5:{start:{line:43,column:6},end:{line:43,column:25}},6:{start:{line:49,column:6},end:{line:49,column:26}},7:{start:{line:54,column:6},end:{line:57,column:7}},8:{start:{line:55,column:8},end:{line:55,column:35}},9:{start:{line:56,column:8},end:{line:56,column:27}},10:{start:{line:58,column:6},end:{line:60,column:30}},11:{start:{line:59,column:8},end:{line:59,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:28,column:2},end:{line:28,column:3}},loc:{start:{line:28,column:9},end:{line:33,column:3}},line:28},1:{name:"(anonymous_1)",decl:{start:{line:34,column:2},end:{line:34,column:3}},loc:{start:{line:34,column:12},end:{line:36,column:3}},line:34},2:{name:"(anonymous_2)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:18},end:{line:45,column:3}},line:40},4:{name:"(anonymous_4)",decl:{start:{line:48,column:21},end:{line:48,column:22}},loc:{start:{line:48,column:47},end:{line:50,column:5}},line:48},5:{name:"(anonymous_5)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:20},end:{line:61,column:5}},line:53},6:{name:"(anonymous_6)",decl:{start:{line:58,column:33},end:{line:58,column:34}},loc:{start:{line:58,column:39},end:{line:60,column:7}},line:58}},branchMap:{0:{loc:{start:{line:41,column:4},end:{line:44,column:5}},type:"if",locations:[{start:{line:41,column:4},end:{line:44,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},1:{loc:{start:{line:54,column:6},end:{line:57,column:7}},type:"if",locations:[{start:{line:54,column:6},end:{line:57,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:54}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f0b5f59be3bc09a142595f4638035cf73a6d3719"},i=l[t]||(l[t]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return o=function(){return s},s}o(),e["Z"]={props:{refreshInterval:{default:1e3}},data:function(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created:function(){o().f[1]++,o().s[1]++,this.api=new t.J},mounted:function(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy:function(){o().f[3]++,o().s[3]++,null!=this.updater?(o().b[0][0]++,o().s[4]++,clearInterval(this.updater),o().s[5]++,this.updater=null):o().b[0][1]++},watch:{refreshInterval:function(n,e){o().f[4]++,o().s[6]++,this.changeUpdater()}},methods:{changeUpdater:function(){var n=this;o().f[5]++,o().s[7]++,null!=this.updater?(o().b[1][0]++,o().s[8]++,clearInterval(this.updater),o().s[9]++,this.updater=null):o().b[1][1]++,o().s[10]++,this.updater=setInterval((function(){o().f[6]++,o().s[11]++,n.update()}),this.refreshInterval)}}}},2621:function(n,e,l){l.r(e),l.d(e,{default:function(){return A}});var t=function(){var n=this,e=n.$createElement,l=n._self._c||e;return l("v-card",[l("v-card-title",[n._v(" "+n._s(n.data.length)+" Routers "),l("v-spacer"),l("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){n.search=e},expression:"search"}})],1),l("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(e){var t=e.item;return[l("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return n.connectDisconnect(t)}}},[n._v(" "+n._s(t.connect)+" ")])]}},{key:"item.connected",fn:function(e){var t=e.item;return[l("span",{style:{color:t.connected_color}},[n._v(" "+n._s(t.connected)+" ")])]}}])})],1)},o=[],c=l(6711),i=(l(1245),l(3430),l(5799));function s(){var n="/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="bef10b8712c7043f8b87c2c138ddbf2f1721de9d",l=new Function("return this")(),t="__coverage__",o={path:"/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:73,column:4},end:{line:94,column:5}},1:{start:{line:99,column:6},end:{line:146,column:8}},2:{start:{line:100,column:8},end:{line:145,column:9}},3:{start:{line:100,column:21},end:{line:100,column:22}},4:{start:{line:101,column:23},end:{line:101,column:31}},5:{start:{line:102,column:21},end:{line:102,column:30}},6:{start:{line:104,column:10},end:{line:144,column:11}},7:{start:{line:106,column:12},end:{line:108,column:13}},8:{start:{line:107,column:14},end:{line:107,column:22}},9:{start:{line:109,column:12},end:{line:121,column:13}},10:{start:{line:110,column:14},end:{line:114,column:15}},11:{start:{line:111,column:16},end:{line:111,column:25}},12:{start:{line:113,column:16},end:{line:113,column:24}},13:{start:{line:116,column:14},end:{line:120,column:15}},14:{start:{line:117,column:16},end:{line:117,column:24}},15:{start:{line:119,column:16},end:{line:119,column:25}},16:{start:{line:122,column:17},end:{line:144,column:11}},17:{start:{line:124,column:12},end:{line:126,column:13}},18:{start:{line:125,column:14},end:{line:125,column:22}},19:{start:{line:127,column:12},end:{line:132,column:13}},20:{start:{line:129,column:14},end:{line:129,column:55}},21:{start:{line:131,column:14},end:{line:131,column:55}},22:{start:{line:135,column:12},end:{line:137,column:13}},23:{start:{line:136,column:14},end:{line:136,column:22}},24:{start:{line:138,column:12},end:{line:143,column:13}},25:{start:{line:140,column:14},end:{line:140,column:42}},26:{start:{line:142,column:14},end:{line:142,column:42}},27:{start:{line:147,column:6},end:{line:147,column:18}},28:{start:{line:150,column:6},end:{line:150,column:33}},29:{start:{line:151,column:6},end:{line:155,column:7}},30:{start:{line:152,column:8},end:{line:152,column:42}},31:{start:{line:154,column:8},end:{line:154,column:45}},32:{start:{line:158,column:6},end:{line:158,column:43}},33:{start:{line:158,column:37},end:{line:158,column:43}},34:{start:{line:159,column:6},end:{line:189,column:8}},35:{start:{line:160,column:8},end:{line:160,column:22}},36:{start:{line:161,column:8},end:{line:187,column:9}},37:{start:{line:162,column:24},end:{line:162,column:28}},38:{start:{line:163,column:32},end:{line:163,column:36}},39:{start:{line:164,column:10},end:{line:173,column:11}},40:{start:{line:165,column:12},end:{line:165,column:31}},41:{start:{line:166,column:12},end:{line:166,column:37}},42:{start:{line:167,column:17},end:{line:173,column:11}},43:{start:{line:168,column:12},end:{line:168,column:34}},44:{start:{line:169,column:12},end:{line:169,column:37}},45:{start:{line:171,column:12},end:{line:171,column:30}},46:{start:{line:172,column:12},end:{line:172,column:35}},47:{start:{line:174,column:10},end:{line:186,column:12}},48:{start:{line:188,column:8},end:{line:188,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:72,column:2},end:{line:72,column:3}},loc:{start:{line:72,column:9},end:{line:95,column:3}},line:72},1:{name:"(anonymous_1)",decl:{start:{line:98,column:4},end:{line:98,column:5}},loc:{start:{line:98,column:36},end:{line:148,column:5}},line:98},2:{name:"(anonymous_2)",decl:{start:{line:99,column:17},end:{line:99,column:18}},loc:{start:{line:99,column:27},end:{line:146,column:7}},line:99},3:{name:"(anonymous_3)",decl:{start:{line:149,column:4},end:{line:149,column:5}},loc:{start:{line:149,column:28},end:{line:156,column:5}},line:149},4:{name:"(anonymous_4)",decl:{start:{line:157,column:4},end:{line:157,column:5}},loc:{start:{line:157,column:13},end:{line:190,column:5}},line:157},5:{name:"(anonymous_5)",decl:{start:{line:159,column:42},end:{line:159,column:43}},loc:{start:{line:159,column:52},end:{line:189,column:7}},line:159}},branchMap:{0:{loc:{start:{line:104,column:10},end:{line:144,column:11}},type:"if",locations:[{start:{line:104,column:10},end:{line:144,column:11}},{start:{line:122,column:17},end:{line:144,column:11}}],line:104},1:{loc:{start:{line:106,column:12},end:{line:108,column:13}},type:"if",locations:[{start:{line:106,column:12},end:{line:108,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:106},2:{loc:{start:{line:109,column:12},end:{line:121,column:13}},type:"if",locations:[{start:{line:109,column:12},end:{line:121,column:13}},{start:{line:115,column:19},end:{line:121,column:13}}],line:109},3:{loc:{start:{line:110,column:14},end:{line:114,column:15}},type:"if",locations:[{start:{line:110,column:14},end:{line:114,column:15}},{start:{line:112,column:21},end:{line:114,column:15}}],line:110},4:{loc:{start:{line:116,column:14},end:{line:120,column:15}},type:"if",locations:[{start:{line:116,column:14},end:{line:120,column:15}},{start:{line:118,column:21},end:{line:120,column:15}}],line:116},5:{loc:{start:{line:122,column:17},end:{line:144,column:11}},type:"if",locations:[{start:{line:122,column:17},end:{line:144,column:11}},{start:{line:133,column:17},end:{line:144,column:11}}],line:122},6:{loc:{start:{line:124,column:12},end:{line:126,column:13}},type:"if",locations:[{start:{line:124,column:12},end:{line:126,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:124},7:{loc:{start:{line:127,column:12},end:{line:132,column:13}},type:"if",locations:[{start:{line:127,column:12},end:{line:132,column:13}},{start:{line:130,column:19},end:{line:132,column:13}}],line:127},8:{loc:{start:{line:135,column:12},end:{line:137,column:13}},type:"if",locations:[{start:{line:135,column:12},end:{line:137,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:135},9:{loc:{start:{line:138,column:12},end:{line:143,column:13}},type:"if",locations:[{start:{line:138,column:12},end:{line:143,column:13}},{start:{line:141,column:19},end:{line:143,column:13}}],line:138},10:{loc:{start:{line:151,column:6},end:{line:155,column:7}},type:"if",locations:[{start:{line:151,column:6},end:{line:155,column:7}},{start:{line:153,column:13},end:{line:155,column:7}}],line:151},11:{loc:{start:{line:158,column:6},end:{line:158,column:43}},type:"if",locations:[{start:{line:158,column:6},end:{line:158,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:158},12:{loc:{start:{line:164,column:10},end:{line:173,column:11}},type:"if",locations:[{start:{line:164,column:10},end:{line:173,column:11}},{start:{line:167,column:17},end:{line:173,column:11}}],line:164},13:{loc:{start:{line:167,column:17},end:{line:173,column:11}},type:"if",locations:[{start:{line:167,column:17},end:{line:173,column:11}},{start:{line:170,column:17},end:{line:173,column:11}}],line:167}},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:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA;;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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n--\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 :style=\"{ color: item.connected_color }\">\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 connected_color = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connected_color = 'white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connected_color = 'green'\n } else {\n connect = 'Cancel'\n connected_color = 'red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connected_color: connected_color,\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:"bef10b8712c7043f8b87c2c138ddbf2f1721de9d"},c=l[t]||(l[t]={});c[n]&&c[n].hash===e||(c[n]=o);var i=c[n];return s=function(){return i},i}s();var a={mixins:[i.Z],props:{tabId:Number,curTab:Number},data:function(){return s().f[0]++,s().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 s().f[1]++,s().s[1]++,n.sort((function(n,t){s().f[2]++,s().s[2]++;for(var o=(s().s[3]++,0);o<e.length;o++){var c=(s().s[4]++,e[o]),i=(s().s[5]++,l[o]);if(s().s[6]++,"connected"===c){if(s().b[0][0]++,s().s[7]++,n[c]===t[c]){s().b[1][0]++,s().s[8]++;continue}return s().b[1][1]++,s().s[9]++,i?(s().b[2][1]++,s().s[13]++,"CONNECTED"===n[c]?(s().b[4][0]++,s().s[14]++,1):(s().b[4][1]++,s().s[15]++,-1)):(s().b[2][0]++,s().s[10]++,"CONNECTED"===n[c]?(s().b[3][0]++,s().s[11]++,-1):(s().b[3][1]++,s().s[12]++,1))}if(s().b[0][1]++,s().s[16]++,"name"===c){if(s().b[5][0]++,s().s[17]++,n[c]===t[c]){s().b[6][0]++,s().s[18]++;continue}return s().b[6][1]++,s().s[19]++,i?(s().b[7][1]++,s().s[21]++,t[c].localeCompare(n[c])):(s().b[7][0]++,s().s[20]++,n[c].localeCompare(t[c]))}if(s().b[5][1]++,s().s[22]++,n[c]!==t[c])return s().b[8][1]++,s().s[24]++,i?(s().b[9][1]++,s().s[26]++,t[c]-n[c]):(s().b[9][0]++,s().s[25]++,n[c]-t[c]);s().b[8][0]++,s().s[23]++}})),s().s[27]++,n},connectDisconnect:function(n){s().f[3]++,s().s[28]++,this.buttonsDisabled=!0,s().s[29]++,"DISCONNECTED"===n.connected?(s().b[10][0]++,s().s[30]++,this.api.connect_router(n.name)):(s().b[10][1]++,s().s[31]++,this.api.disconnect_router(n.name))},update:function(){var n=this;if(s().f[4]++,s().s[32]++,this.tabId!=this.curTab)return s().b[11][0]++,void s().s[33]++;s().b[11][1]++,s().s[34]++,this.api.get_all_router_info().then((function(e){s().f[5]++,s().s[35]++,n.data=[],s().s[36]++;var l,t=(0,c.Z)(e);try{for(t.s();!(l=t.n()).done;){var o=l.value,i=(s().s[37]++,null),a=(s().s[38]++,null);s().s[39]++,"DISCONNECTED"==o[1]?(s().b[12][0]++,s().s[40]++,i="Connect",s().s[41]++,a="white"):(s().b[12][1]++,s().s[42]++,"CONNECTED"==o[1]?(s().b[13][0]++,s().s[43]++,i="Disconnect",s().s[44]++,a="green"):(s().b[13][1]++,s().s[45]++,i="Cancel",s().s[46]++,a="red")),s().s[47]++,n.data.push({name:o[0],connect:i,connected_color:a,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()}s().s[48]++,n.buttonsDisabled=!1}))}}},u=a,r=l(3287),m=(0,r.Z)(u,t,o,!1,null,null,null),A=m.exports},6711: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(3486);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
+ //# sourceMappingURL=621.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/621.js","mappings":"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","sources":["webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?e5e8","webpack://@cosmosc2/tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?7897","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue","webpack://@cosmosc2/tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new CosmosApi()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_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(ref){\nvar item = ref.item;\nreturn [_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(ref){\nvar item = ref.item;\nreturn [_c('span',{style:({ color: item.connected_color })},[_vm._v(\" \"+_vm._s(item.connected)+\" \")])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-card>\n <v-card-title>\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 :style=\"{ color: item.connected_color }\">\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 connected_color = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connected_color = 'white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connected_color = 'green'\n } else {\n connect = 'Cancel'\n connected_color = 'red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connected_color: connected_color,\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/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoutersTab.vue?vue&type=template&id=90d8e1b8&\"\nimport script from \"./RoutersTab.vue?vue&type=script&lang=js&\"\nexport * from \"./RoutersTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["props","refreshInterval","default","data","updater","api","created","this","CosmosApi","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","methods","setInterval","update","render","_vm","_h","$createElement","_c","_self","_v","_s","length","attrs","model","value","callback","$$v","search","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","ref","item","buttonsDisabled","on","$event","connectDisconnect","connect","style","color","connected_color","connected","staticRenderFns","mixins","tabId","curTab","text","sortable","filterable","items","index","isDesc","info","name","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","component","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","done","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_cosmosc2_tool_cmdtlmserver"]=self["webpackChunk_cosmosc2_tool_cmdtlmserver"]||[]).push([[641],{5799:function(n,e,l){var t=l(1479);function o(){var n="/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="f0b5f59be3bc09a142595f4638035cf73a6d3719",l=new Function("return this")(),t="__coverage__",c={path:"/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:29,column:4},end:{line:32,column:5}},1:{start:{line:35,column:4},end:{line:35,column:30}},2:{start:{line:38,column:4},end:{line:38,column:24}},3:{start:{line:41,column:4},end:{line:44,column:5}},4:{start:{line:42,column:6},end:{line:42,column:33}},5:{start:{line:43,column:6},end:{line:43,column:25}},6:{start:{line:49,column:6},end:{line:49,column:26}},7:{start:{line:54,column:6},end:{line:57,column:7}},8:{start:{line:55,column:8},end:{line:55,column:35}},9:{start:{line:56,column:8},end:{line:56,column:27}},10:{start:{line:58,column:6},end:{line:60,column:30}},11:{start:{line:59,column:8},end:{line:59,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:28,column:2},end:{line:28,column:3}},loc:{start:{line:28,column:9},end:{line:33,column:3}},line:28},1:{name:"(anonymous_1)",decl:{start:{line:34,column:2},end:{line:34,column:3}},loc:{start:{line:34,column:12},end:{line:36,column:3}},line:34},2:{name:"(anonymous_2)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:18},end:{line:45,column:3}},line:40},4:{name:"(anonymous_4)",decl:{start:{line:48,column:21},end:{line:48,column:22}},loc:{start:{line:48,column:47},end:{line:50,column:5}},line:48},5:{name:"(anonymous_5)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:20},end:{line:61,column:5}},line:53},6:{name:"(anonymous_6)",decl:{start:{line:58,column:33},end:{line:58,column:34}},loc:{start:{line:58,column:39},end:{line:60,column:7}},line:58}},branchMap:{0:{loc:{start:{line:41,column:4},end:{line:44,column:5}},type:"if",locations:[{start:{line:41,column:4},end:{line:44,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},1:{loc:{start:{line:54,column:6},end:{line:57,column:7}},type:"if",locations:[{start:{line:54,column:6},end:{line:57,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:54}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f0b5f59be3bc09a142595f4638035cf73a6d3719"},i=l[t]||(l[t]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return o=function(){return s},s}o(),e["Z"]={props:{refreshInterval:{default:1e3}},data:function(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created:function(){o().f[1]++,o().s[1]++,this.api=new t.J},mounted:function(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy:function(){o().f[3]++,o().s[3]++,null!=this.updater?(o().b[0][0]++,o().s[4]++,clearInterval(this.updater),o().s[5]++,this.updater=null):o().b[0][1]++},watch:{refreshInterval:function(n,e){o().f[4]++,o().s[6]++,this.changeUpdater()}},methods:{changeUpdater:function(){var n=this;o().f[5]++,o().s[7]++,null!=this.updater?(o().b[1][0]++,o().s[8]++,clearInterval(this.updater),o().s[9]++,this.updater=null):o().b[1][1]++,o().s[10]++,this.updater=setInterval((function(){o().f[6]++,o().s[11]++,n.update()}),this.refreshInterval)}}}},3641:function(n,e,l){l.r(e),l.d(e,{default:function(){return A}});var t=function(){var n=this,e=n.$createElement,l=n._self._c||e;return l("v-card",[l("v-card-title",[n._v(" "+n._s(n.data.length)+" Interfaces "),l("v-spacer"),l("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){n.search=e},expression:"search"}})],1),l("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":"interfaces-table"},scopedSlots:n._u([{key:"item.connect",fn:function(e){var t=e.item;return[l("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return n.connectDisconnect(t)}}},[n._v(" "+n._s(t.connect)+" ")])]}},{key:"item.connected",fn:function(e){var t=e.item;return[l("span",{style:{color:t.connected_color}},[n._v(" "+n._s(t.connected)+" ")])]}}])})],1)},o=[],c=l(6711),i=(l(1245),l(3430),l(5799));function s(){var n="/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",e="81eab0b52a795dadec2dc9c066e5c6e61affaf59",l=new Function("return this")(),t="__coverage__",o={path:"/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",statementMap:{0:{start:{line:73,column:4},end:{line:94,column:5}},1:{start:{line:99,column:6},end:{line:146,column:8}},2:{start:{line:100,column:8},end:{line:145,column:9}},3:{start:{line:100,column:21},end:{line:100,column:22}},4:{start:{line:101,column:23},end:{line:101,column:31}},5:{start:{line:102,column:21},end:{line:102,column:30}},6:{start:{line:104,column:10},end:{line:144,column:11}},7:{start:{line:106,column:12},end:{line:108,column:13}},8:{start:{line:107,column:14},end:{line:107,column:22}},9:{start:{line:109,column:12},end:{line:121,column:13}},10:{start:{line:110,column:14},end:{line:114,column:15}},11:{start:{line:111,column:16},end:{line:111,column:25}},12:{start:{line:113,column:16},end:{line:113,column:24}},13:{start:{line:116,column:14},end:{line:120,column:15}},14:{start:{line:117,column:16},end:{line:117,column:24}},15:{start:{line:119,column:16},end:{line:119,column:25}},16:{start:{line:122,column:17},end:{line:144,column:11}},17:{start:{line:124,column:12},end:{line:126,column:13}},18:{start:{line:125,column:14},end:{line:125,column:22}},19:{start:{line:127,column:12},end:{line:132,column:13}},20:{start:{line:129,column:14},end:{line:129,column:55}},21:{start:{line:131,column:14},end:{line:131,column:55}},22:{start:{line:135,column:12},end:{line:137,column:13}},23:{start:{line:136,column:14},end:{line:136,column:22}},24:{start:{line:138,column:12},end:{line:143,column:13}},25:{start:{line:140,column:14},end:{line:140,column:42}},26:{start:{line:142,column:14},end:{line:142,column:42}},27:{start:{line:147,column:6},end:{line:147,column:18}},28:{start:{line:150,column:6},end:{line:150,column:33}},29:{start:{line:151,column:6},end:{line:155,column:7}},30:{start:{line:152,column:8},end:{line:152,column:45}},31:{start:{line:154,column:8},end:{line:154,column:48}},32:{start:{line:158,column:6},end:{line:158,column:43}},33:{start:{line:158,column:37},end:{line:158,column:43}},34:{start:{line:159,column:6},end:{line:189,column:8}},35:{start:{line:160,column:8},end:{line:160,column:22}},36:{start:{line:161,column:8},end:{line:187,column:9}},37:{start:{line:162,column:24},end:{line:162,column:28}},38:{start:{line:163,column:32},end:{line:163,column:36}},39:{start:{line:164,column:10},end:{line:173,column:11}},40:{start:{line:165,column:12},end:{line:165,column:31}},41:{start:{line:166,column:12},end:{line:166,column:37}},42:{start:{line:167,column:17},end:{line:173,column:11}},43:{start:{line:168,column:12},end:{line:168,column:34}},44:{start:{line:169,column:12},end:{line:169,column:37}},45:{start:{line:171,column:12},end:{line:171,column:30}},46:{start:{line:172,column:12},end:{line:172,column:35}},47:{start:{line:174,column:10},end:{line:186,column:12}},48:{start:{line:188,column:8},end:{line:188,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:72,column:2},end:{line:72,column:3}},loc:{start:{line:72,column:9},end:{line:95,column:3}},line:72},1:{name:"(anonymous_1)",decl:{start:{line:98,column:4},end:{line:98,column:5}},loc:{start:{line:98,column:36},end:{line:148,column:5}},line:98},2:{name:"(anonymous_2)",decl:{start:{line:99,column:17},end:{line:99,column:18}},loc:{start:{line:99,column:27},end:{line:146,column:7}},line:99},3:{name:"(anonymous_3)",decl:{start:{line:149,column:4},end:{line:149,column:5}},loc:{start:{line:149,column:28},end:{line:156,column:5}},line:149},4:{name:"(anonymous_4)",decl:{start:{line:157,column:4},end:{line:157,column:5}},loc:{start:{line:157,column:13},end:{line:190,column:5}},line:157},5:{name:"(anonymous_5)",decl:{start:{line:159,column:45},end:{line:159,column:46}},loc:{start:{line:159,column:55},end:{line:189,column:7}},line:159}},branchMap:{0:{loc:{start:{line:104,column:10},end:{line:144,column:11}},type:"if",locations:[{start:{line:104,column:10},end:{line:144,column:11}},{start:{line:122,column:17},end:{line:144,column:11}}],line:104},1:{loc:{start:{line:106,column:12},end:{line:108,column:13}},type:"if",locations:[{start:{line:106,column:12},end:{line:108,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:106},2:{loc:{start:{line:109,column:12},end:{line:121,column:13}},type:"if",locations:[{start:{line:109,column:12},end:{line:121,column:13}},{start:{line:115,column:19},end:{line:121,column:13}}],line:109},3:{loc:{start:{line:110,column:14},end:{line:114,column:15}},type:"if",locations:[{start:{line:110,column:14},end:{line:114,column:15}},{start:{line:112,column:21},end:{line:114,column:15}}],line:110},4:{loc:{start:{line:116,column:14},end:{line:120,column:15}},type:"if",locations:[{start:{line:116,column:14},end:{line:120,column:15}},{start:{line:118,column:21},end:{line:120,column:15}}],line:116},5:{loc:{start:{line:122,column:17},end:{line:144,column:11}},type:"if",locations:[{start:{line:122,column:17},end:{line:144,column:11}},{start:{line:133,column:17},end:{line:144,column:11}}],line:122},6:{loc:{start:{line:124,column:12},end:{line:126,column:13}},type:"if",locations:[{start:{line:124,column:12},end:{line:126,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:124},7:{loc:{start:{line:127,column:12},end:{line:132,column:13}},type:"if",locations:[{start:{line:127,column:12},end:{line:132,column:13}},{start:{line:130,column:19},end:{line:132,column:13}}],line:127},8:{loc:{start:{line:135,column:12},end:{line:137,column:13}},type:"if",locations:[{start:{line:135,column:12},end:{line:137,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:135},9:{loc:{start:{line:138,column:12},end:{line:143,column:13}},type:"if",locations:[{start:{line:138,column:12},end:{line:143,column:13}},{start:{line:141,column:19},end:{line:143,column:13}}],line:138},10:{loc:{start:{line:151,column:6},end:{line:155,column:7}},type:"if",locations:[{start:{line:151,column:6},end:{line:155,column:7}},{start:{line:153,column:13},end:{line:155,column:7}}],line:151},11:{loc:{start:{line:158,column:6},end:{line:158,column:43}},type:"if",locations:[{start:{line:158,column:6},end:{line:158,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:158},12:{loc:{start:{line:164,column:10},end:{line:173,column:11}},type:"if",locations:[{start:{line:164,column:10},end:{line:173,column:11}},{start:{line:167,column:17},end:{line:173,column:11}}],line:164},13:{loc:{start:{line:167,column:17},end:{line:173,column:11}},type:"if",locations:[{start:{line:167,column:17},end:{line:173,column:11}},{start:{line:170,column:17},end:{line:173,column:11}}],line:167}},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:["InterfacesTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA;;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:"InterfacesTab.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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Interfaces\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=\"interfaces-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 :style=\"{ color: item.connected_color }\">\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_interface(item.name)\n } else {\n this.api.disconnect_interface(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_interface_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connected_color = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connected_color = 'white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connected_color = 'green'\n } else {\n connect = 'Cancel'\n connected_color = 'red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connected_color: connected_color,\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:"81eab0b52a795dadec2dc9c066e5c6e61affaf59"},c=l[t]||(l[t]={});c[n]&&c[n].hash===e||(c[n]=o);var i=c[n];return s=function(){return i},i}s();var a={mixins:[i.Z],props:{tabId:Number,curTab:Number},data:function(){return s().f[0]++,s().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 s().f[1]++,s().s[1]++,n.sort((function(n,t){s().f[2]++,s().s[2]++;for(var o=(s().s[3]++,0);o<e.length;o++){var c=(s().s[4]++,e[o]),i=(s().s[5]++,l[o]);if(s().s[6]++,"connected"===c){if(s().b[0][0]++,s().s[7]++,n[c]===t[c]){s().b[1][0]++,s().s[8]++;continue}return s().b[1][1]++,s().s[9]++,i?(s().b[2][1]++,s().s[13]++,"CONNECTED"===n[c]?(s().b[4][0]++,s().s[14]++,1):(s().b[4][1]++,s().s[15]++,-1)):(s().b[2][0]++,s().s[10]++,"CONNECTED"===n[c]?(s().b[3][0]++,s().s[11]++,-1):(s().b[3][1]++,s().s[12]++,1))}if(s().b[0][1]++,s().s[16]++,"name"===c){if(s().b[5][0]++,s().s[17]++,n[c]===t[c]){s().b[6][0]++,s().s[18]++;continue}return s().b[6][1]++,s().s[19]++,i?(s().b[7][1]++,s().s[21]++,t[c].localeCompare(n[c])):(s().b[7][0]++,s().s[20]++,n[c].localeCompare(t[c]))}if(s().b[5][1]++,s().s[22]++,n[c]!==t[c])return s().b[8][1]++,s().s[24]++,i?(s().b[9][1]++,s().s[26]++,t[c]-n[c]):(s().b[9][0]++,s().s[25]++,n[c]-t[c]);s().b[8][0]++,s().s[23]++}})),s().s[27]++,n},connectDisconnect:function(n){s().f[3]++,s().s[28]++,this.buttonsDisabled=!0,s().s[29]++,"DISCONNECTED"===n.connected?(s().b[10][0]++,s().s[30]++,this.api.connect_interface(n.name)):(s().b[10][1]++,s().s[31]++,this.api.disconnect_interface(n.name))},update:function(){var n=this;if(s().f[4]++,s().s[32]++,this.tabId!=this.curTab)return s().b[11][0]++,void s().s[33]++;s().b[11][1]++,s().s[34]++,this.api.get_all_interface_info().then((function(e){s().f[5]++,s().s[35]++,n.data=[],s().s[36]++;var l,t=(0,c.Z)(e);try{for(t.s();!(l=t.n()).done;){var o=l.value,i=(s().s[37]++,null),a=(s().s[38]++,null);s().s[39]++,"DISCONNECTED"==o[1]?(s().b[12][0]++,s().s[40]++,i="Connect",s().s[41]++,a="white"):(s().b[12][1]++,s().s[42]++,"CONNECTED"==o[1]?(s().b[13][0]++,s().s[43]++,i="Disconnect",s().s[44]++,a="green"):(s().b[13][1]++,s().s[45]++,i="Cancel",s().s[46]++,a="red")),s().s[47]++,n.data.push({name:o[0],connect:i,connected_color:a,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()}s().s[48]++,n.buttonsDisabled=!1}))}}},u=a,r=l(3287),m=(0,r.Z)(u,t,o,!1,null,null,null),A=m.exports},6711: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(3486);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
+ //# sourceMappingURL=641.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/641.js","mappings":"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","sources":["webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue?2c0c","webpack://@cosmosc2/tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue?ee88","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue","webpack://@cosmosc2/tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new CosmosApi()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Interfaces \"),_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\":\"interfaces-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function(ref){\nvar item = ref.item;\nreturn [_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(ref){\nvar item = ref.item;\nreturn [_c('span',{style:({ color: item.connected_color })},[_vm._v(\" \"+_vm._s(item.connected)+\" \")])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Interfaces\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=\"interfaces-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 :style=\"{ color: item.connected_color }\">\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_interface(item.name)\n } else {\n this.api.disconnect_interface(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_interface_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connected_color = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connected_color = 'white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connected_color = 'green'\n } else {\n connect = 'Cancel'\n connected_color = 'red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connected_color: connected_color,\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/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InterfacesTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InterfacesTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterfacesTab.vue?vue&type=template&id=61e9ab28&\"\nimport script from \"./InterfacesTab.vue?vue&type=script&lang=js&\"\nexport * from \"./InterfacesTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["props","refreshInterval","default","data","updater","api","created","this","CosmosApi","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","methods","setInterval","update","render","_vm","_h","$createElement","_c","_self","_v","_s","length","attrs","model","value","callback","$$v","search","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","ref","item","buttonsDisabled","on","$event","connectDisconnect","connect","style","color","connected_color","connected","staticRenderFns","mixins","tabId","curTab","text","sortable","filterable","items","index","isDesc","info","name","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","component","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","done","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_cosmosc2_tool_cmdtlmserver"]=self["webpackChunk_cosmosc2_tool_cmdtlmserver"]||[]).push([[647],{8308:function(e,n,t){t.r(n),t.d(n,{default:function(){return A}});var a=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("v-card",[t("v-card-title",[e._v(" "+e._s(e.data.length)+" Telemetry Packets "),t("v-spacer"),t("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),t("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100,-1]},"calculate-widths":"","multi-sort":"","data-test":"tlm-packets-table"},scopedSlots:e._u([{key:"item.view_raw",fn:function(n){var a=n.item;return[t("v-btn",{attrs:{block:"",color:"primary",disabled:a.count<1},on:{click:function(n){return e.openViewRaw(a.target_name,a.packet_name)}}},[e._v(" View Raw ")])]}},{key:"item.view_in_pkt_viewer",fn:function(n){var a=n.item;return["UNKNOWN"===a.target_name?t("span",[e._v("N/A")]):e._e(),"UNKNOWN"!=a.target_name?t("v-btn",{attrs:{block:"",color:"primary"},on:{click:function(n){return e.openPktViewer(a.target_name,a.packet_name)}}},[e._v(" View In Packet Viewer "),t("v-icon",{attrs:{right:""}},[e._v(" mdi-open-in-new ")])],1):e._e()]}}])}),t("raw-dialog",{attrs:{type:"Telemetry","target-name":e.target_name,"packet-name":e.packet_name,visible:e.viewRaw},on:{display:e.rawDisplayCallback}})],1)},l=[],i=(t(1245),t(8178),t(3450),t(5799)),o=t(3407);function r(){var e="/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",n="29d7ff1df9265c8872fe9cb42651df270d526b4a",t=new Function("return this")(),a="__coverage__",l={path:"/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",statementMap:{0:{start:{line:90,column:4},end:{line:103,column:5}},1:{start:{line:109,column:6},end:{line:109,column:25}},2:{start:{line:112,column:6},end:{line:112,column:36}},3:{start:{line:113,column:6},end:{line:113,column:36}},4:{start:{line:114,column:6},end:{line:114,column:25}},5:{start:{line:117,column:6},end:{line:117,column:80}},6:{start:{line:120,column:6},end:{line:120,column:43}},7:{start:{line:120,column:37},end:{line:120,column:43}},8:{start:{line:121,column:6},end:{line:125,column:8}},9:{start:{line:122,column:8},end:{line:124,column:10}},10:{start:{line:123,column:10},end:{line:123,column:70}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:89,column:2},end:{line:89,column:3}},loc:{start:{line:89,column:9},end:{line:104,column:3}},line:89},1:{name:"(anonymous_1)",decl:{start:{line:108,column:4},end:{line:108,column:5}},loc:{start:{line:108,column:29},end:{line:110,column:5}},line:108},2:{name:"(anonymous_2)",decl:{start:{line:111,column:4},end:{line:111,column:5}},loc:{start:{line:111,column:42},end:{line:115,column:5}},line:111},3:{name:"(anonymous_3)",decl:{start:{line:116,column:4},end:{line:116,column:5}},loc:{start:{line:116,column:44},end:{line:118,column:5}},line:116},4:{name:"(anonymous_4)",decl:{start:{line:119,column:4},end:{line:119,column:5}},loc:{start:{line:119,column:13},end:{line:126,column:5}},line:119},5:{name:"(anonymous_5)",decl:{start:{line:121,column:39},end:{line:121,column:40}},loc:{start:{line:121,column:49},end:{line:125,column:7}},line:121},6:{name:"(anonymous_6)",decl:{start:{line:122,column:29},end:{line:122,column:30}},loc:{start:{line:122,column:36},end:{line:124,column:9}},line:122}},branchMap:{0:{loc:{start:{line:120,column:6},end:{line:120,column:43}},type:"if",locations:[{start:{line:120,column:6},end:{line:120,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:120}},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:{0:[0,0]},inputSourceMap:{version:3,sources:["TlmPacketsTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EA;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",file:"TlmPacketsTab.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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Telemetry 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="{ itemsPerPageOptions: [10, 20, 50, 100, -1] }"\n calculate-widths\n multi-sort\n data-test="tlm-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_pkt_viewer="{ item }">\n <span v-if="item.target_name === \'UNKNOWN\'">N/A</span>\n <v-btn\n v-if="item.target_name != \'UNKNOWN\'"\n block\n color="primary"\n @click="openPktViewer(item.target_name, item.packet_name)"\n >\n View In Packet Viewer\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <raw-dialog\n type="Telemetry"\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 Packet Viewer\', value: \'view_in_pkt_viewer\' },\n ],\n viewRaw: false,\n target_name: null,\n packet_name: null,\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 openPktViewer(target_name, packet_name) {\n window.open(`/tools/packetviewer/${target_name}/${packet_name}`, \'_blank\')\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_tlm_info().then((info) => {\n this.data = info.map((x) => {\n return { target_name: x[0], packet_name: x[1], count: x[2] }\n })\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"29d7ff1df9265c8872fe9cb42651df270d526b4a"},i=t[a]||(t[a]={});i[e]&&i[e].hash===n||(i[e]=l);var o=i[e];return r=function(){return o},o}r();var c={components:{RawDialog:o.Z},mixins:[i.Z],props:{tabId:Number,curTab:Number},data:function(){return r().f[0]++,r().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 Packet Viewer",value:"view_in_pkt_viewer"}],viewRaw:!1,target_name:null,packet_name:null}},methods:{rawDisplayCallback:function(e){r().f[1]++,r().s[1]++,this.viewRaw=e},openViewRaw:function(e,n){r().f[2]++,r().s[2]++,this.target_name=e,r().s[3]++,this.packet_name=n,r().s[4]++,this.viewRaw=!0},openPktViewer:function(e,n){r().f[3]++,r().s[5]++,window.open("/tools/packetviewer/".concat(e,"/").concat(n),"_blank")},update:function(){var e=this;if(r().f[4]++,r().s[6]++,this.tabId!=this.curTab)return r().b[0][0]++,void r().s[7]++;r().b[0][1]++,r().s[8]++,this.api.get_all_tlm_info().then((function(n){r().f[5]++,r().s[9]++,e.data=n.map((function(e){return r().f[6]++,r().s[10]++,{target_name:e[0],packet_name:e[1],count:e[2]}}))}))}}},s=c,m=t(3287),u=(0,m.Z)(s,a,l,!1,null,null,null),A=u.exports}}]);
2
+ //# sourceMappingURL=647.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/647.js","mappings":"kMAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,eAAe,CAACJ,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,KAAKC,QAAQ,uBAAuBL,EAAG,YAAYA,EAAG,eAAe,CAACM,MAAM,CAAC,cAAc,cAAc,MAAQ,SAAS,cAAc,GAAG,eAAe,IAAIC,MAAM,CAACC,MAAOZ,EAAU,OAAEa,SAAS,SAAUC,GAAMd,EAAIe,OAAOD,GAAKE,WAAW,aAAa,GAAGZ,EAAG,eAAe,CAACM,MAAM,CAAC,QAAUV,EAAIiB,QAAQ,MAAQjB,EAAIQ,KAAK,OAASR,EAAIe,OAAO,iBAAiB,GAAG,eAAe,CAAEG,oBAAqB,CAAC,GAAI,GAAI,GAAI,KAAM,IAAK,mBAAmB,GAAG,aAAa,GAAG,YAAY,qBAAqBC,YAAYnB,EAAIoB,GAAG,CAAC,CAACC,IAAI,gBAAgBC,GAAG,SAASC,GACrrB,IAAIC,EAAOD,EAAIC,KACf,MAAO,CAACpB,EAAG,QAAQ,CAACM,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,SAAWc,EAAKC,MAAQ,GAAGC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO3B,EAAI4B,YAAYJ,EAAKK,YAAaL,EAAKM,gBAAgB,CAAC9B,EAAIM,GAAG,mBAAmB,CAACe,IAAI,0BAA0BC,GAAG,SAASC,GACpP,IAAIC,EAAOD,EAAIC,KACf,MAAO,CAAuB,YAArBA,EAAKK,YAA2BzB,EAAG,OAAO,CAACJ,EAAIM,GAAG,SAASN,EAAI+B,KAA0B,WAApBP,EAAKK,YAA0BzB,EAAG,QAAQ,CAACM,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAWgB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO3B,EAAIgC,cAAcR,EAAKK,YAAaL,EAAKM,gBAAgB,CAAC9B,EAAIM,GAAG,2BAA2BF,EAAG,SAAS,CAACM,MAAM,CAAC,MAAQ,KAAK,CAACV,EAAIM,GAAG,wBAAwB,GAAGN,EAAI+B,YAAY3B,EAAG,aAAa,CAACM,MAAM,CAAC,KAAO,YAAY,cAAcV,EAAI6B,YAAY,cAAc7B,EAAI8B,YAAY,QAAU9B,EAAIiC,SAASP,GAAG,CAAC,QAAU1B,EAAIkC,uBAAuB,IACrhBC,EAAkB,G,8nNC0EtB,OACAC,WAAAA,CACAC,UAAAA,EAAAA,GAEAC,OAAAA,CAAAA,EAAAA,GACAC,MAAAA,CACAC,MAAAA,OACAC,OAAAA,QAEAjC,KATA,WAUA,OADA,sBACA,CACAO,OAAAA,GACAP,KAAAA,GACAS,QAAAA,CACA,CAAAyB,KAAAA,cAAA9B,MAAAA,eACA,CAAA8B,KAAAA,cAAA9B,MAAAA,eACA,CAAA8B,KAAAA,eAAA9B,MAAAA,SACA,CAAA8B,KAAAA,WAAA9B,MAAAA,YACA,CAAA8B,KAAAA,wBAAA9B,MAAAA,uBAEAqB,SAAAA,EACAJ,YAAAA,KACAC,YAAAA,OAGAa,QAAAA,CAGAT,mBAHA,SAGAU,GAAA,sBACA,gBAEAhB,YANA,SAMAC,EAAAC,GAAA,sBACA,mBADA,WAEA,mBAFA,WAGA,iBAEAE,cAXA,SAWAH,EAAAC,GAAA,sBACAe,OAAAA,KAAAA,uBAAAA,OAAAA,EAAAA,KAAAA,OAAAA,GAAAA,WAEAC,OAdA,WAcA,WACA,GADA,sBACA,2EADA,WAEA,oEACA,0BACA,OADA,uBACA,CAAAjB,YAAAA,EAAAA,GAAAC,YAAAA,EAAAA,GAAAL,MAAAA,EAAAA,aC1HwY,I,UCOpYsB,GAAY,OACd,EACAhD,EACAoC,GACA,EACA,KACA,KACA,MAIF,EAAeY,EAAiB","sources":["webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/TlmPacketsTab.vue?d9ef","webpack://@cosmosc2/tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/TlmPacketsTab.vue?dde4","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/TlmPacketsTab.vue"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Telemetry Packets \"),_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\":{ itemsPerPageOptions: [10, 20, 50, 100, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"tlm-packets-table\"},scopedSlots:_vm._u([{key:\"item.view_raw\",fn:function(ref){\nvar item = ref.item;\nreturn [_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(\" View Raw \")])]}},{key:\"item.view_in_pkt_viewer\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.target_name === 'UNKNOWN')?_c('span',[_vm._v(\"N/A\")]):_vm._e(),(item.target_name != 'UNKNOWN')?_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.openPktViewer(item.target_name, item.packet_name)}}},[_vm._v(\" View In Packet Viewer \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-open-in-new \")])],1):_vm._e()]}}])}),_c('raw-dialog',{attrs:{\"type\":\"Telemetry\",\"target-name\":_vm.target_name,\"packet-name\":_vm.packet_name,\"visible\":_vm.viewRaw},on:{\"display\":_vm.rawDisplayCallback}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Telemetry 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=\"{ itemsPerPageOptions: [10, 20, 50, 100, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"tlm-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_pkt_viewer=\"{ item }\">\n <span v-if=\"item.target_name === 'UNKNOWN'\">N/A</span>\n <v-btn\n v-if=\"item.target_name != 'UNKNOWN'\"\n block\n color=\"primary\"\n @click=\"openPktViewer(item.target_name, item.packet_name)\"\n >\n View In Packet Viewer\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <raw-dialog\n type=\"Telemetry\"\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 Packet Viewer', value: 'view_in_pkt_viewer' },\n ],\n viewRaw: false,\n target_name: null,\n packet_name: null,\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 openPktViewer(target_name, packet_name) {\n window.open(`/tools/packetviewer/${target_name}/${packet_name}`, '_blank')\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_tlm_info().then((info) => {\n this.data = info.map((x) => {\n return { target_name: x[0], packet_name: x[1], count: x[2] }\n })\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmPacketsTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmPacketsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TlmPacketsTab.vue?vue&type=template&id=9f94f9d4&\"\nimport script from \"./TlmPacketsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./TlmPacketsTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_h","$createElement","_c","_self","_v","_s","data","length","attrs","model","value","callback","$$v","search","expression","headers","itemsPerPageOptions","scopedSlots","_u","key","fn","ref","item","count","on","$event","openViewRaw","target_name","packet_name","_e","openPktViewer","viewRaw","rawDisplayCallback","staticRenderFns","components","RawDialog","mixins","props","tabId","curTab","text","methods","bool","window","update","component"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_cosmosc2_tool_cmdtlmserver"]=self["webpackChunk_cosmosc2_tool_cmdtlmserver"]||[]).push([[950],{2950:function(e,n,t){t.r(n),t.d(n,{default:function(){return A}});var a=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("v-card",[t("v-card-title",[e._v(" "+e._s(e.data.length)+" Command Packets "),t("v-spacer"),t("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),t("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100,-1]},"calculate-widths":"","multi-sort":"","data-test":"cmd-packets-table"},scopedSlots:e._u([{key:"item.view_raw",fn:function(n){var a=n.item;return[t("v-btn",{attrs:{block:"",color:"primary",disabled:a.count<1},on:{click:function(n){return e.openViewRaw(a.target_name,a.packet_name)}}},[e._v(" View Raw ")])]}},{key:"item.view_in_cmd_sender",fn:function(n){var a=n.item;return["UNKNOWN"===a.target_name?t("span",[e._v("N/A")]):t("v-btn",{attrs:{block:"",color:"primary"},on:{click:function(n){return e.openCmdSender(a.target_name,a.packet_name)}}},[e._v(" View In Command Sender "),t("v-icon",{attrs:{right:""}},[e._v(" mdi-open-in-new ")])],1)]}}])}),t("raw-dialog",{attrs:{type:"Command","target-name":e.target_name,"packet-name":e.packet_name,visible:e.viewRaw},on:{display:e.rawDisplayCallback}})],1)},l=[],i=(t(1245),t(8178),t(3450),t(5799)),o=t(3407);function r(){var e="/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdPacketsTab.vue",n="3e97299d6b731b58d93cf1e36890dd21c2e051ef",t=new Function("return this")(),a="__coverage__",l={path:"/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdPacketsTab.vue",statementMap:{0:{start:{line:90,column:4},end:{line:103,column:5}},1:{start:{line:109,column:6},end:{line:109,column:25}},2:{start:{line:112,column:6},end:{line:112,column:36}},3:{start:{line:113,column:6},end:{line:113,column:36}},4:{start:{line:114,column:6},end:{line:114,column:25}},5:{start:{line:117,column:22},end:{line:123,column:8}},6:{start:{line:124,column:6},end:{line:124,column:77}},7:{start:{line:127,column:6},end:{line:127,column:43}},8:{start:{line:127,column:37},end:{line:127,column:43}},9:{start:{line:128,column:6},end:{line:132,column:8}},10:{start:{line:129,column:8},end:{line:131,column:10}},11:{start:{line:130,column:10},end:{line:130,column:70}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:89,column:2},end:{line:89,column:3}},loc:{start:{line:89,column:9},end:{line:104,column:3}},line:89},1:{name:"(anonymous_1)",decl:{start:{line:108,column:4},end:{line:108,column:5}},loc:{start:{line:108,column:29},end:{line:110,column:5}},line:108},2:{name:"(anonymous_2)",decl:{start:{line:111,column:4},end:{line:111,column:5}},loc:{start:{line:111,column:42},end:{line:115,column:5}},line:111},3:{name:"(anonymous_3)",decl:{start:{line:116,column:4},end:{line:116,column:5}},loc:{start:{line:116,column:44},end:{line:125,column:5}},line:116},4:{name:"(anonymous_4)",decl:{start:{line:126,column:4},end:{line:126,column:5}},loc:{start:{line:126,column:13},end:{line:133,column:5}},line:126},5:{name:"(anonymous_5)",decl:{start:{line:128,column:39},end:{line:128,column:40}},loc:{start:{line:128,column:49},end:{line:132,column:7}},line:128},6:{name:"(anonymous_6)",decl:{start:{line:129,column:29},end:{line:129,column:30}},loc:{start:{line:129,column:36},end:{line:131,column:9}},line:129}},branchMap:{0:{loc:{start:{line:127,column:6},end:{line:127,column:43}},type:"if",locations:[{start:{line:127,column:6},end:{line:127,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:127}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0]},inputSourceMap:{version:3,sources:["CmdPacketsTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4EA;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",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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n--\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="{ itemsPerPageOptions: [10, 20, 50, 100, -1] }"\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 }\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 update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_cmd_info().then((info) => {\n this.data = info.map((x) => {\n return { target_name: x[0], packet_name: x[1], count: x[2] }\n })\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3e97299d6b731b58d93cf1e36890dd21c2e051ef"},i=t[a]||(t[a]={});i[e]&&i[e].hash===n||(i[e]=l);var o=i[e];return r=function(){return o},o}r();var c={components:{RawDialog:o.Z},mixins:[i.Z],props:{tabId:Number,curTab:Number},data:function(){return r().f[0]++,r().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}},methods:{rawDisplayCallback:function(e){r().f[1]++,r().s[1]++,this.viewRaw=e},openViewRaw:function(e,n){r().f[2]++,r().s[2]++,this.target_name=e,r().s[3]++,this.packet_name=n,r().s[4]++,this.viewRaw=!0},openCmdSender:function(e,n){r().f[3]++;r().s[5]++,this.$router.resolve({name:"CommandSender",params:{target:e,packet:n}});r().s[6]++,window.open("/tools/cmdsender/".concat(e,"/").concat(n),"_blank")},update:function(){var e=this;if(r().f[4]++,r().s[7]++,this.tabId!=this.curTab)return r().b[0][0]++,void r().s[8]++;r().b[0][1]++,r().s[9]++,this.api.get_all_cmd_info().then((function(n){r().f[5]++,r().s[10]++,e.data=n.map((function(e){return r().f[6]++,r().s[11]++,{target_name:e[0],packet_name:e[1],count:e[2]}}))}))}}},m=c,s=t(3287),d=(0,s.Z)(m,a,l,!1,null,null,null),A=d.exports}}]);
2
+ //# sourceMappingURL=950.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/950.js","mappings":"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","sources":["webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdPacketsTab.vue?d00c","webpack://@cosmosc2/tool-cmdtlmserver/src/tools/CmdTlmServer/CmdPacketsTab.vue","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdPacketsTab.vue?3438","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdPacketsTab.vue"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Command Packets \"),_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\":{ itemsPerPageOptions: [10, 20, 50, 100, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"cmd-packets-table\"},scopedSlots:_vm._u([{key:\"item.view_raw\",fn:function(ref){\nvar item = ref.item;\nreturn [_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(\" View Raw \")])]}},{key:\"item.view_in_cmd_sender\",fn:function(ref){\nvar item = ref.item;\nreturn [(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(\" View In Command Sender \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-open-in-new \")])],1)]}}])}),_c('raw-dialog',{attrs:{\"type\":\"Command\",\"target-name\":_vm.target_name,\"packet-name\":_vm.packet_name,\"visible\":_vm.viewRaw},on:{\"display\":_vm.rawDisplayCallback}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-card>\n <v-card-title>\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=\"{ itemsPerPageOptions: [10, 20, 50, 100, -1] }\"\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 }\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 update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_cmd_info().then((info) => {\n this.data = info.map((x) => {\n return { target_name: x[0], packet_name: x[1], count: x[2] }\n })\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/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/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdPacketsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CmdPacketsTab.vue?vue&type=template&id=b4af01aa&\"\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/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_h","$createElement","_c","_self","_v","_s","data","length","attrs","model","value","callback","$$v","search","expression","headers","itemsPerPageOptions","scopedSlots","_u","key","fn","ref","item","count","on","$event","openViewRaw","target_name","packet_name","openCmdSender","viewRaw","rawDisplayCallback","staticRenderFns","components","RawDialog","mixins","props","tabId","curTab","text","methods","bool","name","params","target","packet","window","update","component"],"sourceRoot":""}