openc3-cosmos-tool-cmdtlmserver 5.17.1 → 5.18.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48048719c27f3cef2adf301b3996a156b8cb0c778c42b751e5b2a4dd96c9aab8
4
- data.tar.gz: 91fa3e14ab3040b1f4bca9872dfd5ff7fc8a89e2d1fc10962a8a761b772efb1e
3
+ metadata.gz: 70dc0ab5ee26b9068b52bff22c82e1a11931728c5384a0bc907e5b78a339956f
4
+ data.tar.gz: 72c1694f8ed7c8bba03df40923c437c288fac4bb0eedfe1a063d138c6459e288
5
5
  SHA512:
6
- metadata.gz: 123e7cad4009e7994efd0e62b371440927c557e2266b0446ee816bbc8062400d038248aa536b4b45f1fd0819b4223986eeb2187cd5a9f02fd0b172738a5aaadc
7
- data.tar.gz: 4bf3ccf4b79af943358889f0deea7fa4086b1e547f54a242a6d38b43e6086c914baaf378723c6e1ccaade29f7a729b5a5781ae1367713703843ed5bb88494279
6
+ metadata.gz: d17d20efa98accf2abe9560cb13424475b34dd27720be8415b884e00c15f7d11f4b16b832b7d932387889583751d4cf967283950a8e9c4daab8530dd39be15fb
7
+ data.tar.gz: 05e82e9c6b0fe68f584c2c8926c38ce249aa8980ee9e4d6925f46c6cc2fe6f25f7ab478ac918e6d21f853b25e2793a3bd6a47accd058d3da281b961384cbd7f5
Binary file
@@ -1,2 +1,2 @@
1
- "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[275],{8474:(n,e,l)=>{l.d(e,{A:()=>c});var t=l(2904);function o(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="4a33e65af05f7d08e216a604150e8920749ac334",l=new Function("return this")(),t="__coverage__",c={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},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:"4a33e65af05f7d08e216a604150e8920749ac334"},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();const c={props:{refreshInterval:{default:1e3}},data(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created(){o().f[1]++,o().s[1]++,this.api=new t.x},mounted(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy(){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(){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((()=>{o().f[6]++,o().s[11]++,this.update()}),this.refreshInterval)}}}},4275:(n,e,l)=>{function t(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="6ad324c9d22d1e83c30b34bd340202a7fc415766",l=new Function("return this")(),o="__coverage__",c={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1152}},4:{start:{line:1,column:410},end:{line:1,column:424}},5:{start:{line:1,column:780},end:{line:1,column:991}},6:{start:{line:1,column:897},end:{line:1,column:931}},7:{start:{line:1,column:1038},end:{line:1,column:1142}},8:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:394},end:{line:1,column:395}},loc:{start:{line:1,column:409},end:{line:1,column:425}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:761},end:{line:1,column:762}},loc:{start:{line:1,column:779},end:{line:1,column:992}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:880},end:{line:1,column:881}},loc:{start:{line:1,column:896},end:{line:1,column:932}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1019},end:{line:1,column:1020}},loc:{start:{line:1,column:1037},end:{line:1,column:1143}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6ad324c9d22d1e83c30b34bd340202a7fc415766"},i=l[o]||(l[o]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return t=function(){return s},s}l.r(e),l.d(e,{default:()=>A}),t(),t().s[0]++;var o=function(){t().f[0]++;var n=(t().s[1]++,this),e=(t().s[2]++,n._self._c);return t().s[3]++,e("v-card",[e("v-card-title",[n._v("\n "+n._s(n.data.length)+" Routers\n "),e("v-spacer"),n._v(" "),e("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){t().f[1]++,t().s[4]++,n.search=e},expression:"search"}})],1),n._v(" "),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"custom-sort":n.sortTable,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"routers-table"},scopedSlots:n._u([{key:"item.connect",fn:function({item:l}){return t().f[2]++,t().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return t().f[3]++,t().s[6]++,n.connectDisconnect(l)}}},[n._v("\n "+n._s(l.connect)+"\n ")])]}},{key:"item.connected",fn:function({item:l}){return t().f[4]++,t().s[7]++,[e("span",{class:l.connectedClass},[n._v("\n "+n._s(l.connected)+"\n ")])]}}])})],1)},c=(t().s[8]++,[]),i=(l(9375),l(7010),l(8474));function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="22ed4b012b72d48b814228e74291f10760f13659",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:11,column:4},end:{line:32,column:5}},1:{start:{line:37,column:6},end:{line:84,column:8}},2:{start:{line:38,column:8},end:{line:83,column:9}},3:{start:{line:38,column:21},end:{line:38,column:22}},4:{start:{line:39,column:23},end:{line:39,column:31}},5:{start:{line:40,column:21},end:{line:40,column:30}},6:{start:{line:42,column:10},end:{line:82,column:11}},7:{start:{line:44,column:12},end:{line:46,column:13}},8:{start:{line:45,column:14},end:{line:45,column:22}},9:{start:{line:47,column:12},end:{line:59,column:13}},10:{start:{line:48,column:14},end:{line:52,column:15}},11:{start:{line:49,column:16},end:{line:49,column:25}},12:{start:{line:51,column:16},end:{line:51,column:24}},13:{start:{line:54,column:14},end:{line:58,column:15}},14:{start:{line:55,column:16},end:{line:55,column:24}},15:{start:{line:57,column:16},end:{line:57,column:25}},16:{start:{line:60,column:17},end:{line:82,column:11}},17:{start:{line:62,column:12},end:{line:64,column:13}},18:{start:{line:63,column:14},end:{line:63,column:22}},19:{start:{line:65,column:12},end:{line:70,column:13}},20:{start:{line:67,column:14},end:{line:67,column:55}},21:{start:{line:69,column:14},end:{line:69,column:55}},22:{start:{line:73,column:12},end:{line:75,column:13}},23:{start:{line:74,column:14},end:{line:74,column:22}},24:{start:{line:76,column:12},end:{line:81,column:13}},25:{start:{line:78,column:14},end:{line:78,column:42}},26:{start:{line:80,column:14},end:{line:80,column:42}},27:{start:{line:85,column:6},end:{line:85,column:18}},28:{start:{line:88,column:6},end:{line:88,column:33}},29:{start:{line:89,column:6},end:{line:93,column:7}},30:{start:{line:90,column:8},end:{line:90,column:42}},31:{start:{line:92,column:8},end:{line:92,column:45}},32:{start:{line:96,column:6},end:{line:96,column:43}},33:{start:{line:96,column:37},end:{line:96,column:43}},34:{start:{line:97,column:6},end:{line:127,column:8}},35:{start:{line:98,column:8},end:{line:98,column:22}},36:{start:{line:99,column:8},end:{line:125,column:9}},37:{start:{line:100,column:24},end:{line:100,column:28}},38:{start:{line:101,column:31},end:{line:101,column:35}},39:{start:{line:102,column:10},end:{line:111,column:11}},40:{start:{line:103,column:12},end:{line:103,column:31}},41:{start:{line:104,column:12},end:{line:104,column:43}},42:{start:{line:105,column:17},end:{line:111,column:11}},43:{start:{line:106,column:12},end:{line:106,column:34}},44:{start:{line:107,column:12},end:{line:107,column:43}},45:{start:{line:109,column:12},end:{line:109,column:30}},46:{start:{line:110,column:12},end:{line:110,column:41}},47:{start:{line:112,column:10},end:{line:124,column:12}},48:{start:{line:126,column:8},end:{line:126,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:33,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:36},end:{line:86,column:5}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:37,column:17},end:{line:37,column:18}},loc:{start:{line:37,column:27},end:{line:84,column:7}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:87,column:4},end:{line:87,column:5}},loc:{start:{line:87,column:28},end:{line:94,column:5}},line:87},4:{name:"(anonymous_4)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:13},end:{line:128,column:5}},line:95},5:{name:"(anonymous_5)",decl:{start:{line:97,column:42},end:{line:97,column:43}},loc:{start:{line:97,column:52},end:{line:127,column:7}},line:97}},branchMap:{0:{loc:{start:{line:42,column:10},end:{line:82,column:11}},type:"if",locations:[{start:{line:42,column:10},end:{line:82,column:11}},{start:{line:60,column:17},end:{line:82,column:11}}],line:42},1:{loc:{start:{line:44,column:12},end:{line:46,column:13}},type:"if",locations:[{start:{line:44,column:12},end:{line:46,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},2:{loc:{start:{line:47,column:12},end:{line:59,column:13}},type:"if",locations:[{start:{line:47,column:12},end:{line:59,column:13}},{start:{line:53,column:19},end:{line:59,column:13}}],line:47},3:{loc:{start:{line:48,column:14},end:{line:52,column:15}},type:"if",locations:[{start:{line:48,column:14},end:{line:52,column:15}},{start:{line:50,column:21},end:{line:52,column:15}}],line:48},4:{loc:{start:{line:54,column:14},end:{line:58,column:15}},type:"if",locations:[{start:{line:54,column:14},end:{line:58,column:15}},{start:{line:56,column:21},end:{line:58,column:15}}],line:54},5:{loc:{start:{line:60,column:17},end:{line:82,column:11}},type:"if",locations:[{start:{line:60,column:17},end:{line:82,column:11}},{start:{line:71,column:17},end:{line:82,column:11}}],line:60},6:{loc:{start:{line:62,column:12},end:{line:64,column:13}},type:"if",locations:[{start:{line:62,column:12},end:{line:64,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:62},7:{loc:{start:{line:65,column:12},end:{line:70,column:13}},type:"if",locations:[{start:{line:65,column:12},end:{line:70,column:13}},{start:{line:68,column:19},end:{line:70,column:13}}],line:65},8:{loc:{start:{line:73,column:12},end:{line:75,column:13}},type:"if",locations:[{start:{line:73,column:12},end:{line:75,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},9:{loc:{start:{line:76,column:12},end:{line:81,column:13}},type:"if",locations:[{start:{line:76,column:12},end:{line:81,column:13}},{start:{line:79,column:19},end:{line:81,column:13}}],line:76},10:{loc:{start:{line:89,column:6},end:{line:93,column:7}},type:"if",locations:[{start:{line:89,column:6},end:{line:93,column:7}},{start:{line:91,column:13},end:{line:93,column:7}}],line:89},11:{loc:{start:{line:96,column:6},end:{line:96,column:43}},type:"if",locations:[{start:{line:96,column:6},end:{line:96,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:96},12:{loc:{start:{line:102,column:10},end:{line:111,column:11}},type:"if",locations:[{start:{line:102,column:10},end:{line:111,column:11}},{start:{line:105,column:17},end:{line:111,column:11}}],line:102},13:{loc:{start:{line:105,column:17},end:{line:111,column:11}},type:"if",locations:[{start:{line:105,column:17},end:{line:111,column:11}},{start:{line:108,column:17},end:{line:111,column:11}}],line:105}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0]},inputSourceMap:{version:3,sources:["RoutersTab.vue"],names:[],mappings:";AAsEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RoutersTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Action',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q size', value: 'tx_q_size' },\n { text: 'Rx Q size', value: 'rx_q_size' },\n { text: 'Tx bytes', value: 'tx_bytes' },\n { text: 'Rx bytes', value: 'rx_bytes' },\n { text: 'Cmd pkts', value: 'cmd_pkts' },\n { text: 'Tlm pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"22ed4b012b72d48b814228e74291f10760f13659"},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();const a={mixins:[i.A],props:{tabId:Number,curTab:Number},data(){return s().f[0]++,s().s[0]++,{search:"",data:[],buttonsDisabled:!1,headers:[{text:"Name",value:"name"},{text:"Action",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(n,e,l){return s().f[1]++,s().s[1]++,n.sort(((n,t)=>{s().f[2]++,s().s[2]++;for(let o=(s().s[3]++,0);o<e.length;o++){let 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(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(){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((n=>{s().f[5]++,s().s[35]++,this.data=[],s().s[36]++;for(let e of n){let n=(s().s[37]++,null),l=(s().s[38]++,null);s().s[39]++,"DISCONNECTED"==e[1]?(s().b[12][0]++,s().s[40]++,n="Connect",s().s[41]++,l="openc3-white"):(s().b[12][1]++,s().s[42]++,"CONNECTED"==e[1]?(s().b[13][0]++,s().s[43]++,n="Disconnect",s().s[44]++,l="openc3-green"):(s().b[13][1]++,s().s[45]++,n="Cancel",s().s[46]++,l="openc3-red")),s().s[47]++,this.data.push({name:e[0],connect:n,connectedClass:l,connected:e[1],clients:e[2],tx_q_size:e[3],rx_q_size:e[4],tx_bytes:e[5],rx_bytes:e[6],cmd_pkts:e[7],tlm_pkts:e[8]})}s().s[48]++,this.buttonsDisabled=!1}))}}},u=a;var m=l(2401),r=(0,m.A)(u,o,c,!1,null,null,null);const A=r.exports}}]);
1
+ "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[275],{8474:(n,e,l)=>{l.d(e,{A:()=>c});var t=l(4364);function o(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="4a33e65af05f7d08e216a604150e8920749ac334",l=new Function("return this")(),t="__coverage__",c={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},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:"4a33e65af05f7d08e216a604150e8920749ac334"},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();const c={props:{refreshInterval:{default:1e3}},data(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created(){o().f[1]++,o().s[1]++,this.api=new t.x},mounted(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy(){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(){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((()=>{o().f[6]++,o().s[11]++,this.update()}),this.refreshInterval)}}}},4275:(n,e,l)=>{function t(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="6ad324c9d22d1e83c30b34bd340202a7fc415766",l=new Function("return this")(),o="__coverage__",c={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1152}},4:{start:{line:1,column:410},end:{line:1,column:424}},5:{start:{line:1,column:780},end:{line:1,column:991}},6:{start:{line:1,column:897},end:{line:1,column:931}},7:{start:{line:1,column:1038},end:{line:1,column:1142}},8:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:394},end:{line:1,column:395}},loc:{start:{line:1,column:409},end:{line:1,column:425}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:761},end:{line:1,column:762}},loc:{start:{line:1,column:779},end:{line:1,column:992}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:880},end:{line:1,column:881}},loc:{start:{line:1,column:896},end:{line:1,column:932}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1019},end:{line:1,column:1020}},loc:{start:{line:1,column:1037},end:{line:1,column:1143}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6ad324c9d22d1e83c30b34bd340202a7fc415766"},i=l[o]||(l[o]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return t=function(){return s},s}l.r(e),l.d(e,{default:()=>A}),t(),t().s[0]++;var o=function(){t().f[0]++;var n=(t().s[1]++,this),e=(t().s[2]++,n._self._c);return t().s[3]++,e("v-card",[e("v-card-title",[n._v("\n "+n._s(n.data.length)+" Routers\n "),e("v-spacer"),n._v(" "),e("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){t().f[1]++,t().s[4]++,n.search=e},expression:"search"}})],1),n._v(" "),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"custom-sort":n.sortTable,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"routers-table"},scopedSlots:n._u([{key:"item.connect",fn:function({item:l}){return t().f[2]++,t().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return t().f[3]++,t().s[6]++,n.connectDisconnect(l)}}},[n._v("\n "+n._s(l.connect)+"\n ")])]}},{key:"item.connected",fn:function({item:l}){return t().f[4]++,t().s[7]++,[e("span",{class:l.connectedClass},[n._v("\n "+n._s(l.connected)+"\n ")])]}}])})],1)},c=(t().s[8]++,[]),i=(l(9375),l(8474));function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="22ed4b012b72d48b814228e74291f10760f13659",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:11,column:4},end:{line:32,column:5}},1:{start:{line:37,column:6},end:{line:84,column:8}},2:{start:{line:38,column:8},end:{line:83,column:9}},3:{start:{line:38,column:21},end:{line:38,column:22}},4:{start:{line:39,column:23},end:{line:39,column:31}},5:{start:{line:40,column:21},end:{line:40,column:30}},6:{start:{line:42,column:10},end:{line:82,column:11}},7:{start:{line:44,column:12},end:{line:46,column:13}},8:{start:{line:45,column:14},end:{line:45,column:22}},9:{start:{line:47,column:12},end:{line:59,column:13}},10:{start:{line:48,column:14},end:{line:52,column:15}},11:{start:{line:49,column:16},end:{line:49,column:25}},12:{start:{line:51,column:16},end:{line:51,column:24}},13:{start:{line:54,column:14},end:{line:58,column:15}},14:{start:{line:55,column:16},end:{line:55,column:24}},15:{start:{line:57,column:16},end:{line:57,column:25}},16:{start:{line:60,column:17},end:{line:82,column:11}},17:{start:{line:62,column:12},end:{line:64,column:13}},18:{start:{line:63,column:14},end:{line:63,column:22}},19:{start:{line:65,column:12},end:{line:70,column:13}},20:{start:{line:67,column:14},end:{line:67,column:55}},21:{start:{line:69,column:14},end:{line:69,column:55}},22:{start:{line:73,column:12},end:{line:75,column:13}},23:{start:{line:74,column:14},end:{line:74,column:22}},24:{start:{line:76,column:12},end:{line:81,column:13}},25:{start:{line:78,column:14},end:{line:78,column:42}},26:{start:{line:80,column:14},end:{line:80,column:42}},27:{start:{line:85,column:6},end:{line:85,column:18}},28:{start:{line:88,column:6},end:{line:88,column:33}},29:{start:{line:89,column:6},end:{line:93,column:7}},30:{start:{line:90,column:8},end:{line:90,column:42}},31:{start:{line:92,column:8},end:{line:92,column:45}},32:{start:{line:96,column:6},end:{line:96,column:43}},33:{start:{line:96,column:37},end:{line:96,column:43}},34:{start:{line:97,column:6},end:{line:127,column:8}},35:{start:{line:98,column:8},end:{line:98,column:22}},36:{start:{line:99,column:8},end:{line:125,column:9}},37:{start:{line:100,column:24},end:{line:100,column:28}},38:{start:{line:101,column:31},end:{line:101,column:35}},39:{start:{line:102,column:10},end:{line:111,column:11}},40:{start:{line:103,column:12},end:{line:103,column:31}},41:{start:{line:104,column:12},end:{line:104,column:43}},42:{start:{line:105,column:17},end:{line:111,column:11}},43:{start:{line:106,column:12},end:{line:106,column:34}},44:{start:{line:107,column:12},end:{line:107,column:43}},45:{start:{line:109,column:12},end:{line:109,column:30}},46:{start:{line:110,column:12},end:{line:110,column:41}},47:{start:{line:112,column:10},end:{line:124,column:12}},48:{start:{line:126,column:8},end:{line:126,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:33,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:36},end:{line:86,column:5}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:37,column:17},end:{line:37,column:18}},loc:{start:{line:37,column:27},end:{line:84,column:7}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:87,column:4},end:{line:87,column:5}},loc:{start:{line:87,column:28},end:{line:94,column:5}},line:87},4:{name:"(anonymous_4)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:13},end:{line:128,column:5}},line:95},5:{name:"(anonymous_5)",decl:{start:{line:97,column:42},end:{line:97,column:43}},loc:{start:{line:97,column:52},end:{line:127,column:7}},line:97}},branchMap:{0:{loc:{start:{line:42,column:10},end:{line:82,column:11}},type:"if",locations:[{start:{line:42,column:10},end:{line:82,column:11}},{start:{line:60,column:17},end:{line:82,column:11}}],line:42},1:{loc:{start:{line:44,column:12},end:{line:46,column:13}},type:"if",locations:[{start:{line:44,column:12},end:{line:46,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},2:{loc:{start:{line:47,column:12},end:{line:59,column:13}},type:"if",locations:[{start:{line:47,column:12},end:{line:59,column:13}},{start:{line:53,column:19},end:{line:59,column:13}}],line:47},3:{loc:{start:{line:48,column:14},end:{line:52,column:15}},type:"if",locations:[{start:{line:48,column:14},end:{line:52,column:15}},{start:{line:50,column:21},end:{line:52,column:15}}],line:48},4:{loc:{start:{line:54,column:14},end:{line:58,column:15}},type:"if",locations:[{start:{line:54,column:14},end:{line:58,column:15}},{start:{line:56,column:21},end:{line:58,column:15}}],line:54},5:{loc:{start:{line:60,column:17},end:{line:82,column:11}},type:"if",locations:[{start:{line:60,column:17},end:{line:82,column:11}},{start:{line:71,column:17},end:{line:82,column:11}}],line:60},6:{loc:{start:{line:62,column:12},end:{line:64,column:13}},type:"if",locations:[{start:{line:62,column:12},end:{line:64,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:62},7:{loc:{start:{line:65,column:12},end:{line:70,column:13}},type:"if",locations:[{start:{line:65,column:12},end:{line:70,column:13}},{start:{line:68,column:19},end:{line:70,column:13}}],line:65},8:{loc:{start:{line:73,column:12},end:{line:75,column:13}},type:"if",locations:[{start:{line:73,column:12},end:{line:75,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},9:{loc:{start:{line:76,column:12},end:{line:81,column:13}},type:"if",locations:[{start:{line:76,column:12},end:{line:81,column:13}},{start:{line:79,column:19},end:{line:81,column:13}}],line:76},10:{loc:{start:{line:89,column:6},end:{line:93,column:7}},type:"if",locations:[{start:{line:89,column:6},end:{line:93,column:7}},{start:{line:91,column:13},end:{line:93,column:7}}],line:89},11:{loc:{start:{line:96,column:6},end:{line:96,column:43}},type:"if",locations:[{start:{line:96,column:6},end:{line:96,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:96},12:{loc:{start:{line:102,column:10},end:{line:111,column:11}},type:"if",locations:[{start:{line:102,column:10},end:{line:111,column:11}},{start:{line:105,column:17},end:{line:111,column:11}}],line:102},13:{loc:{start:{line:105,column:17},end:{line:111,column:11}},type:"if",locations:[{start:{line:105,column:17},end:{line:111,column:11}},{start:{line:108,column:17},end:{line:111,column:11}}],line:105}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0]},inputSourceMap:{version:3,sources:["RoutersTab.vue"],names:[],mappings:";AAsEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RoutersTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Action',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q size', value: 'tx_q_size' },\n { text: 'Rx Q size', value: 'rx_q_size' },\n { text: 'Tx bytes', value: 'tx_bytes' },\n { text: 'Rx bytes', value: 'rx_bytes' },\n { text: 'Cmd pkts', value: 'cmd_pkts' },\n { text: 'Tlm pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"22ed4b012b72d48b814228e74291f10760f13659"},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();const a={mixins:[i.A],props:{tabId:Number,curTab:Number},data(){return s().f[0]++,s().s[0]++,{search:"",data:[],buttonsDisabled:!1,headers:[{text:"Name",value:"name"},{text:"Action",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(n,e,l){return s().f[1]++,s().s[1]++,n.sort(((n,t)=>{s().f[2]++,s().s[2]++;for(let o=(s().s[3]++,0);o<e.length;o++){let 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(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(){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((n=>{s().f[5]++,s().s[35]++,this.data=[],s().s[36]++;for(let e of n){let n=(s().s[37]++,null),l=(s().s[38]++,null);s().s[39]++,"DISCONNECTED"==e[1]?(s().b[12][0]++,s().s[40]++,n="Connect",s().s[41]++,l="openc3-white"):(s().b[12][1]++,s().s[42]++,"CONNECTED"==e[1]?(s().b[13][0]++,s().s[43]++,n="Disconnect",s().s[44]++,l="openc3-green"):(s().b[13][1]++,s().s[45]++,n="Cancel",s().s[46]++,l="openc3-red")),s().s[47]++,this.data.push({name:e[0],connect:n,connectedClass:l,connected:e[1],clients:e[2],tx_q_size:e[3],rx_q_size:e[4],tx_bytes:e[5],rx_bytes:e[6],cmd_pkts:e[7],tlm_pkts:e[8]})}s().s[48]++,this.buttonsDisabled=!1}))}}},u=a;var m=l(2401),r=(0,m.A)(u,o,c,!1,null,null,null);const A=r.exports}}]);
2
2
  //# sourceMappingURL=275.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/275.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?e43c","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?a9bb"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-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 OpenC3Api()\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 render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Routers\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{staticClass:\"search\",attrs:{\"label\":\"Search\",\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"custom-sort\":_vm.sortTable,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"routers-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":_vm.buttonsDisabled},on:{\"click\":function($event){return _vm.connectDisconnect(item)}}},[_vm._v(\"\\n \"+_vm._s(item.connect)+\"\\n \")])]}},{key:\"item.connected\",fn:function({ item }){return [_c('span',{class:item.connectedClass},[_vm._v(\"\\n \"+_vm._s(item.connected)+\"\\n \")])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Action',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q size', value: 'tx_q_size' },\n { text: 'Rx Q size', value: 'rx_q_size' },\n { text: 'Tx bytes', value: 'tx_bytes' },\n { text: 'Rx bytes', value: 'rx_bytes' },\n { text: 'Cmd pkts', value: 'cmd_pkts' },\n { text: 'Tlm pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RoutersTab.vue?vue&type=template&id=a0d43b7c\"\nimport script from \"./RoutersTab.vue?vue&type=script&lang=js\"\nexport * from \"./RoutersTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["cov_18iatml2cn","actualCoverage","props","refreshInterval","default","data","f","s","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","b","clearInterval","watch","newVal","oldVal","methods","setInterval","update","cov_105jidd1oz","render","_vm","_c","_self","_v","_s","length","staticClass","attrs","model","value","search","callback","$$v","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","item","buttonsDisabled","on","$event","connectDisconnect","connect","class","connectedClass","connected","staticRenderFns","mixins","Updater","tabId","Number","curTab","text","sortable","filterable","items","index","isDesc","sort","a","i","column","desc","localeCompare","connect_router","name","disconnect_router","get_all_router_info","then","info","int","push","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","component"],"sourceRoot":""}
1
+ {"version":3,"file":"js/275.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?e43c","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?a9bb"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-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 OpenC3Api()\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 render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Routers\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{staticClass:\"search\",attrs:{\"label\":\"Search\",\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"custom-sort\":_vm.sortTable,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"routers-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":_vm.buttonsDisabled},on:{\"click\":function($event){return _vm.connectDisconnect(item)}}},[_vm._v(\"\\n \"+_vm._s(item.connect)+\"\\n \")])]}},{key:\"item.connected\",fn:function({ item }){return [_c('span',{class:item.connectedClass},[_vm._v(\"\\n \"+_vm._s(item.connected)+\"\\n \")])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Action',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q size', value: 'tx_q_size' },\n { text: 'Rx Q size', value: 'rx_q_size' },\n { text: 'Tx bytes', value: 'tx_bytes' },\n { text: 'Rx bytes', value: 'rx_bytes' },\n { text: 'Cmd pkts', value: 'cmd_pkts' },\n { text: 'Tlm pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RoutersTab.vue?vue&type=template&id=a0d43b7c\"\nimport script from \"./RoutersTab.vue?vue&type=script&lang=js\"\nexport * from \"./RoutersTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["cov_18iatml2cn","actualCoverage","props","refreshInterval","default","data","f","s","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","b","clearInterval","watch","newVal","oldVal","methods","setInterval","update","cov_105jidd1oz","render","_vm","_c","_self","_v","_s","length","staticClass","attrs","model","value","search","callback","$$v","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","item","buttonsDisabled","on","$event","connectDisconnect","connect","class","connectedClass","connected","staticRenderFns","mixins","Updater","tabId","Number","curTab","text","sortable","filterable","items","index","isDesc","sort","a","i","column","desc","localeCompare","connect_router","name","disconnect_router","get_all_router_info","then","info","int","push","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","component"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[303],{8474:(e,n,t)=>{t.d(n,{A:()=>s});var l=t(2904);function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",n="4a33e65af05f7d08e216a604150e8920749ac334",t=new Function("return this")(),l="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},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:"4a33e65af05f7d08e216a604150e8920749ac334"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=s);var c=o[e];return a=function(){return c},c}a();const s={props:{refreshInterval:{default:1e3}},data(){return a().f[0]++,a().s[0]++,{updater:null,api:null}},created(){a().f[1]++,a().s[1]++,this.api=new l.x},mounted(){a().f[2]++,a().s[2]++,this.changeUpdater()},beforeDestroy(){a().f[3]++,a().s[3]++,null!=this.updater?(a().b[0][0]++,a().s[4]++,clearInterval(this.updater),a().s[5]++,this.updater=null):a().b[0][1]++},watch:{refreshInterval:function(e,n){a().f[4]++,a().s[6]++,this.changeUpdater()}},methods:{changeUpdater(){a().f[5]++,a().s[7]++,null!=this.updater?(a().b[1][0]++,a().s[8]++,clearInterval(this.updater),a().s[9]++,this.updater=null):a().b[1][1]++,a().s[10]++,this.updater=setInterval((()=>{a().f[6]++,a().s[11]++,this.update()}),this.refreshInterval)}}}},9303:(e,n,t)=>{function l(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="ad918f70dddcca844cb22b47e3cf269d8d1229b3",t=new Function("return this")(),a="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:5,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:4,column:84}},4:{start:{line:1,column:424},end:{line:1,column:438}},5:{start:{line:6,column:22},end:{line:6,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:5,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:408},end:{line:1,column:409}},loc:{start:{line:1,column:423},end:{line:1,column:439}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ad918f70dddcca844cb22b47e3cf269d8d1229b3"},o=t[a]||(t[a]={});o[e]&&o[e].hash===n||(o[e]=s);var c=o[e];return l=function(){return c},c}t.r(n),t.d(n,{default:()=>A}),l(),l().s[0]++;var a=function(){l().f[0]++;var e=(l().s[1]++,this),n=(l().s[2]++,e._self._c);return l().s[3]++,n("div",[n("v-card",[n("v-card-title",[e._v("\n "+e._s(e.data.length)+" Metrics\n "),n("v-spacer"),e._v(" "),n("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){l().f[1]++,l().s[4]++,e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100,1e3],showFirstLastPage:!0},"calculate-widths":"","multi-sort":"","data-test":"metrics-table"}})],1)],1)},s=(l().s[5]++,[]),o=(t(9375),t(7010),t(8474)),c=t(2904);function r(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="f8ab898151b3156d92fa7af11b0c762f2cef2e2c",t=new Function("return this")(),l="__coverage__",a={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:12,column:4},end:{line:35,column:5}},1:{start:{line:39,column:6},end:{line:39,column:43}},2:{start:{line:39,column:37},end:{line:39,column:43}},3:{start:{line:40,column:6},end:{line:45,column:8}},4:{start:{line:41,column:8},end:{line:41,column:22}},5:{start:{line:42,column:8},end:{line:44,column:9}},6:{start:{line:43,column:10},end:{line:43,column:60}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:36,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:38,column:4},end:{line:38,column:5}},loc:{start:{line:38,column:13},end:{line:46,column:5}},line:38},2:{name:"(anonymous_2)",decl:{start:{line:40,column:34},end:{line:40,column:35}},loc:{start:{line:40,column:47},end:{line:45,column:7}},line:40}},branchMap:{0:{loc:{start:{line:39,column:6},end:{line:39,column:43}},type:"if",locations:[{start:{line:39,column:6},end:{line:39,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:39}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0},b:{0:[0,0]},inputSourceMap:{version:3,sources:["StatusTab.vue"],names:[],mappings:";AA4DA;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",file:"StatusTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n \x3c!-- Use a container here so we can do cols=\"auto\" to resize v-select --\x3e\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f8ab898151b3156d92fa7af11b0c762f2cef2e2c"},s=t[l]||(t[l]={});s[e]&&s[e].hash===n||(s[e]=a);var o=s[e];return r=function(){return o},o}r();const i={mixins:[o.A],props:{tabId:Number,curTab:Number},data(){return r().f[0]++,r().s[0]++,{api:new c.x,apiStatus:[],apiHeaders:[{text:"Port",value:"port"},{text:"Clients",value:"clients"},{text:"Requests",value:"requests"},{text:"Avg Request Time",value:"avgTime"},{text:"Server Threads",value:"threads"}],backgroundTasks:[],backgroundHeaders:[{text:"Name",value:"name"},{text:"State",value:"state"},{text:"Status",value:"status"},{text:"Control",value:"control"}],search:"",data:[],headers:[{text:"Metric",value:"metric_name"},{text:"Value",value:"value"}]}},methods:{update(){if(r().f[1]++,r().s[1]++,this.tabId!=this.curTab)return r().b[0][0]++,void r().s[2]++;r().b[0][1]++,r().s[3]++,this.api.get_metrics().then((e=>{r().f[2]++,r().s[4]++,this.data=[],r().s[5]++;for(const[n,t]of Object.entries(e))r().s[6]++,this.data.push({metric_name:n,value:t})}))}}},u=i;var m=t(2401),d=(0,m.A)(u,a,s,!1,null,null,null);const A=d.exports}}]);
1
+ "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[303],{8474:(e,n,t)=>{t.d(n,{A:()=>s});var l=t(4364);function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",n="4a33e65af05f7d08e216a604150e8920749ac334",t=new Function("return this")(),l="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},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:"4a33e65af05f7d08e216a604150e8920749ac334"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=s);var c=o[e];return a=function(){return c},c}a();const s={props:{refreshInterval:{default:1e3}},data(){return a().f[0]++,a().s[0]++,{updater:null,api:null}},created(){a().f[1]++,a().s[1]++,this.api=new l.x},mounted(){a().f[2]++,a().s[2]++,this.changeUpdater()},beforeDestroy(){a().f[3]++,a().s[3]++,null!=this.updater?(a().b[0][0]++,a().s[4]++,clearInterval(this.updater),a().s[5]++,this.updater=null):a().b[0][1]++},watch:{refreshInterval:function(e,n){a().f[4]++,a().s[6]++,this.changeUpdater()}},methods:{changeUpdater(){a().f[5]++,a().s[7]++,null!=this.updater?(a().b[1][0]++,a().s[8]++,clearInterval(this.updater),a().s[9]++,this.updater=null):a().b[1][1]++,a().s[10]++,this.updater=setInterval((()=>{a().f[6]++,a().s[11]++,this.update()}),this.refreshInterval)}}}},9303:(e,n,t)=>{function l(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="ad918f70dddcca844cb22b47e3cf269d8d1229b3",t=new Function("return this")(),a="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:5,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:4,column:84}},4:{start:{line:1,column:424},end:{line:1,column:438}},5:{start:{line:6,column:22},end:{line:6,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:5,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:408},end:{line:1,column:409}},loc:{start:{line:1,column:423},end:{line:1,column:439}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ad918f70dddcca844cb22b47e3cf269d8d1229b3"},o=t[a]||(t[a]={});o[e]&&o[e].hash===n||(o[e]=s);var c=o[e];return l=function(){return c},c}t.r(n),t.d(n,{default:()=>A}),l(),l().s[0]++;var a=function(){l().f[0]++;var e=(l().s[1]++,this),n=(l().s[2]++,e._self._c);return l().s[3]++,n("div",[n("v-card",[n("v-card-title",[e._v("\n "+e._s(e.data.length)+" Metrics\n "),n("v-spacer"),e._v(" "),n("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){l().f[1]++,l().s[4]++,e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100,1e3],showFirstLastPage:!0},"calculate-widths":"","multi-sort":"","data-test":"metrics-table"}})],1)],1)},s=(l().s[5]++,[]),o=(t(9375),t(8474)),c=t(4364);function r(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",n="f8ab898151b3156d92fa7af11b0c762f2cef2e2c",t=new Function("return this")(),l="__coverage__",a={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:12,column:4},end:{line:35,column:5}},1:{start:{line:39,column:6},end:{line:39,column:43}},2:{start:{line:39,column:37},end:{line:39,column:43}},3:{start:{line:40,column:6},end:{line:45,column:8}},4:{start:{line:41,column:8},end:{line:41,column:22}},5:{start:{line:42,column:8},end:{line:44,column:9}},6:{start:{line:43,column:10},end:{line:43,column:60}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:36,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:38,column:4},end:{line:38,column:5}},loc:{start:{line:38,column:13},end:{line:46,column:5}},line:38},2:{name:"(anonymous_2)",decl:{start:{line:40,column:34},end:{line:40,column:35}},loc:{start:{line:40,column:47},end:{line:45,column:7}},line:40}},branchMap:{0:{loc:{start:{line:39,column:6},end:{line:39,column:43}},type:"if",locations:[{start:{line:39,column:6},end:{line:39,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:39}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0},b:{0:[0,0]},inputSourceMap:{version:3,sources:["StatusTab.vue"],names:[],mappings:";AA4DA;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",file:"StatusTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n \x3c!-- Use a container here so we can do cols=\"auto\" to resize v-select --\x3e\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f8ab898151b3156d92fa7af11b0c762f2cef2e2c"},s=t[l]||(t[l]={});s[e]&&s[e].hash===n||(s[e]=a);var o=s[e];return r=function(){return o},o}r();const i={mixins:[o.A],props:{tabId:Number,curTab:Number},data(){return r().f[0]++,r().s[0]++,{api:new c.x,apiStatus:[],apiHeaders:[{text:"Port",value:"port"},{text:"Clients",value:"clients"},{text:"Requests",value:"requests"},{text:"Avg Request Time",value:"avgTime"},{text:"Server Threads",value:"threads"}],backgroundTasks:[],backgroundHeaders:[{text:"Name",value:"name"},{text:"State",value:"state"},{text:"Status",value:"status"},{text:"Control",value:"control"}],search:"",data:[],headers:[{text:"Metric",value:"metric_name"},{text:"Value",value:"value"}]}},methods:{update(){if(r().f[1]++,r().s[1]++,this.tabId!=this.curTab)return r().b[0][0]++,void r().s[2]++;r().b[0][1]++,r().s[3]++,this.api.get_metrics().then((e=>{r().f[2]++,r().s[4]++,this.data=[],r().s[5]++;for(const[n,t]of Object.entries(e))r().s[6]++,this.data.push({metric_name:n,value:t})}))}}},u=i;var m=t(2401),d=(0,m.A)(u,a,s,!1,null,null,null);const A=d.exports}}]);
2
2
  //# sourceMappingURL=303.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/303.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?0093","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?7de2"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-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 OpenC3Api()\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 render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Metrics\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{staticClass:\"search\",attrs:{\"label\":\"Search\",\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"metrics-table\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <!-- Use a container here so we can do cols=\"auto\" to resize v-select -->\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StatusTab.vue?vue&type=template&id=8b007b9a\"\nimport script from \"./StatusTab.vue?vue&type=script&lang=js\"\nexport * from \"./StatusTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["cov_18iatml2cn","actualCoverage","props","refreshInterval","default","data","f","s","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","b","clearInterval","watch","newVal","oldVal","methods","setInterval","update","cov_2ntlonrahl","render","_vm","_c","_self","_v","_s","length","staticClass","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","showFirstLastPage","staticRenderFns","mixins","Updater","tabId","Number","curTab","apiStatus","apiHeaders","text","backgroundTasks","backgroundHeaders","get_metrics","then","metrics","key","Object","entries","push","metric_name","component"],"sourceRoot":""}
1
+ {"version":3,"file":"js/303.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?0093","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?7de2"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-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 OpenC3Api()\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 render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Metrics\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{staticClass:\"search\",attrs:{\"label\":\"Search\",\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"metrics-table\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <!-- Use a container here so we can do cols=\"auto\" to resize v-select -->\n <v-card>\n <v-card-title>\n {{ data.length }} Metrics\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100, 1000],\n showFirstLastPage: true,\n }\"\n calculate-widths\n multi-sort\n data-test=\"metrics-table\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n api: new OpenC3Api(),\n apiStatus: [],\n apiHeaders: [\n { text: 'Port', value: 'port' },\n { text: 'Clients', value: 'clients' },\n { text: 'Requests', value: 'requests' },\n { text: 'Avg Request Time', value: 'avgTime' },\n { text: 'Server Threads', value: 'threads' },\n ],\n backgroundTasks: [],\n backgroundHeaders: [\n { text: 'Name', value: 'name' },\n { text: 'State', value: 'state' },\n { text: 'Status', value: 'status' },\n { text: 'Control', value: 'control' },\n ],\n search: '',\n data: [],\n headers: [\n { text: 'Metric', value: 'metric_name' },\n { text: 'Value', value: 'value' },\n ],\n }\n },\n methods: {\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_metrics().then((metrics) => {\n this.data = []\n for (const [key, value] of Object.entries(metrics)) {\n this.data.push({ metric_name: key, value: value })\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StatusTab.vue?vue&type=template&id=8b007b9a\"\nimport script from \"./StatusTab.vue?vue&type=script&lang=js\"\nexport * from \"./StatusTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["cov_18iatml2cn","actualCoverage","props","refreshInterval","default","data","f","s","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","b","clearInterval","watch","newVal","oldVal","methods","setInterval","update","cov_2ntlonrahl","render","_vm","_c","_self","_v","_s","length","staticClass","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","showFirstLastPage","staticRenderFns","mixins","Updater","tabId","Number","curTab","apiStatus","apiHeaders","text","backgroundTasks","backgroundHeaders","get_metrics","then","metrics","key","Object","entries","push","metric_name","component"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[328],{8474:(n,e,t)=>{"use strict";t.d(e,{A:()=>i});var l=t(2904);function o(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="4a33e65af05f7d08e216a604150e8920749ac334",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},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:"4a33e65af05f7d08e216a604150e8920749ac334"},a=t[l]||(t[l]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return o=function(){return c},c}o();const i={props:{refreshInterval:{default:1e3}},data(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created(){o().f[1]++,o().s[1]++,this.api=new l.x},mounted(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy(){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(){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((()=>{o().f[6]++,o().s[11]++,this.update()}),this.refreshInterval)}}}},6328:(n,e,t)=>{"use strict";function l(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="dffd1a3ca1f548124d2749702b3c2b3c9ff6fc62",t=new Function("return this")(),o="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:2660}},4:{start:{line:1,column:386},end:{line:1,column:587}},5:{start:{line:1,column:747},end:{line:1,column:947}},6:{start:{line:1,column:1223},end:{line:1,column:1445}},7:{start:{line:1,column:1351},end:{line:1,column:1376}},8:{start:{line:1,column:1720},end:{line:1,column:1915}},9:{start:{line:1,column:2608},end:{line:1,column:2623}},10:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:362},end:{line:1,column:363}},loc:{start:{line:1,column:385},end:{line:1,column:588}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:723},end:{line:1,column:724}},loc:{start:{line:1,column:746},end:{line:1,column:948}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:1199},end:{line:1,column:1200}},loc:{start:{line:1,column:1222},end:{line:1,column:1446}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1334},end:{line:1,column:1335}},loc:{start:{line:1,column:1350},end:{line:1,column:1377}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1696},end:{line:1,column:1697}},loc:{start:{line:1,column:1719},end:{line:1,column:1916}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2592},end:{line:1,column:2593}},loc:{start:{line:1,column:2607},end:{line:1,column:2624}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"dffd1a3ca1f548124d2749702b3c2b3c9ff6fc62"},a=t[o]||(t[o]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return l=function(){return c},c}t.d(e,{A:()=>A}),l(),l().s[0]++;var o=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("div",{directives:[{name:"show",rawName:"v-show",value:n.isVisible,expression:"isVisible"}],ref:"rawDialog",staticClass:"raw-dialog",style:n.computedStyle},[e("v-card",[e("div",{ref:"bar"},[e("v-system-bar",[e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[1]++,l().s[4]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"copy-icon"},on:{click:n.copyRawData}},[n._v("\n mdi-content-copy\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Copy ")])]),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[2]++,l().s[5]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"download"},on:{click:n.downloadRawData}},[n._v("\n mdi-download\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Download ")])]),n._v(" "),e("v-spacer"),n._v(" "),e("span",[n._v(" "+n._s(n.type)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[3]++,l().s[6]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"close"},on:{click:function(e){return l().f[4]++,l().s[7]++,n.$emit("close")}}},[n._v("\n mdi-close-box\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Close ")])])],1)],1),n._v(" "),e("v-card-title",[e("span",[n._v(" "+n._s(n.header)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[5]++,l().s[8]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:n.pause}},[e("v-icon",[n._v(" "+n._s(n.buttonIcon)+" ")])],1)],1)]}}])},[n._v(" "),e("span",[n._v(" "+n._s(n.buttonLabel)+" ")])])],1),n._v(" "),e("v-card-text",[e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Received Time: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedTime)+" ")])])],1),n._v(" "),e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Count: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedCount)+" ")])])],1),n._v(" "),e("v-textarea",{staticClass:"pa-0 ma-0",attrs:{"auto-grow":"",readonly:""},model:{value:n.rawData,callback:function(e){l().f[6]++,l().s[9]++,n.rawData=e},expression:"rawData"}})],1)],1)],1)},i=(l().s[10]++,[]),a=(t(7010),t(3165),t(4541),t(4397),t(1412),t(1883),t(7905),t(9966)),c=t(8474);function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="811cc6f0babc0625dc58b135d4008b399cb8b706",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:19,column:4},end:{line:29,column:5}},1:{start:{line:33,column:6},end:{line:37,column:7}},2:{start:{line:34,column:8},end:{line:34,column:23}},3:{start:{line:36,column:8},end:{line:36,column:22}},4:{start:{line:40,column:6},end:{line:44,column:7}},5:{start:{line:41,column:8},end:{line:41,column:25}},6:{start:{line:43,column:8},end:{line:43,column:26}},7:{start:{line:48,column:8},end:{line:48,column:27}},8:{start:{line:52,column:8},end:{line:52,column:24}},9:{start:{line:53,column:8},end:{line:53,column:30}},10:{start:{line:54,column:8},end:{line:54,column:25}},11:{start:{line:55,column:8},end:{line:55,column:31}},12:{start:{line:56,column:8},end:{line:56,column:27}},13:{start:{line:57,column:8},end:{line:57,column:34}},14:{start:{line:58,column:8},end:{line:58,column:35}},15:{start:{line:62,column:18},end:{line:62,column:20}},16:{start:{line:63,column:6},end:{line:63,column:36}},17:{start:{line:64,column:6},end:{line:64,column:38}},18:{start:{line:65,column:6},end:{line:65,column:36}},19:{start:{line:66,column:6},end:{line:66,column:18}},20:{start:{line:70,column:4},end:{line:70,column:51}},21:{start:{line:71,column:4},end:{line:71,column:52}},22:{start:{line:75,column:6},end:{line:75,column:25}},23:{start:{line:78,column:6},end:{line:78,column:27}},24:{start:{line:79,column:6},end:{line:79,column:24}},25:{start:{line:81,column:6},end:{line:81,column:28}},26:{start:{line:82,column:6},end:{line:82,column:28}},27:{start:{line:83,column:6},end:{line:83,column:48}},28:{start:{line:85,column:6},end:{line:85,column:45}},29:{start:{line:88,column:6},end:{line:88,column:27}},30:{start:{line:89,column:6},end:{line:89,column:24}},31:{start:{line:91,column:20},end:{line:91,column:42}},32:{start:{line:92,column:20},end:{line:92,column:42}},33:{start:{line:93,column:6},end:{line:93,column:28}},34:{start:{line:94,column:6},end:{line:94,column:28}},35:{start:{line:96,column:6},end:{line:96,column:79}},36:{start:{line:97,column:6},end:{line:98,column:71}},37:{start:{line:102,column:6},end:{line:102,column:31}},38:{start:{line:103,column:6},end:{line:103,column:33}},39:{start:{line:106,column:6},end:{line:106,column:113}},40:{start:{line:109,column:6},end:{line:109,column:56}},41:{start:{line:112,column:19},end:{line:114,column:8}},42:{start:{line:116,column:19},end:{line:116,column:46}},43:{start:{line:117,column:6},end:{line:117,column:43}},44:{start:{line:118,column:17},end:{line:118,column:58}},45:{start:{line:119,column:6},end:{line:122,column:7}},46:{start:{line:123,column:6},end:{line:123,column:18}},47:{start:{line:126,column:6},end:{line:126,column:32}},48:{start:{line:129,column:6},end:{line:129,column:48}},49:{start:{line:129,column:42},end:{line:129,column:48}},50:{start:{line:130,column:6},end:{line:130,column:84}},51:{start:{line:132,column:6},end:{line:136,column:7}},52:{start:{line:133,column:8},end:{line:133,column:30}},53:{start:{line:135,column:8},end:{line:135,column:28}},54:{start:{line:139,column:6},end:{line:155,column:10}},55:{start:{line:142,column:28},end:{line:142,column:41}},56:{start:{line:143,column:10},end:{line:148,column:11}},57:{start:{line:144,column:12},end:{line:144,column:41}},58:{start:{line:146,column:29},end:{line:146,column:46}},59:{start:{line:147,column:12},end:{line:147,column:56}},60:{start:{line:149,column:10},end:{line:149,column:61}},61:{start:{line:150,column:10},end:{line:150,column:52}},62:{start:{line:151,column:10},end:{line:154,column:42}},63:{start:{line:158,column:6},end:{line:174,column:10}},64:{start:{line:161,column:28},end:{line:161,column:41}},65:{start:{line:162,column:10},end:{line:167,column:11}},66:{start:{line:163,column:12},end:{line:163,column:41}},67:{start:{line:165,column:29},end:{line:165,column:46}},68:{start:{line:166,column:12},end:{line:166,column:56}},69:{start:{line:168,column:10},end:{line:168,column:61}},70:{start:{line:169,column:10},end:{line:169,column:52}},71:{start:{line:170,column:10},end:{line:173,column:42}},72:{start:{line:178,column:19},end:{line:178,column:21}},73:{start:{line:179,column:18},end:{line:179,column:19}},74:{start:{line:180,column:18},end:{line:180,column:20}},75:{start:{line:181,column:6},end:{line:202,column:8}},76:{start:{line:182,column:8},end:{line:184,column:9}},77:{start:{line:183,column:10},end:{line:183,column:48}},78:{start:{line:185,column:8},end:{line:185,column:35}},79:{start:{line:188,column:8},end:{line:192,column:9}},80:{start:{line:189,column:10},end:{line:189,column:44}},81:{start:{line:191,column:10},end:{line:191,column:22}},82:{start:{line:194,column:8},end:{line:194,column:15}},83:{start:{line:196,column:8},end:{line:201,column:9}},84:{start:{line:197,column:10},end:{line:197,column:39}},85:{start:{line:198,column:10},end:{line:198,column:20}},86:{start:{line:200,column:10},end:{line:200,column:23}},87:{start:{line:207,column:6},end:{line:213,column:7}},88:{start:{line:208,column:30},end:{line:208,column:65}},89:{start:{line:210,column:21},end:{line:210,column:53}},90:{start:{line:211,column:27},end:{line:211,column:56}},91:{start:{line:212,column:8},end:{line:212,column:54}},92:{start:{line:214,column:6},end:{line:214,column:19}},93:{start:{line:217,column:16},end:{line:217,column:32}},94:{start:{line:218,column:6},end:{line:218,column:49}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:18,column:2},end:{line:18,column:3}},loc:{start:{line:18,column:9},end:{line:30,column:3}},line:18},1:{name:"(anonymous_1)",decl:{start:{line:32,column:17},end:{line:32,column:18}},loc:{start:{line:32,column:29},end:{line:38,column:5}},line:32},2:{name:"(anonymous_2)",decl:{start:{line:39,column:16},end:{line:39,column:17}},loc:{start:{line:39,column:28},end:{line:45,column:5}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:47,column:11},end:{line:47,column:12}},loc:{start:{line:47,column:23},end:{line:49,column:7}},line:47},4:{name:"(anonymous_4)",decl:{start:{line:51,column:11},end:{line:51,column:12}},loc:{start:{line:51,column:27},end:{line:59,column:7}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:61,column:4},end:{line:61,column:5}},loc:{start:{line:61,column:20},end:{line:67,column:5}},line:61},6:{name:"(anonymous_6)",decl:{start:{line:69,column:2},end:{line:69,column:3}},loc:{start:{line:69,column:12},end:{line:72,column:3}},line:69},7:{name:"(anonymous_7)",decl:{start:{line:74,column:16},end:{line:74,column:17}},loc:{start:{line:74,column:29},end:{line:76,column:5}},line:74},8:{name:"(anonymous_8)",decl:{start:{line:77,column:19},end:{line:77,column:20}},loc:{start:{line:77,column:32},end:{line:86,column:5}},line:77},9:{name:"(anonymous_9)",decl:{start:{line:87,column:17},end:{line:87,column:18}},loc:{start:{line:87,column:30},end:{line:99,column:5}},line:87},10:{name:"(anonymous_10)",decl:{start:{line:100,column:22},end:{line:100,column:23}},loc:{start:{line:100,column:34},end:{line:104,column:5}},line:100},11:{name:"(anonymous_11)",decl:{start:{line:105,column:18},end:{line:105,column:19}},loc:{start:{line:105,column:30},end:{line:107,column:5}},line:105},12:{name:"(anonymous_12)",decl:{start:{line:108,column:17},end:{line:108,column:18}},loc:{start:{line:108,column:29},end:{line:110,column:5}},line:108},13:{name:"(anonymous_13)",decl:{start:{line:111,column:21},end:{line:111,column:22}},loc:{start:{line:111,column:33},end:{line:124,column:5}},line:111},14:{name:"(anonymous_14)",decl:{start:{line:125,column:11},end:{line:125,column:12}},loc:{start:{line:125,column:23},end:{line:127,column:5}},line:125},15:{name:"(anonymous_15)",decl:{start:{line:128,column:12},end:{line:128,column:13}},loc:{start:{line:128,column:24},end:{line:137,column:5}},line:128},16:{name:"(anonymous_16)",decl:{start:{line:138,column:21},end:{line:138,column:22}},loc:{start:{line:138,column:33},end:{line:156,column:5}},line:138},17:{name:"(anonymous_17)",decl:{start:{line:141,column:14},end:{line:141,column:15}},loc:{start:{line:141,column:26},end:{line:155,column:9}},line:141},18:{name:"(anonymous_18)",decl:{start:{line:157,column:19},end:{line:157,column:20}},loc:{start:{line:157,column:31},end:{line:175,column:5}},line:157},19:{name:"(anonymous_19)",decl:{start:{line:160,column:14},end:{line:160,column:15}},loc:{start:{line:160,column:26},end:{line:174,column:9}},line:160},20:{name:"(anonymous_20)",decl:{start:{line:177,column:18},end:{line:177,column:19}},loc:{start:{line:177,column:36},end:{line:215,column:5}},line:177},21:{name:"(anonymous_21)",decl:{start:{line:181,column:21},end:{line:181,column:22}},loc:{start:{line:181,column:31},end:{line:202,column:7}},line:181},22:{name:"(anonymous_22)",decl:{start:{line:216,column:4},end:{line:216,column:5}},loc:{start:{line:216,column:27},end:{line:219,column:5}},line:216}},branchMap:{0:{loc:{start:{line:33,column:6},end:{line:37,column:7}},type:"if",locations:[{start:{line:33,column:6},end:{line:37,column:7}},{start:{line:35,column:13},end:{line:37,column:7}}],line:33},1:{loc:{start:{line:40,column:6},end:{line:44,column:7}},type:"if",locations:[{start:{line:40,column:6},end:{line:44,column:7}},{start:{line:42,column:13},end:{line:44,column:7}}],line:40},2:{loc:{start:{line:78,column:10},end:{line:78,column:27}},type:"binary-expr",locations:[{start:{line:78,column:10},end:{line:78,column:11}},{start:{line:78,column:15},end:{line:78,column:27}}],line:78},3:{loc:{start:{line:88,column:10},end:{line:88,column:27}},type:"binary-expr",locations:[{start:{line:88,column:10},end:{line:88,column:11}},{start:{line:88,column:15},end:{line:88,column:27}}],line:88},4:{loc:{start:{line:129,column:6},end:{line:129,column:48}},type:"if",locations:[{start:{line:129,column:6},end:{line:129,column:48}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:129},5:{loc:{start:{line:129,column:10},end:{line:129,column:40}},type:"binary-expr",locations:[{start:{line:129,column:10},end:{line:129,column:25}},{start:{line:129,column:29},end:{line:129,column:40}}],line:129},6:{loc:{start:{line:132,column:6},end:{line:136,column:7}},type:"if",locations:[{start:{line:132,column:6},end:{line:136,column:7}},{start:{line:134,column:13},end:{line:136,column:7}}],line:132},7:{loc:{start:{line:143,column:10},end:{line:148,column:11}},type:"if",locations:[{start:{line:143,column:10},end:{line:148,column:11}},{start:{line:145,column:17},end:{line:148,column:11}}],line:143},8:{loc:{start:{line:162,column:10},end:{line:167,column:11}},type:"if",locations:[{start:{line:162,column:10},end:{line:167,column:11}},{start:{line:164,column:17},end:{line:167,column:11}}],line:162},9:{loc:{start:{line:182,column:8},end:{line:184,column:9}},type:"if",locations:[{start:{line:182,column:8},end:{line:184,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:182},10:{loc:{start:{line:188,column:8},end:{line:192,column:9}},type:"if",locations:[{start:{line:188,column:8},end:{line:192,column:9}},{start:{line:190,column:15},end:{line:192,column:9}}],line:188},11:{loc:{start:{line:188,column:12},end:{line:188,column:37}},type:"binary-expr",locations:[{start:{line:188,column:12},end:{line:188,column:22}},{start:{line:188,column:26},end:{line:188,column:37}}],line:188},12:{loc:{start:{line:196,column:8},end:{line:201,column:9}},type:"if",locations:[{start:{line:196,column:8},end:{line:201,column:9}},{start:{line:199,column:15},end:{line:201,column:9}}],line:196},13:{loc:{start:{line:207,column:6},end:{line:213,column:7}},type:"if",locations:[{start:{line:207,column:6},end:{line:213,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},14:{loc:{start:{line:216,column:16},end:{line:216,column:25}},type:"default-arg",locations:[{start:{line:216,column:24},end:{line:216,column:25}}],line:216}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0},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],14:[0]},inputSourceMap:{version:3,sources:["RawDialog.vue"],names:[],mappings:";AAyGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RawDialog.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div\n v-show=\"isVisible\"\n :style=\"computedStyle\"\n class=\"raw-dialog\"\n ref=\"rawDialog\"\n >\n <v-card>\n <div ref=\"bar\">\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"close\" @click=\"$emit('close')\">\n mdi-close-box\n </v-icon>\n </div>\n </template>\n <span> Close </span>\n </v-tooltip>\n </v-system-bar>\n </div>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n zIndex: {\n type: Number,\n default: 1,\n },\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n dragX: 0,\n dragY: 0,\n top: 0,\n left: 0,\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n computedStyle() {\n let style = {}\n style['top'] = this.top + 'px'\n style['left'] = this.left + 'px'\n style['z-index'] = this.zIndex\n return style\n },\n },\n mounted() {\n this.$refs.bar.onmousedown = this.dragMouseDown\n this.$refs.rawDialog.onmouseup = this.focusEvent\n },\n methods: {\n focusEvent: function (e) {\n this.$emit('focus')\n },\n dragMouseDown: function (e) {\n e = e || window.event\n e.preventDefault()\n // get the mouse cursor position at startup:\n this.dragX = e.clientX\n this.dragY = e.clientY\n document.onmouseup = this.closeDragElement\n // call a function whenever the cursor moves:\n document.onmousemove = this.elementDrag\n },\n elementDrag: function (e) {\n e = e || window.event\n e.preventDefault()\n // calculate the new cursor position:\n let xOffset = this.dragX - e.clientX\n let yOffset = this.dragY - e.clientY\n this.dragX = e.clientX\n this.dragY = e.clientY\n // set the element's new position:\n this.top = this.$refs.bar.parentElement.parentElement.offsetTop - yOffset\n this.left =\n this.$refs.bar.parentElement.parentElement.offsetLeft - xOffset\n },\n closeDragElement: function () {\n // stop moving when mouse button is released\n document.onmouseup = null\n document.onmousemove = null\n },\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`,\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n<\/script>\n<style scoped>\n.raw-dialog {\n position: absolute;\n top: 0px;\n left: 5px;\n z-index: 1;\n border: solid;\n border-width: 1px;\n border-color: white;\n resize: both;\n overflow: auto;\n max-height: 85vh;\n background-color: var(--color-background-base-selected);\n}\n.raw-dialog :deep(.v-card) {\n height: 100%;\n min-width: 800px;\n}\n.raw-dialog :deep(.v-card__text) {\n height: 100%;\n background-color: var(--color-background-base-selected);\n}\n.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n overflow-y: scroll;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"811cc6f0babc0625dc58b135d4008b399cb8b706"},i=t[l]||(t[l]={});i[n]&&i[n].hash===e||(i[n]=o);var a=i[n];return s=function(){return a},a}s();const u={mixins:[c.A],props:{type:String,visible:Boolean,targetName:String,packetName:String,zIndex:{type:Number,default:1}},data(){return s().f[0]++,s().s[0]++,{header:"",receivedTime:"",rawData:"",paused:!1,receivedCount:"",dragX:0,dragY:0,top:0,left:0}},computed:{buttonLabel:function(){return s().f[1]++,s().s[1]++,this.paused?(s().b[0][0]++,s().s[2]++,"Resume"):(s().b[0][1]++,s().s[3]++,"Pause")},buttonIcon:function(){return s().f[2]++,s().s[4]++,this.paused?(s().b[1][0]++,s().s[5]++,"mdi-play"):(s().b[1][1]++,s().s[6]++,"mdi-pause")},isVisible:{get:function(){return s().f[3]++,s().s[7]++,this.visible},set:function(n){s().f[4]++,s().s[8]++,this.header="",s().s[9]++,this.receivedTime="",s().s[10]++,this.rawData="",s().s[11]++,this.receivedCount="",s().s[12]++,this.paused=!1,s().s[13]++,this.buttonLabel="Pause",s().s[14]++,this.$emit("display",n)}},computedStyle(){s().f[5]++;let n=(s().s[15]++,{});return s().s[16]++,n["top"]=this.top+"px",s().s[17]++,n["left"]=this.left+"px",s().s[18]++,n["z-index"]=this.zIndex,s().s[19]++,n}},mounted(){s().f[6]++,s().s[20]++,this.$refs.bar.onmousedown=this.dragMouseDown,s().s[21]++,this.$refs.rawDialog.onmouseup=this.focusEvent},methods:{focusEvent:function(n){s().f[7]++,s().s[22]++,this.$emit("focus")},dragMouseDown:function(n){s().f[8]++,s().s[23]++,s().b[2][0]++,n=n||(s().b[2][1]++,window.event),s().s[24]++,n.preventDefault(),s().s[25]++,this.dragX=n.clientX,s().s[26]++,this.dragY=n.clientY,s().s[27]++,document.onmouseup=this.closeDragElement,s().s[28]++,document.onmousemove=this.elementDrag},elementDrag:function(n){s().f[9]++,s().s[29]++,s().b[3][0]++,n=n||(s().b[3][1]++,window.event),s().s[30]++,n.preventDefault();let e=(s().s[31]++,this.dragX-n.clientX),t=(s().s[32]++,this.dragY-n.clientY);s().s[33]++,this.dragX=n.clientX,s().s[34]++,this.dragY=n.clientY,s().s[35]++,this.top=this.$refs.bar.parentElement.parentElement.offsetTop-t,s().s[36]++,this.left=this.$refs.bar.parentElement.parentElement.offsetLeft-e},closeDragElement:function(){s().f[10]++,s().s[37]++,document.onmouseup=null,s().s[38]++,document.onmousemove=null},buildRawData:function(){return s().f[11]++,s().s[39]++,`${this.header}\nReceived Time: ${this.receivedTime}\nCount: ${this.receivedCount}\n${this.rawData}`},copyRawData:function(){s().f[12]++,s().s[40]++,navigator.clipboard.writeText(this.buildRawData())},downloadRawData:function(){s().f[13]++;const n=(s().s[41]++,new Blob([this.buildRawData()],{type:"plain/text"})),e=(s().s[42]++,document.createElement("a"));s().s[43]++,e.href=URL.createObjectURL(n);const t=(s().s[44]++,(0,a.GP)(Date.now(),"yyyy_MM_dd_HH_mm_ss"));s().s[45]++,e.setAttribute("download",`${t}_${this.targetName}_${this.packetName}.txt`),s().s[46]++,e.click()},pause:function(){s().f[14]++,s().s[47]++,this.paused=!this.paused},update:function(){if(s().f[15]++,s().s[48]++,s().b[5][0]++,!this.isVisible||(s().b[5][1]++,this.paused))return s().b[4][0]++,void s().s[49]++;s().b[4][1]++,s().s[50]++,this.header=`Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`,s().s[51]++,"Telemetry"===this.type?(s().b[6][0]++,s().s[52]++,this.updateTelemetry()):(s().b[6][1]++,s().s[53]++,this.updateCommand())},updateTelemetry:function(){s().f[16]++,s().s[54]++,this.api.get_tlm_buffer(this.targetName,this.packetName).then((n=>{s().f[17]++;let e=(s().s[55]++,n.buffer);if(s().s[56]++,void 0!==e.raw)s().b[7][0]++,s().s[57]++,e=e.raw;else{s().b[7][1]++;let n=(s().s[58]++,new TextEncoder);s().s[59]++,e=n.encode(e)}s().s[60]++,this.receivedTime=new Date(n.time/1e6),s().s[61]++,this.receivedCount=n.received_count,s().s[62]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},updateCommand:function(){s().f[18]++,s().s[63]++,this.api.get_cmd_buffer(this.targetName,this.packetName).then((n=>{s().f[19]++;let e=(s().s[64]++,n.buffer);if(s().s[65]++,void 0!==e.raw)s().b[8][0]++,s().s[66]++,e=e.raw;else{s().b[8][1]++;let n=(s().s[67]++,new TextEncoder);s().s[68]++,e=n.encode(e)}s().s[69]++,this.receivedTime=new Date(n.time/1e6),s().s[70]++,this.receivedCount=n.received_count,s().s[71]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},formatBuffer:function(n){s().f[20]++;var e=(s().s[72]++,""),t=(s().s[73]++,0),l=(s().s[74]++,"");if(s().s[75]++,n.forEach((n=>{s().f[21]++,s().s[76]++,t%16===0?(s().b[9][0]++,s().s[77]++,e+=this.numHex(t,8)+": "):s().b[9][1]++,s().s[78]++,e+=this.numHex(n),s().s[79]++,s().b[11][0]++,n>=32&&(s().b[11][1]++,n<=126)?(s().b[10][0]++,s().s[80]++,l+=String.fromCharCode(n)):(s().b[10][1]++,s().s[81]++,l+=" "),s().s[82]++,t++,s().s[83]++,t%16===0?(s().b[12][0]++,s().s[84]++,e+=" "+l+"\n",s().s[85]++,l=""):(s().b[12][1]++,s().s[86]++,e+=" ")})),s().s[87]++,t%16!=0){s().b[13][0]++;var o=(s().s[88]++,t%16-1+t%16*2),i=(s().s[89]++," ".repeat(47-o)),a=(s().s[90]++," ".repeat(16-l.length));s().s[91]++,e+=i+" "+l+a}else s().b[13][1]++;return s().s[92]++,e},numHex(n,e=(s().b[14][0]++,2)){s().f[22]++;var t=(s().s[93]++,n.toString(16));return s().s[94]++,"0".repeat(e-t.length)+t}}},r=u;t(2166);var m=t(2401),d=(0,m.A)(r,o,i,!1,null,"212f6e79",null);const A=d.exports},62:(n,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>s});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),c=a()(o());c.push([n.id,".raw-dialog[data-v-212f6e79]{position:absolute;top:0;left:5px;z-index:1;border:solid;border-width:1px;border-color:#fff;resize:both;overflow:auto;max-height:85vh;background-color:var(--color-background-base-selected)}.raw-dialog[data-v-212f6e79] .v-card{height:100%;min-width:800px}.raw-dialog[data-v-212f6e79] .v-card__text{height:100%;background-color:var(--color-background-base-selected)}.v-textarea[data-v-212f6e79] textarea{margin-top:10px;font-family:Courier New,Courier,monospace;overflow-y:scroll}",""]);const s=c},2166:(n,e,t)=>{var l=t(62);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[n.id,l,""]]),l.locals&&(n.exports=l.locals);var o=t(4825).A;o("82f5c260",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
1
+ (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[328],{8474:(n,e,t)=>{"use strict";t.d(e,{A:()=>i});var l=t(4364);function o(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="4a33e65af05f7d08e216a604150e8920749ac334",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},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:"4a33e65af05f7d08e216a604150e8920749ac334"},a=t[l]||(t[l]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return o=function(){return c},c}o();const i={props:{refreshInterval:{default:1e3}},data(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created(){o().f[1]++,o().s[1]++,this.api=new l.x},mounted(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy(){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(){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((()=>{o().f[6]++,o().s[11]++,this.update()}),this.refreshInterval)}}}},6328:(n,e,t)=>{"use strict";function l(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="dffd1a3ca1f548124d2749702b3c2b3c9ff6fc62",t=new Function("return this")(),o="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:2660}},4:{start:{line:1,column:386},end:{line:1,column:587}},5:{start:{line:1,column:747},end:{line:1,column:947}},6:{start:{line:1,column:1223},end:{line:1,column:1445}},7:{start:{line:1,column:1351},end:{line:1,column:1376}},8:{start:{line:1,column:1720},end:{line:1,column:1915}},9:{start:{line:1,column:2608},end:{line:1,column:2623}},10:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:362},end:{line:1,column:363}},loc:{start:{line:1,column:385},end:{line:1,column:588}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:723},end:{line:1,column:724}},loc:{start:{line:1,column:746},end:{line:1,column:948}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:1199},end:{line:1,column:1200}},loc:{start:{line:1,column:1222},end:{line:1,column:1446}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1334},end:{line:1,column:1335}},loc:{start:{line:1,column:1350},end:{line:1,column:1377}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1696},end:{line:1,column:1697}},loc:{start:{line:1,column:1719},end:{line:1,column:1916}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2592},end:{line:1,column:2593}},loc:{start:{line:1,column:2607},end:{line:1,column:2624}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"dffd1a3ca1f548124d2749702b3c2b3c9ff6fc62"},a=t[o]||(t[o]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return l=function(){return c},c}t.d(e,{A:()=>A}),l(),l().s[0]++;var o=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("div",{directives:[{name:"show",rawName:"v-show",value:n.isVisible,expression:"isVisible"}],ref:"rawDialog",staticClass:"raw-dialog",style:n.computedStyle},[e("v-card",[e("div",{ref:"bar"},[e("v-system-bar",[e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[1]++,l().s[4]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"copy-icon"},on:{click:n.copyRawData}},[n._v("\n mdi-content-copy\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Copy ")])]),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[2]++,l().s[5]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"download"},on:{click:n.downloadRawData}},[n._v("\n mdi-download\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Download ")])]),n._v(" "),e("v-spacer"),n._v(" "),e("span",[n._v(" "+n._s(n.type)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[3]++,l().s[6]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"close"},on:{click:function(e){return l().f[4]++,l().s[7]++,n.$emit("close")}}},[n._v("\n mdi-close-box\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Close ")])])],1)],1),n._v(" "),e("v-card-title",[e("span",[n._v(" "+n._s(n.header)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[5]++,l().s[8]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:n.pause}},[e("v-icon",[n._v(" "+n._s(n.buttonIcon)+" ")])],1)],1)]}}])},[n._v(" "),e("span",[n._v(" "+n._s(n.buttonLabel)+" ")])])],1),n._v(" "),e("v-card-text",[e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Received Time: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedTime)+" ")])])],1),n._v(" "),e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Count: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedCount)+" ")])])],1),n._v(" "),e("v-textarea",{staticClass:"pa-0 ma-0",attrs:{"auto-grow":"",readonly:""},model:{value:n.rawData,callback:function(e){l().f[6]++,l().s[9]++,n.rawData=e},expression:"rawData"}})],1)],1)],1)},i=(l().s[10]++,[]),a=(t(3165),t(4541),t(4397),t(1412),t(1883),t(7905),t(9966)),c=t(8474);function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="811cc6f0babc0625dc58b135d4008b399cb8b706",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:19,column:4},end:{line:29,column:5}},1:{start:{line:33,column:6},end:{line:37,column:7}},2:{start:{line:34,column:8},end:{line:34,column:23}},3:{start:{line:36,column:8},end:{line:36,column:22}},4:{start:{line:40,column:6},end:{line:44,column:7}},5:{start:{line:41,column:8},end:{line:41,column:25}},6:{start:{line:43,column:8},end:{line:43,column:26}},7:{start:{line:48,column:8},end:{line:48,column:27}},8:{start:{line:52,column:8},end:{line:52,column:24}},9:{start:{line:53,column:8},end:{line:53,column:30}},10:{start:{line:54,column:8},end:{line:54,column:25}},11:{start:{line:55,column:8},end:{line:55,column:31}},12:{start:{line:56,column:8},end:{line:56,column:27}},13:{start:{line:57,column:8},end:{line:57,column:34}},14:{start:{line:58,column:8},end:{line:58,column:35}},15:{start:{line:62,column:18},end:{line:62,column:20}},16:{start:{line:63,column:6},end:{line:63,column:36}},17:{start:{line:64,column:6},end:{line:64,column:38}},18:{start:{line:65,column:6},end:{line:65,column:36}},19:{start:{line:66,column:6},end:{line:66,column:18}},20:{start:{line:70,column:4},end:{line:70,column:51}},21:{start:{line:71,column:4},end:{line:71,column:52}},22:{start:{line:75,column:6},end:{line:75,column:25}},23:{start:{line:78,column:6},end:{line:78,column:27}},24:{start:{line:79,column:6},end:{line:79,column:24}},25:{start:{line:81,column:6},end:{line:81,column:28}},26:{start:{line:82,column:6},end:{line:82,column:28}},27:{start:{line:83,column:6},end:{line:83,column:48}},28:{start:{line:85,column:6},end:{line:85,column:45}},29:{start:{line:88,column:6},end:{line:88,column:27}},30:{start:{line:89,column:6},end:{line:89,column:24}},31:{start:{line:91,column:20},end:{line:91,column:42}},32:{start:{line:92,column:20},end:{line:92,column:42}},33:{start:{line:93,column:6},end:{line:93,column:28}},34:{start:{line:94,column:6},end:{line:94,column:28}},35:{start:{line:96,column:6},end:{line:96,column:79}},36:{start:{line:97,column:6},end:{line:98,column:71}},37:{start:{line:102,column:6},end:{line:102,column:31}},38:{start:{line:103,column:6},end:{line:103,column:33}},39:{start:{line:106,column:6},end:{line:106,column:113}},40:{start:{line:109,column:6},end:{line:109,column:56}},41:{start:{line:112,column:19},end:{line:114,column:8}},42:{start:{line:116,column:19},end:{line:116,column:46}},43:{start:{line:117,column:6},end:{line:117,column:43}},44:{start:{line:118,column:17},end:{line:118,column:58}},45:{start:{line:119,column:6},end:{line:122,column:7}},46:{start:{line:123,column:6},end:{line:123,column:18}},47:{start:{line:126,column:6},end:{line:126,column:32}},48:{start:{line:129,column:6},end:{line:129,column:48}},49:{start:{line:129,column:42},end:{line:129,column:48}},50:{start:{line:130,column:6},end:{line:130,column:84}},51:{start:{line:132,column:6},end:{line:136,column:7}},52:{start:{line:133,column:8},end:{line:133,column:30}},53:{start:{line:135,column:8},end:{line:135,column:28}},54:{start:{line:139,column:6},end:{line:155,column:10}},55:{start:{line:142,column:28},end:{line:142,column:41}},56:{start:{line:143,column:10},end:{line:148,column:11}},57:{start:{line:144,column:12},end:{line:144,column:41}},58:{start:{line:146,column:29},end:{line:146,column:46}},59:{start:{line:147,column:12},end:{line:147,column:56}},60:{start:{line:149,column:10},end:{line:149,column:61}},61:{start:{line:150,column:10},end:{line:150,column:52}},62:{start:{line:151,column:10},end:{line:154,column:42}},63:{start:{line:158,column:6},end:{line:174,column:10}},64:{start:{line:161,column:28},end:{line:161,column:41}},65:{start:{line:162,column:10},end:{line:167,column:11}},66:{start:{line:163,column:12},end:{line:163,column:41}},67:{start:{line:165,column:29},end:{line:165,column:46}},68:{start:{line:166,column:12},end:{line:166,column:56}},69:{start:{line:168,column:10},end:{line:168,column:61}},70:{start:{line:169,column:10},end:{line:169,column:52}},71:{start:{line:170,column:10},end:{line:173,column:42}},72:{start:{line:178,column:19},end:{line:178,column:21}},73:{start:{line:179,column:18},end:{line:179,column:19}},74:{start:{line:180,column:18},end:{line:180,column:20}},75:{start:{line:181,column:6},end:{line:202,column:8}},76:{start:{line:182,column:8},end:{line:184,column:9}},77:{start:{line:183,column:10},end:{line:183,column:48}},78:{start:{line:185,column:8},end:{line:185,column:35}},79:{start:{line:188,column:8},end:{line:192,column:9}},80:{start:{line:189,column:10},end:{line:189,column:44}},81:{start:{line:191,column:10},end:{line:191,column:22}},82:{start:{line:194,column:8},end:{line:194,column:15}},83:{start:{line:196,column:8},end:{line:201,column:9}},84:{start:{line:197,column:10},end:{line:197,column:39}},85:{start:{line:198,column:10},end:{line:198,column:20}},86:{start:{line:200,column:10},end:{line:200,column:23}},87:{start:{line:207,column:6},end:{line:213,column:7}},88:{start:{line:208,column:30},end:{line:208,column:65}},89:{start:{line:210,column:21},end:{line:210,column:53}},90:{start:{line:211,column:27},end:{line:211,column:56}},91:{start:{line:212,column:8},end:{line:212,column:54}},92:{start:{line:214,column:6},end:{line:214,column:19}},93:{start:{line:217,column:16},end:{line:217,column:32}},94:{start:{line:218,column:6},end:{line:218,column:49}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:18,column:2},end:{line:18,column:3}},loc:{start:{line:18,column:9},end:{line:30,column:3}},line:18},1:{name:"(anonymous_1)",decl:{start:{line:32,column:17},end:{line:32,column:18}},loc:{start:{line:32,column:29},end:{line:38,column:5}},line:32},2:{name:"(anonymous_2)",decl:{start:{line:39,column:16},end:{line:39,column:17}},loc:{start:{line:39,column:28},end:{line:45,column:5}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:47,column:11},end:{line:47,column:12}},loc:{start:{line:47,column:23},end:{line:49,column:7}},line:47},4:{name:"(anonymous_4)",decl:{start:{line:51,column:11},end:{line:51,column:12}},loc:{start:{line:51,column:27},end:{line:59,column:7}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:61,column:4},end:{line:61,column:5}},loc:{start:{line:61,column:20},end:{line:67,column:5}},line:61},6:{name:"(anonymous_6)",decl:{start:{line:69,column:2},end:{line:69,column:3}},loc:{start:{line:69,column:12},end:{line:72,column:3}},line:69},7:{name:"(anonymous_7)",decl:{start:{line:74,column:16},end:{line:74,column:17}},loc:{start:{line:74,column:29},end:{line:76,column:5}},line:74},8:{name:"(anonymous_8)",decl:{start:{line:77,column:19},end:{line:77,column:20}},loc:{start:{line:77,column:32},end:{line:86,column:5}},line:77},9:{name:"(anonymous_9)",decl:{start:{line:87,column:17},end:{line:87,column:18}},loc:{start:{line:87,column:30},end:{line:99,column:5}},line:87},10:{name:"(anonymous_10)",decl:{start:{line:100,column:22},end:{line:100,column:23}},loc:{start:{line:100,column:34},end:{line:104,column:5}},line:100},11:{name:"(anonymous_11)",decl:{start:{line:105,column:18},end:{line:105,column:19}},loc:{start:{line:105,column:30},end:{line:107,column:5}},line:105},12:{name:"(anonymous_12)",decl:{start:{line:108,column:17},end:{line:108,column:18}},loc:{start:{line:108,column:29},end:{line:110,column:5}},line:108},13:{name:"(anonymous_13)",decl:{start:{line:111,column:21},end:{line:111,column:22}},loc:{start:{line:111,column:33},end:{line:124,column:5}},line:111},14:{name:"(anonymous_14)",decl:{start:{line:125,column:11},end:{line:125,column:12}},loc:{start:{line:125,column:23},end:{line:127,column:5}},line:125},15:{name:"(anonymous_15)",decl:{start:{line:128,column:12},end:{line:128,column:13}},loc:{start:{line:128,column:24},end:{line:137,column:5}},line:128},16:{name:"(anonymous_16)",decl:{start:{line:138,column:21},end:{line:138,column:22}},loc:{start:{line:138,column:33},end:{line:156,column:5}},line:138},17:{name:"(anonymous_17)",decl:{start:{line:141,column:14},end:{line:141,column:15}},loc:{start:{line:141,column:26},end:{line:155,column:9}},line:141},18:{name:"(anonymous_18)",decl:{start:{line:157,column:19},end:{line:157,column:20}},loc:{start:{line:157,column:31},end:{line:175,column:5}},line:157},19:{name:"(anonymous_19)",decl:{start:{line:160,column:14},end:{line:160,column:15}},loc:{start:{line:160,column:26},end:{line:174,column:9}},line:160},20:{name:"(anonymous_20)",decl:{start:{line:177,column:18},end:{line:177,column:19}},loc:{start:{line:177,column:36},end:{line:215,column:5}},line:177},21:{name:"(anonymous_21)",decl:{start:{line:181,column:21},end:{line:181,column:22}},loc:{start:{line:181,column:31},end:{line:202,column:7}},line:181},22:{name:"(anonymous_22)",decl:{start:{line:216,column:4},end:{line:216,column:5}},loc:{start:{line:216,column:27},end:{line:219,column:5}},line:216}},branchMap:{0:{loc:{start:{line:33,column:6},end:{line:37,column:7}},type:"if",locations:[{start:{line:33,column:6},end:{line:37,column:7}},{start:{line:35,column:13},end:{line:37,column:7}}],line:33},1:{loc:{start:{line:40,column:6},end:{line:44,column:7}},type:"if",locations:[{start:{line:40,column:6},end:{line:44,column:7}},{start:{line:42,column:13},end:{line:44,column:7}}],line:40},2:{loc:{start:{line:78,column:10},end:{line:78,column:27}},type:"binary-expr",locations:[{start:{line:78,column:10},end:{line:78,column:11}},{start:{line:78,column:15},end:{line:78,column:27}}],line:78},3:{loc:{start:{line:88,column:10},end:{line:88,column:27}},type:"binary-expr",locations:[{start:{line:88,column:10},end:{line:88,column:11}},{start:{line:88,column:15},end:{line:88,column:27}}],line:88},4:{loc:{start:{line:129,column:6},end:{line:129,column:48}},type:"if",locations:[{start:{line:129,column:6},end:{line:129,column:48}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:129},5:{loc:{start:{line:129,column:10},end:{line:129,column:40}},type:"binary-expr",locations:[{start:{line:129,column:10},end:{line:129,column:25}},{start:{line:129,column:29},end:{line:129,column:40}}],line:129},6:{loc:{start:{line:132,column:6},end:{line:136,column:7}},type:"if",locations:[{start:{line:132,column:6},end:{line:136,column:7}},{start:{line:134,column:13},end:{line:136,column:7}}],line:132},7:{loc:{start:{line:143,column:10},end:{line:148,column:11}},type:"if",locations:[{start:{line:143,column:10},end:{line:148,column:11}},{start:{line:145,column:17},end:{line:148,column:11}}],line:143},8:{loc:{start:{line:162,column:10},end:{line:167,column:11}},type:"if",locations:[{start:{line:162,column:10},end:{line:167,column:11}},{start:{line:164,column:17},end:{line:167,column:11}}],line:162},9:{loc:{start:{line:182,column:8},end:{line:184,column:9}},type:"if",locations:[{start:{line:182,column:8},end:{line:184,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:182},10:{loc:{start:{line:188,column:8},end:{line:192,column:9}},type:"if",locations:[{start:{line:188,column:8},end:{line:192,column:9}},{start:{line:190,column:15},end:{line:192,column:9}}],line:188},11:{loc:{start:{line:188,column:12},end:{line:188,column:37}},type:"binary-expr",locations:[{start:{line:188,column:12},end:{line:188,column:22}},{start:{line:188,column:26},end:{line:188,column:37}}],line:188},12:{loc:{start:{line:196,column:8},end:{line:201,column:9}},type:"if",locations:[{start:{line:196,column:8},end:{line:201,column:9}},{start:{line:199,column:15},end:{line:201,column:9}}],line:196},13:{loc:{start:{line:207,column:6},end:{line:213,column:7}},type:"if",locations:[{start:{line:207,column:6},end:{line:213,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},14:{loc:{start:{line:216,column:16},end:{line:216,column:25}},type:"default-arg",locations:[{start:{line:216,column:24},end:{line:216,column:25}}],line:216}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0},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],14:[0]},inputSourceMap:{version:3,sources:["RawDialog.vue"],names:[],mappings:";AAyGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RawDialog.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div\n v-show=\"isVisible\"\n :style=\"computedStyle\"\n class=\"raw-dialog\"\n ref=\"rawDialog\"\n >\n <v-card>\n <div ref=\"bar\">\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"close\" @click=\"$emit('close')\">\n mdi-close-box\n </v-icon>\n </div>\n </template>\n <span> Close </span>\n </v-tooltip>\n </v-system-bar>\n </div>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n zIndex: {\n type: Number,\n default: 1,\n },\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n dragX: 0,\n dragY: 0,\n top: 0,\n left: 0,\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n computedStyle() {\n let style = {}\n style['top'] = this.top + 'px'\n style['left'] = this.left + 'px'\n style['z-index'] = this.zIndex\n return style\n },\n },\n mounted() {\n this.$refs.bar.onmousedown = this.dragMouseDown\n this.$refs.rawDialog.onmouseup = this.focusEvent\n },\n methods: {\n focusEvent: function (e) {\n this.$emit('focus')\n },\n dragMouseDown: function (e) {\n e = e || window.event\n e.preventDefault()\n // get the mouse cursor position at startup:\n this.dragX = e.clientX\n this.dragY = e.clientY\n document.onmouseup = this.closeDragElement\n // call a function whenever the cursor moves:\n document.onmousemove = this.elementDrag\n },\n elementDrag: function (e) {\n e = e || window.event\n e.preventDefault()\n // calculate the new cursor position:\n let xOffset = this.dragX - e.clientX\n let yOffset = this.dragY - e.clientY\n this.dragX = e.clientX\n this.dragY = e.clientY\n // set the element's new position:\n this.top = this.$refs.bar.parentElement.parentElement.offsetTop - yOffset\n this.left =\n this.$refs.bar.parentElement.parentElement.offsetLeft - xOffset\n },\n closeDragElement: function () {\n // stop moving when mouse button is released\n document.onmouseup = null\n document.onmousemove = null\n },\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`,\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n<\/script>\n<style scoped>\n.raw-dialog {\n position: absolute;\n top: 0px;\n left: 5px;\n z-index: 1;\n border: solid;\n border-width: 1px;\n border-color: white;\n resize: both;\n overflow: auto;\n max-height: 85vh;\n background-color: var(--color-background-base-selected);\n}\n.raw-dialog :deep(.v-card) {\n height: 100%;\n min-width: 800px;\n}\n.raw-dialog :deep(.v-card__text) {\n height: 100%;\n background-color: var(--color-background-base-selected);\n}\n.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n overflow-y: scroll;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"811cc6f0babc0625dc58b135d4008b399cb8b706"},i=t[l]||(t[l]={});i[n]&&i[n].hash===e||(i[n]=o);var a=i[n];return s=function(){return a},a}s();const u={mixins:[c.A],props:{type:String,visible:Boolean,targetName:String,packetName:String,zIndex:{type:Number,default:1}},data(){return s().f[0]++,s().s[0]++,{header:"",receivedTime:"",rawData:"",paused:!1,receivedCount:"",dragX:0,dragY:0,top:0,left:0}},computed:{buttonLabel:function(){return s().f[1]++,s().s[1]++,this.paused?(s().b[0][0]++,s().s[2]++,"Resume"):(s().b[0][1]++,s().s[3]++,"Pause")},buttonIcon:function(){return s().f[2]++,s().s[4]++,this.paused?(s().b[1][0]++,s().s[5]++,"mdi-play"):(s().b[1][1]++,s().s[6]++,"mdi-pause")},isVisible:{get:function(){return s().f[3]++,s().s[7]++,this.visible},set:function(n){s().f[4]++,s().s[8]++,this.header="",s().s[9]++,this.receivedTime="",s().s[10]++,this.rawData="",s().s[11]++,this.receivedCount="",s().s[12]++,this.paused=!1,s().s[13]++,this.buttonLabel="Pause",s().s[14]++,this.$emit("display",n)}},computedStyle(){s().f[5]++;let n=(s().s[15]++,{});return s().s[16]++,n["top"]=this.top+"px",s().s[17]++,n["left"]=this.left+"px",s().s[18]++,n["z-index"]=this.zIndex,s().s[19]++,n}},mounted(){s().f[6]++,s().s[20]++,this.$refs.bar.onmousedown=this.dragMouseDown,s().s[21]++,this.$refs.rawDialog.onmouseup=this.focusEvent},methods:{focusEvent:function(n){s().f[7]++,s().s[22]++,this.$emit("focus")},dragMouseDown:function(n){s().f[8]++,s().s[23]++,s().b[2][0]++,n=n||(s().b[2][1]++,window.event),s().s[24]++,n.preventDefault(),s().s[25]++,this.dragX=n.clientX,s().s[26]++,this.dragY=n.clientY,s().s[27]++,document.onmouseup=this.closeDragElement,s().s[28]++,document.onmousemove=this.elementDrag},elementDrag:function(n){s().f[9]++,s().s[29]++,s().b[3][0]++,n=n||(s().b[3][1]++,window.event),s().s[30]++,n.preventDefault();let e=(s().s[31]++,this.dragX-n.clientX),t=(s().s[32]++,this.dragY-n.clientY);s().s[33]++,this.dragX=n.clientX,s().s[34]++,this.dragY=n.clientY,s().s[35]++,this.top=this.$refs.bar.parentElement.parentElement.offsetTop-t,s().s[36]++,this.left=this.$refs.bar.parentElement.parentElement.offsetLeft-e},closeDragElement:function(){s().f[10]++,s().s[37]++,document.onmouseup=null,s().s[38]++,document.onmousemove=null},buildRawData:function(){return s().f[11]++,s().s[39]++,`${this.header}\nReceived Time: ${this.receivedTime}\nCount: ${this.receivedCount}\n${this.rawData}`},copyRawData:function(){s().f[12]++,s().s[40]++,navigator.clipboard.writeText(this.buildRawData())},downloadRawData:function(){s().f[13]++;const n=(s().s[41]++,new Blob([this.buildRawData()],{type:"plain/text"})),e=(s().s[42]++,document.createElement("a"));s().s[43]++,e.href=URL.createObjectURL(n);const t=(s().s[44]++,(0,a.GP)(Date.now(),"yyyy_MM_dd_HH_mm_ss"));s().s[45]++,e.setAttribute("download",`${t}_${this.targetName}_${this.packetName}.txt`),s().s[46]++,e.click()},pause:function(){s().f[14]++,s().s[47]++,this.paused=!this.paused},update:function(){if(s().f[15]++,s().s[48]++,s().b[5][0]++,!this.isVisible||(s().b[5][1]++,this.paused))return s().b[4][0]++,void s().s[49]++;s().b[4][1]++,s().s[50]++,this.header=`Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`,s().s[51]++,"Telemetry"===this.type?(s().b[6][0]++,s().s[52]++,this.updateTelemetry()):(s().b[6][1]++,s().s[53]++,this.updateCommand())},updateTelemetry:function(){s().f[16]++,s().s[54]++,this.api.get_tlm_buffer(this.targetName,this.packetName).then((n=>{s().f[17]++;let e=(s().s[55]++,n.buffer);if(s().s[56]++,void 0!==e.raw)s().b[7][0]++,s().s[57]++,e=e.raw;else{s().b[7][1]++;let n=(s().s[58]++,new TextEncoder);s().s[59]++,e=n.encode(e)}s().s[60]++,this.receivedTime=new Date(n.time/1e6),s().s[61]++,this.receivedCount=n.received_count,s().s[62]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},updateCommand:function(){s().f[18]++,s().s[63]++,this.api.get_cmd_buffer(this.targetName,this.packetName).then((n=>{s().f[19]++;let e=(s().s[64]++,n.buffer);if(s().s[65]++,void 0!==e.raw)s().b[8][0]++,s().s[66]++,e=e.raw;else{s().b[8][1]++;let n=(s().s[67]++,new TextEncoder);s().s[68]++,e=n.encode(e)}s().s[69]++,this.receivedTime=new Date(n.time/1e6),s().s[70]++,this.receivedCount=n.received_count,s().s[71]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},formatBuffer:function(n){s().f[20]++;var e=(s().s[72]++,""),t=(s().s[73]++,0),l=(s().s[74]++,"");if(s().s[75]++,n.forEach((n=>{s().f[21]++,s().s[76]++,t%16===0?(s().b[9][0]++,s().s[77]++,e+=this.numHex(t,8)+": "):s().b[9][1]++,s().s[78]++,e+=this.numHex(n),s().s[79]++,s().b[11][0]++,n>=32&&(s().b[11][1]++,n<=126)?(s().b[10][0]++,s().s[80]++,l+=String.fromCharCode(n)):(s().b[10][1]++,s().s[81]++,l+=" "),s().s[82]++,t++,s().s[83]++,t%16===0?(s().b[12][0]++,s().s[84]++,e+=" "+l+"\n",s().s[85]++,l=""):(s().b[12][1]++,s().s[86]++,e+=" ")})),s().s[87]++,t%16!=0){s().b[13][0]++;var o=(s().s[88]++,t%16-1+t%16*2),i=(s().s[89]++," ".repeat(47-o)),a=(s().s[90]++," ".repeat(16-l.length));s().s[91]++,e+=i+" "+l+a}else s().b[13][1]++;return s().s[92]++,e},numHex(n,e=(s().b[14][0]++,2)){s().f[22]++;var t=(s().s[93]++,n.toString(16));return s().s[94]++,"0".repeat(e-t.length)+t}}},r=u;t(2166);var m=t(2401),d=(0,m.A)(r,o,i,!1,null,"212f6e79",null);const A=d.exports},62:(n,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>s});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),c=a()(o());c.push([n.id,".raw-dialog[data-v-212f6e79]{position:absolute;top:0;left:5px;z-index:1;border:solid;border-width:1px;border-color:#fff;resize:both;overflow:auto;max-height:85vh;background-color:var(--color-background-base-selected)}.raw-dialog[data-v-212f6e79] .v-card{height:100%;min-width:800px}.raw-dialog[data-v-212f6e79] .v-card__text{height:100%;background-color:var(--color-background-base-selected)}.v-textarea[data-v-212f6e79] textarea{margin-top:10px;font-family:Courier New,Courier,monospace;overflow-y:scroll}",""]);const s=c},2166:(n,e,t)=>{var l=t(62);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[n.id,l,""]]),l.locals&&(n.exports=l.locals);var o=t(4825).A;o("82f5c260",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
2
  //# sourceMappingURL=328.js.map