openc3-tool-cmdtlmserver 5.0.7 → 5.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/plugin.txt +2 -1
  3. data/tools/cmdtlmserver/js/108.js +2 -0
  4. data/tools/cmdtlmserver/js/108.js.map +1 -0
  5. data/tools/cmdtlmserver/js/245.js +4 -0
  6. data/tools/cmdtlmserver/js/245.js.map +1 -0
  7. data/tools/cmdtlmserver/js/251.js +2 -0
  8. data/tools/cmdtlmserver/js/251.js.map +1 -0
  9. data/tools/cmdtlmserver/js/438.js +1 -1
  10. data/tools/cmdtlmserver/js/438.js.map +1 -1
  11. data/tools/cmdtlmserver/js/575.js +2 -0
  12. data/tools/cmdtlmserver/js/575.js.map +1 -0
  13. data/tools/cmdtlmserver/js/598.js +2 -0
  14. data/tools/cmdtlmserver/js/598.js.map +1 -0
  15. data/tools/cmdtlmserver/js/699.js +2 -0
  16. data/tools/cmdtlmserver/js/699.js.map +1 -0
  17. data/tools/cmdtlmserver/js/774.js +2 -0
  18. data/tools/cmdtlmserver/js/774.js.map +1 -0
  19. data/tools/cmdtlmserver/js/776.js +2 -0
  20. data/tools/cmdtlmserver/js/776.js.map +1 -0
  21. data/tools/cmdtlmserver/js/856.js +2 -0
  22. data/tools/cmdtlmserver/js/856.js.map +1 -0
  23. data/tools/cmdtlmserver/js/91.js +2 -0
  24. data/tools/cmdtlmserver/js/91.js.map +1 -0
  25. data/tools/cmdtlmserver/js/926.js +2 -0
  26. data/tools/cmdtlmserver/js/926.js.map +1 -0
  27. data/tools/cmdtlmserver/js/931.js +2 -0
  28. data/tools/cmdtlmserver/js/931.js.map +1 -0
  29. data/tools/cmdtlmserver/js/app.js +1 -1
  30. data/tools/cmdtlmserver/js/app.js.map +1 -1
  31. metadata +26 -26
  32. data/tools/cmdtlmserver/js/117.js +0 -2
  33. data/tools/cmdtlmserver/js/117.js.map +0 -1
  34. data/tools/cmdtlmserver/js/208.js +0 -2
  35. data/tools/cmdtlmserver/js/208.js.map +0 -1
  36. data/tools/cmdtlmserver/js/262.js +0 -2
  37. data/tools/cmdtlmserver/js/262.js.map +0 -1
  38. data/tools/cmdtlmserver/js/317.js +0 -2
  39. data/tools/cmdtlmserver/js/317.js.map +0 -1
  40. data/tools/cmdtlmserver/js/440.js +0 -4
  41. data/tools/cmdtlmserver/js/440.js.map +0 -1
  42. data/tools/cmdtlmserver/js/493.js +0 -2
  43. data/tools/cmdtlmserver/js/493.js.map +0 -1
  44. data/tools/cmdtlmserver/js/516.js +0 -2
  45. data/tools/cmdtlmserver/js/516.js.map +0 -1
  46. data/tools/cmdtlmserver/js/63.js +0 -2
  47. data/tools/cmdtlmserver/js/63.js.map +0 -1
  48. data/tools/cmdtlmserver/js/647.js +0 -2
  49. data/tools/cmdtlmserver/js/647.js.map +0 -1
  50. data/tools/cmdtlmserver/js/725.js +0 -2
  51. data/tools/cmdtlmserver/js/725.js.map +0 -1
  52. data/tools/cmdtlmserver/js/732.js +0 -2
  53. data/tools/cmdtlmserver/js/732.js.map +0 -1
  54. data/tools/cmdtlmserver/js/932.js +0 -2
  55. data/tools/cmdtlmserver/js/932.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_tool_cmdtlmserver"]=self["webpackChunk_openc3_tool_cmdtlmserver"]||[]).push([[598],{6598:function(n,e,t){"use strict";function l(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",e="286ad0591754831d28238abc3601413020c618d5",t=new Function("return this")(),a="__coverage__",s={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.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:459}},4:{start:{line:1,column:381},end:{line:1,column:405}},5:{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:365},end:{line:1,column:366}},loc:{start:{line:1,column:380},end:{line:1,column:406}},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:"286ad0591754831d28238abc3601413020c618d5"},i=t[a]||(t[a]={});i[n]&&i[n].hash===e||(i[n]=s);var o=i[n];return l=function(){return o},o}t.r(e),t.d(e,{default:function(){return m}}),l(),l().s[0]++;var a=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("div",[e("v-card",{attrs:{flat:""}},[e("v-container",{staticClass:"ma-0 pa-4"},[e("v-row",{attrs:{"no-gutters":""}},[e("v-col",{attrs:{cols:"auto"}},[e("v-select",{attrs:{label:"Limits Set",items:n.limitsSets,"data-test":"limits-set"},model:{value:n.currentLimitsSet,callback:function(e){l().f[1]++,l().s[4]++,n.currentLimitsSet=e},expression:"currentLimitsSet"}})],1)],1)],1)],1)],1)},s=(l().s[5]++,[]),i=(t(1245),t(575));function o(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",e="833bc1152767a2460498274227357a0b2df7f1e1",t=new Function("return this")(),l="__coverage__",a={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue",statementMap:{0:{start:{line:12,column:4},end:{line:32,column:5}},1:{start:{line:36,column:6},end:{line:36,column:43}},2:{start:{line:40,column:4},end:{line:42,column:6}},3:{start:{line:41,column:6},end:{line:41,column:28}},4:{start:{line:43,column:4},end:{line:43,column:30}},5:{start:{line:44,column:4},end:{line:47,column:5}},6:{start:{line:50,column:4},end:{line:50,column:49}},7:{start:{line:86,column:6},end:{line:88,column:8}},8:{start:{line:87,column:8},end:{line:87,column:38}},9:{start:{line:91,column:6},end:{line:91,column:36}},10:{start:{line:94,column:6},end:{line:98,column:7}},11:{start:{line:95,column:8},end:{line:95,column:44}},12:{start:{line:96,column:13},end:{line:98,column:7}},13:{start:{line:97,column:8},end:{line:97,column:43}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:33,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:35,column:22},end:{line:35,column:23}},loc:{start:{line:35,column:48},end:{line:37,column:5}},line:35},2:{name:"(anonymous_2)",decl:{start:{line:39,column:2},end:{line:39,column:3}},loc:{start:{line:39,column:12},end:{line:48,column:3}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:40,column:36},end:{line:40,column:37}},loc:{start:{line:40,column:46},end:{line:42,column:5}},line:40},4:{name:"(anonymous_4)",decl:{start:{line:49,column:13},end:{line:49,column:14}},loc:{start:{line:49,column:25},end:{line:51,column:3}},line:49},5:{name:"(anonymous_5)",decl:{start:{line:85,column:25},end:{line:85,column:26}},loc:{start:{line:85,column:37},end:{line:89,column:5}},line:85},6:{name:"(anonymous_6)",decl:{start:{line:86,column:37},end:{line:86,column:38}},loc:{start:{line:86,column:49},end:{line:88,column:7}},line:86},7:{name:"(anonymous_7)",decl:{start:{line:90,column:4},end:{line:90,column:5}},loc:{start:{line:90,column:24},end:{line:92,column:5}},line:90},8:{name:"(anonymous_8)",decl:{start:{line:93,column:4},end:{line:93,column:5}},loc:{start:{line:93,column:29},end:{line:99,column:5}},line:93}},branchMap:{0:{loc:{start:{line:36,column:6},end:{line:36,column:43}},type:"binary-expr",locations:[{start:{line:36,column:6},end:{line:36,column:14}},{start:{line:36,column:18},end:{line:36,column:43}}],line:36},1:{loc:{start:{line:94,column:6},end:{line:98,column:7}},type:"if",locations:[{start:{line:94,column:6},end:{line:98,column:7}},{start:{line:96,column:13},end:{line:98,column:7}}],line:94},2:{loc:{start:{line:96,column:13},end:{line:98,column:7}},type:"if",locations:[{start:{line:96,column:13},end:{line:98,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:96}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["StatusTab.vue"],names:[],mappings:";AAyEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",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--\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 flat>\n <v-container class=\"ma-0 pa-4\">\n <v-row no-gutters>\n <v-col cols=\"auto\">\n \x3c!-- TODO: move to admin settings and delete this tab --\x3e\n <v-select\n label=\"Limits Set\"\n :items=\"limitsSets\"\n v-model=\"currentLimitsSet\"\n data-test=\"limits-set\"\n />\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n\n \x3c!-- v-card flat>\n <v-card-title>API Status</v-card-title>\n <v-data-table\n :headers=\"apiHeaders\"\n :items=\"apiStatus\"\n calculate-widths\n disable-pagination\n hide-default-footer\n />\n </v-card>\n\n <v-card flat>\n <v-card-title>Background Tasks</v-card-title>\n <v-data-table\n :headers=\"backgroundHeaders\"\n :items=\"backgroundTasks\"\n calculate-widths\n disable-pagination\n hide-default-footer\n >\n <template v-slot:item.control=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n @click=\"taskControl(item.name, item.control)\"\n >\n {{ item.control }}\n </v-btn>\n </template>\n </v-data-table>\n </v-card --\x3e\n </div>\n</template>\n\n<script>\n// import 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 limitsSets: [],\n currentLimitsSet: '',\n currentSetRefreshInterval: null,\n }\n },\n watch: {\n currentLimitsSet: function (newVal, oldVal) {\n !!oldVal && this.limitsChange(newVal)\n },\n },\n created() {\n this.api.get_limits_sets().then((sets) => {\n this.limitsSets = sets\n })\n this.getCurrentLimitsSet()\n this.currentSetRefreshInterval = setInterval(\n this.getCurrentLimitsSet,\n 60 * 1000\n )\n },\n destroyed: function () {\n clearInterval(this.currentSetRefreshInterval)\n },\n methods: {\n // update() {\n // if (this.tabId != this.curTab) return\n // this.api.get_server_status().then((status) => {\n // this.currentLimitsSet = status[0]\n // this.apiStatus = [\n // {\n // port: status[1],\n // clients: status[2],\n // requests: status[3],\n // avgTime: (Math.round(status[4] * 1000000) / 1000000).toFixed(6),\n // threads: status[5],\n // },\n // ]\n // })\n // this.api.get_background_tasks().then((tasks) => {\n // this.backgroundTasks = []\n // for (let x of tasks) {\n // var control = ''\n // if (x[1] == 'no thread' || x[1] == 'complete') {\n // control = 'Start'\n // } else {\n // control = 'Stop'\n // }\n // this.backgroundTasks.push({\n // name: x[0],\n // state: x[1],\n // status: x[2],\n // control: control,\n // })\n // }\n // })\n // },\n getCurrentLimitsSet: function () {\n this.api.get_limits_set().then((result) => {\n this.currentLimitsSet = result\n })\n },\n limitsChange(value) {\n this.api.set_limits_set(value)\n },\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n },\n}\n<\/script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"833bc1152767a2460498274227357a0b2df7f1e1"},s=t[l]||(t[l]={});s[n]&&s[n].hash===e||(s[n]=a);var i=s[n];return o=function(){return i},i}o();var r={props:{tabId:Number,curTab:Number},data:function(){return o().f[0]++,o().s[0]++,{api:new i.k,apiStatus:[],apiHeaders:[{text:"Port",value:"port"},{text:"Clients",value:"clients"},{text:"Requests",value:"requests"},{text:"Avg Request Time",value:"avgTime"},{text:"Server Threads",value:"threads"}],backgroundTasks:[],backgroundHeaders:[{text:"Name",value:"name"},{text:"State",value:"state"},{text:"Status",value:"status"},{text:"Control",value:"control"}],limitsSets:[],currentLimitsSet:"",currentSetRefreshInterval:null}},watch:{currentLimitsSet:function(n,e){o().f[1]++,o().s[1]++,o().b[0][0]++,e&&(o().b[0][1]++,this.limitsChange(n))}},created:function(){var n=this;o().f[2]++,o().s[2]++,this.api.get_limits_sets().then((function(e){o().f[3]++,o().s[3]++,n.limitsSets=e})),o().s[4]++,this.getCurrentLimitsSet(),o().s[5]++,this.currentSetRefreshInterval=setInterval(this.getCurrentLimitsSet,6e4)},destroyed:function(){o().f[4]++,o().s[6]++,clearInterval(this.currentSetRefreshInterval)},methods:{getCurrentLimitsSet:function(){var n=this;o().f[5]++,o().s[7]++,this.api.get_limits_set().then((function(e){o().f[6]++,o().s[8]++,n.currentLimitsSet=e}))},limitsChange:function(n){o().f[7]++,o().s[9]++,this.api.set_limits_set(n)},taskControl:function(n,e){o().f[8]++,o().s[10]++,"Start"==e?(o().b[1][0]++,o().s[11]++,this.api.start_background_task(n)):(o().b[1][1]++,o().s[12]++,"Stop"==e?(o().b[2][0]++,o().s[13]++,this.api.stop_background_task(n)):o().b[2][1]++)}}},c=r,A=(t(8213),t(3483)),u=(0,A.Z)(c,a,s,!1,null,"121f6948",null),m=u.exports},2771:function(n,e,t){"use strict";t.r(e);var l=t(9601),a=t.n(l),s=t(2609),i=t.n(s),o=i()(a());o.push([n.id,".container[data-v-121f6948],.theme--dark.v-card[data-v-121f6948],.theme--dark.v-sheet[data-v-121f6948]{background-color:var(--v-tertiary-darken2)}",""]),e["default"]=o},8213:function(n,e,t){var l=t(2771);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[n.id,l,""]]),l.locals&&(n.exports=l.locals);var a=t(3514).Z;a("efa75174",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=598.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/598.js","mappings":"g2CAAA,IAAIA,EAAS,WAAiB,WAAC,IAAIC,GAAG,WAACC,MAAKC,GAAE,WAACF,EAAIG,MAAMD,IAAG,OAA9B,WAAqCA,EAAG,MAAM,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,cAAc,CAACG,YAAY,aAAa,CAACH,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,aAAa,MAAQJ,EAAIM,WAAW,YAAY,cAAcC,MAAM,CAACC,MAAOR,EAAIS,iBAAkBC,SAAS,SAAUC,GAAK,sBAACX,EAAIS,iBAAiBE,CAAI,EAACC,WAAW,uBAAuB,IAAI,IAAI,IAAI,IAAI,EACxc,EACGC,GAAe,WAAG,I,07RC0EtB,OAEAC,MAAAA,CACAC,MAAAA,OACAC,OAAAA,QAEAC,KANA,WAOA,OADA,sBACA,CACAC,IAAAA,IAAAA,EAAAA,EACAC,UAAAA,GACAC,WAAAA,CACA,CAAAC,KAAAA,OAAAb,MAAAA,QACA,CAAAa,KAAAA,UAAAb,MAAAA,WACA,CAAAa,KAAAA,WAAAb,MAAAA,YACA,CAAAa,KAAAA,mBAAAb,MAAAA,WACA,CAAAa,KAAAA,iBAAAb,MAAAA,YAEAc,gBAAAA,GACAC,kBAAAA,CACA,CAAAF,KAAAA,OAAAb,MAAAA,QACA,CAAAa,KAAAA,QAAAb,MAAAA,SACA,CAAAa,KAAAA,SAAAb,MAAAA,UACA,CAAAa,KAAAA,UAAAb,MAAAA,YAEAF,WAAAA,GACAG,iBAAAA,GACAe,0BAAAA,KAEA,EACAC,MAAAA,CACAhB,iBAAAA,SAAAA,EAAAA,GAAA,sBACA,qDACA,GAEAiB,QAlCA,WAkCA,iCACA,mEACA,cACA,IAHA,WAIA,2BAJA,WAKA,2CACA,yBACA,IAEA,EACAC,UAAAA,WAAA,sBACAC,cAAAA,KAAAA,0BACA,EACAC,QAAAA,CAiCAC,oBAAAA,WAAA,iCACA,kEACA,oBACA,GACA,EACAC,aAtCA,SAsCAvB,GAAA,sBACA,0BACA,EACAwB,YAzCA,SAyCAC,EAAAC,GAAA,uBACA,sCACA,oCACA,+DACA,kCADA,cAGA,IC1KoR,I,oBCQhRC,GAAY,OACd,EACApC,EACAc,GACA,EACA,KACA,WACA,MAIF,EAAesB,EAAiB,O,qFChB5BC,EAA0B,IAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,qJAAsJ,KAE/L,c,uBCJA,IAAIC,EAAU,EAAQ,MACnBA,EAAQC,aAAYD,EAAUA,EAAQE,SACnB,kBAAZF,IAAsBA,EAAU,CAAC,CAACF,EAAOC,GAAIC,EAAS,MAC7DA,EAAQG,SAAQL,EAAOM,QAAUJ,EAAQG,QAE5C,IAAIE,EAAM,UACGA,EAAI,WAAYL,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,G","sources":["webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/tool-cmdtlmserver/src/tools/CmdTlmServer/StatusTab.vue","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?f733","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?7de2","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?e438","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/StatusTab.vue?e99a"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-container',{staticClass:\"ma-0 pa-4\"},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-select',{attrs:{\"label\":\"Limits Set\",\"items\":_vm.limitsSets,\"data-test\":\"limits-set\"},model:{value:(_vm.currentLimitsSet),callback:function ($$v) {_vm.currentLimitsSet=$$v},expression:\"currentLimitsSet\"}})],1)],1)],1)],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\n<template>\n <div>\n <!-- Use a container here so we can do cols=\"auto\" to resize v-select -->\n <v-card flat>\n <v-container class=\"ma-0 pa-4\">\n <v-row no-gutters>\n <v-col cols=\"auto\">\n <!-- TODO: move to admin settings and delete this tab -->\n <v-select\n label=\"Limits Set\"\n :items=\"limitsSets\"\n v-model=\"currentLimitsSet\"\n data-test=\"limits-set\"\n />\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n\n <!-- v-card flat>\n <v-card-title>API Status</v-card-title>\n <v-data-table\n :headers=\"apiHeaders\"\n :items=\"apiStatus\"\n calculate-widths\n disable-pagination\n hide-default-footer\n />\n </v-card>\n\n <v-card flat>\n <v-card-title>Background Tasks</v-card-title>\n <v-data-table\n :headers=\"backgroundHeaders\"\n :items=\"backgroundTasks\"\n calculate-widths\n disable-pagination\n hide-default-footer\n >\n <template v-slot:item.control=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n @click=\"taskControl(item.name, item.control)\"\n >\n {{ item.control }}\n </v-btn>\n </template>\n </v-data-table>\n </v-card -->\n </div>\n</template>\n\n<script>\n// import 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 limitsSets: [],\n currentLimitsSet: '',\n currentSetRefreshInterval: null,\n }\n },\n watch: {\n currentLimitsSet: function (newVal, oldVal) {\n !!oldVal && this.limitsChange(newVal)\n },\n },\n created() {\n this.api.get_limits_sets().then((sets) => {\n this.limitsSets = sets\n })\n this.getCurrentLimitsSet()\n this.currentSetRefreshInterval = setInterval(\n this.getCurrentLimitsSet,\n 60 * 1000\n )\n },\n destroyed: function () {\n clearInterval(this.currentSetRefreshInterval)\n },\n methods: {\n // update() {\n // if (this.tabId != this.curTab) return\n // this.api.get_server_status().then((status) => {\n // this.currentLimitsSet = status[0]\n // this.apiStatus = [\n // {\n // port: status[1],\n // clients: status[2],\n // requests: status[3],\n // avgTime: (Math.round(status[4] * 1000000) / 1000000).toFixed(6),\n // threads: status[5],\n // },\n // ]\n // })\n // this.api.get_background_tasks().then((tasks) => {\n // this.backgroundTasks = []\n // for (let x of tasks) {\n // var control = ''\n // if (x[1] == 'no thread' || x[1] == 'complete') {\n // control = 'Start'\n // } else {\n // control = 'Stop'\n // }\n // this.backgroundTasks.push({\n // name: x[0],\n // state: x[1],\n // status: x[2],\n // control: control,\n // })\n // }\n // })\n // },\n getCurrentLimitsSet: function () {\n this.api.get_limits_set().then((result) => {\n this.currentLimitsSet = result\n })\n },\n limitsChange(value) {\n this.api.set_limits_set(value)\n },\n taskControl(name, state) {\n if (state == 'Start') {\n this.api.start_background_task(name)\n } else if (state == 'Stop') {\n this.api.stop_background_task(name)\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.container,\n.theme--dark.v-card,\n.theme--dark.v-sheet {\n background-color: var(--v-tertiary-darken2);\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/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/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=121f6948&scoped=true&\"\nimport script from \"./StatusTab.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusTab.vue?vue&type=style&index=0&id=121f6948&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"121f6948\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".container[data-v-121f6948],.theme--dark.v-card[data-v-121f6948],.theme--dark.v-sheet[data-v-121f6948]{background-color:var(--v-tertiary-darken2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./StatusTab.vue?vue&type=style&index=0&id=121f6948&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"efa75174\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["render","_vm","this","_c","_self","attrs","staticClass","limitsSets","model","value","currentLimitsSet","callback","$$v","expression","staticRenderFns","props","tabId","curTab","data","api","apiStatus","apiHeaders","text","backgroundTasks","backgroundHeaders","currentSetRefreshInterval","watch","created","destroyed","clearInterval","methods","getCurrentLimitsSet","limitsChange","taskControl","name","state","component","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","default","locals","exports","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_tool_cmdtlmserver"]=self["webpackChunk_openc3_tool_cmdtlmserver"]||[]).push([[699],{4699:function(n,e,t){"use strict";t.d(e,{Z:function(){return A}});t(4083);function l(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="fadf566f7fd1289ec90f695cd6676e271197ab8a",t=new Function("return this")(),i="__coverage__",o={path:"/openc3/plugins/packages/openc3-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:2136}},4:{start:{line:1,column:137},end:{line:1,column:241}},5:{start:{line:1,column:229},end:{line:1,column:241}},6:{start:{line:1,column:241},end:{line:1,column:262}},7:{start:{line:1,column:319},end:{line:1,column:336}},8:{start:{line:1,column:493},end:{line:1,column:662}},9:{start:{line:1,column:874},end:{line:1,column:1042}},10:{start:{line:1,column:1268},end:{line:1,column:1463}},11:{start:{line:1,column:2084},end:{line:1,column:2099}},12:{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:120},end:{line:1,column:121}},loc:{start:{line:1,column:136},end:{line:1,column:263}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:303},end:{line:1,column:304}},loc:{start:{line:1,column:318},end:{line:1,column:337}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:469},end:{line:1,column:470}},loc:{start:{line:1,column:492},end:{line:1,column:663}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:850},end:{line:1,column:851}},loc:{start:{line:1,column:873},end:{line:1,column:1043}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1244},end:{line:1,column:1245}},loc:{start:{line:1,column:1267},end:{line:1,column:1464}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2068},end:{line:1,column:2069}},loc:{start:{line:1,column:2083},end:{line:1,column:2100}},line:1}},branchMap:{0:{loc:{start:{line:1,column:137},end:{line:1,column:241}},type:"if",locations:[{start:{line:1,column:137},end:{line:1,column:241}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:1},1:{loc:{start:{line:1,column:140},end:{line:1,column:228}},type:"binary-expr",locations:[{start:{line:1,column:140},end:{line:1,column:167}},{start:{line:1,column:169},end:{line:1,column:228}}],line:1}},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},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:"fadf566f7fd1289ec90f695cd6676e271197ab8a"},a=t[i]||(t[i]={});a[n]&&a[n].hash===e||(a[n]=o);var c=a[n];return l=function(){return c},c}l(),l().s[0]++;var i=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("v-dialog",{attrs:{width:"790px"},on:{keydown:function(e){if(l().f[1]++,l().s[4]++,l().b[1][0]++,!e.type.indexOf("key")&&(l().b[1][1]++,n._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])))return l().b[0][0]++,l().s[5]++,null;l().b[0][1]++,l().s[6]++,n.isVisible=!1}},model:{value:n.isVisible,callback:function(e){l().f[2]++,l().s[7]++,n.isVisible=e},expression:"isVisible"}},[e("v-card",[e("v-system-bar",[e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return l().f[3]++,l().s[8]++,[e("div",n._g(n._b({},"div",o,!1),i),[e("v-icon",{attrs:{"data-test":"copy-icon"},on:{click:n.copyRawData}},[n._v(" mdi-content-copy ")])],1)]}}])},[e("span",[n._v(" Copy ")])]),e("v-spacer"),e("span",[n._v(" "+n._s(n.type)+" ")]),e("v-spacer"),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return l().f[4]++,l().s[9]++,[e("div",n._g(n._b({},"div",o,!1),i),[e("v-icon",{attrs:{"data-test":"download"},on:{click:n.downloadRawData}},[n._v(" mdi-download ")])],1)]}}])},[e("span",[n._v(" Download ")])])],1),e("v-card-title",[e("span",[n._v(" "+n._s(n.header)+" ")]),e("v-spacer"),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return l().f[5]++,l().s[10]++,[e("div",n._g(n._b({},"div",o,!1),i),[e("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:n.pause}},[e("v-icon",[n._v(" "+n._s(n.buttonIcon)+" ")])],1)],1)]}}])},[e("span",[n._v(" "+n._s(n.buttonLabel)+" ")])])],1),e("v-card-text",[e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Received Time: ")])]),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedTime)+" ")])])],1),e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Count: ")])]),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedCount)+" ")])])],1),e("v-textarea",{staticClass:"pa-0 ma-0",attrs:{"auto-grow":"",readonly:""},model:{value:n.rawData,callback:function(e){l().f[6]++,l().s[11]++,n.rawData=e},expression:"rawData"}})],1)],1)],1)},o=(l().s[12]++,[]),a=(t(8178),t(8188),t(8673),t(6886),t(4121),t(523),t(1939),t(7789),t(8233),t(9413)),c=t(9229);function s(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="b292334f8f1e9bb52bd235684d64f0ee33c74e59",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:15,column:4},end:{line:21,column:5}},1:{start:{line:25,column:6},end:{line:29,column:7}},2:{start:{line:26,column:8},end:{line:26,column:23}},3:{start:{line:28,column:8},end:{line:28,column:22}},4:{start:{line:32,column:6},end:{line:36,column:7}},5:{start:{line:33,column:8},end:{line:33,column:25}},6:{start:{line:35,column:8},end:{line:35,column:26}},7:{start:{line:40,column:8},end:{line:40,column:27}},8:{start:{line:44,column:8},end:{line:44,column:24}},9:{start:{line:45,column:8},end:{line:45,column:30}},10:{start:{line:46,column:8},end:{line:46,column:25}},11:{start:{line:47,column:8},end:{line:47,column:31}},12:{start:{line:48,column:8},end:{line:48,column:27}},13:{start:{line:49,column:8},end:{line:49,column:34}},14:{start:{line:50,column:8},end:{line:50,column:35}},15:{start:{line:56,column:6},end:{line:56,column:113}},16:{start:{line:59,column:6},end:{line:59,column:56}},17:{start:{line:62,column:19},end:{line:64,column:8}},18:{start:{line:66,column:19},end:{line:66,column:46}},19:{start:{line:67,column:6},end:{line:67,column:43}},20:{start:{line:68,column:17},end:{line:68,column:58}},21:{start:{line:69,column:6},end:{line:72,column:7}},22:{start:{line:73,column:6},end:{line:73,column:18}},23:{start:{line:76,column:6},end:{line:76,column:32}},24:{start:{line:79,column:6},end:{line:79,column:48}},25:{start:{line:79,column:42},end:{line:79,column:48}},26:{start:{line:80,column:6},end:{line:80,column:84}},27:{start:{line:82,column:6},end:{line:86,column:7}},28:{start:{line:83,column:8},end:{line:83,column:30}},29:{start:{line:85,column:8},end:{line:85,column:28}},30:{start:{line:89,column:6},end:{line:98,column:10}},31:{start:{line:92,column:10},end:{line:92,column:61}},32:{start:{line:93,column:10},end:{line:93,column:52}},33:{start:{line:94,column:10},end:{line:97,column:48}},34:{start:{line:101,column:6},end:{line:110,column:10}},35:{start:{line:104,column:10},end:{line:104,column:61}},36:{start:{line:105,column:10},end:{line:105,column:52}},37:{start:{line:106,column:10},end:{line:109,column:48}},38:{start:{line:114,column:19},end:{line:114,column:21}},39:{start:{line:115,column:18},end:{line:115,column:19}},40:{start:{line:116,column:18},end:{line:116,column:20}},41:{start:{line:117,column:6},end:{line:138,column:8}},42:{start:{line:118,column:8},end:{line:120,column:9}},43:{start:{line:119,column:10},end:{line:119,column:48}},44:{start:{line:121,column:8},end:{line:121,column:35}},45:{start:{line:124,column:8},end:{line:128,column:9}},46:{start:{line:125,column:10},end:{line:125,column:44}},47:{start:{line:127,column:10},end:{line:127,column:22}},48:{start:{line:130,column:8},end:{line:130,column:15}},49:{start:{line:132,column:8},end:{line:137,column:9}},50:{start:{line:133,column:10},end:{line:133,column:39}},51:{start:{line:134,column:10},end:{line:134,column:20}},52:{start:{line:136,column:10},end:{line:136,column:23}},53:{start:{line:143,column:6},end:{line:149,column:7}},54:{start:{line:144,column:30},end:{line:144,column:65}},55:{start:{line:146,column:21},end:{line:146,column:53}},56:{start:{line:147,column:27},end:{line:147,column:56}},57:{start:{line:148,column:8},end:{line:148,column:54}},58:{start:{line:150,column:6},end:{line:150,column:19}},59:{start:{line:153,column:16},end:{line:153,column:32}},60:{start:{line:154,column:6},end:{line:154,column:49}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:9},end:{line:22,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:24,column:17},end:{line:24,column:18}},loc:{start:{line:24,column:29},end:{line:30,column:5}},line:24},2:{name:"(anonymous_2)",decl:{start:{line:31,column:16},end:{line:31,column:17}},loc:{start:{line:31,column:28},end:{line:37,column:5}},line:31},3:{name:"(anonymous_3)",decl:{start:{line:39,column:11},end:{line:39,column:12}},loc:{start:{line:39,column:23},end:{line:41,column:7}},line:39},4:{name:"(anonymous_4)",decl:{start:{line:43,column:11},end:{line:43,column:12}},loc:{start:{line:43,column:27},end:{line:51,column:7}},line:43},5:{name:"(anonymous_5)",decl:{start:{line:55,column:18},end:{line:55,column:19}},loc:{start:{line:55,column:30},end:{line:57,column:5}},line:55},6:{name:"(anonymous_6)",decl:{start:{line:58,column:17},end:{line:58,column:18}},loc:{start:{line:58,column:29},end:{line:60,column:5}},line:58},7:{name:"(anonymous_7)",decl:{start:{line:61,column:21},end:{line:61,column:22}},loc:{start:{line:61,column:33},end:{line:74,column:5}},line:61},8:{name:"(anonymous_8)",decl:{start:{line:75,column:11},end:{line:75,column:12}},loc:{start:{line:75,column:23},end:{line:77,column:5}},line:75},9:{name:"(anonymous_9)",decl:{start:{line:78,column:12},end:{line:78,column:13}},loc:{start:{line:78,column:24},end:{line:87,column:5}},line:78},10:{name:"(anonymous_10)",decl:{start:{line:88,column:21},end:{line:88,column:22}},loc:{start:{line:88,column:33},end:{line:99,column:5}},line:88},11:{name:"(anonymous_11)",decl:{start:{line:91,column:14},end:{line:91,column:15}},loc:{start:{line:91,column:26},end:{line:98,column:9}},line:91},12:{name:"(anonymous_12)",decl:{start:{line:100,column:19},end:{line:100,column:20}},loc:{start:{line:100,column:31},end:{line:111,column:5}},line:100},13:{name:"(anonymous_13)",decl:{start:{line:103,column:14},end:{line:103,column:15}},loc:{start:{line:103,column:26},end:{line:110,column:9}},line:103},14:{name:"(anonymous_14)",decl:{start:{line:113,column:18},end:{line:113,column:19}},loc:{start:{line:113,column:36},end:{line:151,column:5}},line:113},15:{name:"(anonymous_15)",decl:{start:{line:117,column:21},end:{line:117,column:22}},loc:{start:{line:117,column:31},end:{line:138,column:7}},line:117},16:{name:"(anonymous_16)",decl:{start:{line:152,column:4},end:{line:152,column:5}},loc:{start:{line:152,column:27},end:{line:155,column:5}},line:152}},branchMap:{0:{loc:{start:{line:25,column:6},end:{line:29,column:7}},type:"if",locations:[{start:{line:25,column:6},end:{line:29,column:7}},{start:{line:27,column:13},end:{line:29,column:7}}],line:25},1:{loc:{start:{line:32,column:6},end:{line:36,column:7}},type:"if",locations:[{start:{line:32,column:6},end:{line:36,column:7}},{start:{line:34,column:13},end:{line:36,column:7}}],line:32},2:{loc:{start:{line:79,column:6},end:{line:79,column:48}},type:"if",locations:[{start:{line:79,column:6},end:{line:79,column:48}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:79},3:{loc:{start:{line:79,column:10},end:{line:79,column:40}},type:"binary-expr",locations:[{start:{line:79,column:10},end:{line:79,column:25}},{start:{line:79,column:29},end:{line:79,column:40}}],line:79},4:{loc:{start:{line:82,column:6},end:{line:86,column:7}},type:"if",locations:[{start:{line:82,column:6},end:{line:86,column:7}},{start:{line:84,column:13},end:{line:86,column:7}}],line:82},5:{loc:{start:{line:118,column:8},end:{line:120,column:9}},type:"if",locations:[{start:{line:118,column:8},end:{line:120,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:118},6:{loc:{start:{line:124,column:8},end:{line:128,column:9}},type:"if",locations:[{start:{line:124,column:8},end:{line:128,column:9}},{start:{line:126,column:15},end:{line:128,column:9}}],line:124},7:{loc:{start:{line:124,column:12},end:{line:124,column:37}},type:"binary-expr",locations:[{start:{line:124,column:12},end:{line:124,column:22}},{start:{line:124,column:26},end:{line:124,column:37}}],line:124},8:{loc:{start:{line:132,column:8},end:{line:137,column:9}},type:"if",locations:[{start:{line:132,column:8},end:{line:137,column:9}},{start:{line:135,column:15},end:{line:137,column:9}}],line:132},9:{loc:{start:{line:143,column:6},end:{line:149,column:7}},type:"if",locations:[{start:{line:143,column:6},end:{line:149,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:143},10:{loc:{start:{line:152,column:16},end:{line:152,column:25}},type:"default-arg",locations:[{start:{line:152,column:24},end:{line:152,column:25}}],line:152}},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},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},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]},inputSourceMap:{version:3,sources:["RawDialog.vue"],names:[],mappings:";AAqFA;;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;;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;;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 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-dialog v-model=\"isVisible\" @keydown.esc=\"isVisible = false\" width=\"790px\">\n <v-card>\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-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=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\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 </v-dialog>\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 },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\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 },\n methods: {\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 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(result.buffer.raw)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\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(result.buffer.raw)\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.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"b292334f8f1e9bb52bd235684d64f0ee33c74e59"},o=t[l]||(t[l]={});o[n]&&o[n].hash===e||(o[n]=i);var a=o[n];return s=function(){return a},a}s();var u={mixins:[c.Z],props:{type:String,visible:Boolean,targetName:String,packetName:String},data:function(){return s().f[0]++,s().s[0]++,{header:"",receivedTime:"",rawData:"",paused:!1,receivedCount:""}},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)}}},methods:{buildRawData:function(){return s().f[5]++,s().s[15]++,"".concat(this.header,"\nReceived Time: ").concat(this.receivedTime,"\nCount: ").concat(this.receivedCount,"\n").concat(this.rawData)},copyRawData:function(){s().f[6]++,s().s[16]++,navigator.clipboard.writeText(this.buildRawData())},downloadRawData:function(){s().f[7]++;var n=(s().s[17]++,new Blob([this.buildRawData()],{type:"plain/text"})),e=(s().s[18]++,document.createElement("a"));s().s[19]++,e.href=URL.createObjectURL(n);var t=(s().s[20]++,(0,a.Z)(Date.now(),"yyyy_MM_dd_HH_mm_ss"));s().s[21]++,e.setAttribute("download","".concat(t,"_").concat(this.targetName,"_").concat(this.packetName,".txt")),s().s[22]++,e.click()},pause:function(){s().f[8]++,s().s[23]++,this.paused=!this.paused},update:function(){if(s().f[9]++,s().s[24]++,s().b[3][0]++,!this.isVisible||(s().b[3][1]++,this.paused))return s().b[2][0]++,void s().s[25]++;s().b[2][1]++,s().s[26]++,this.header="Raw ".concat(this.type," Packet: ").concat(this.targetName," ").concat(this.packetName),s().s[27]++,"Telemetry"===this.type?(s().b[4][0]++,s().s[28]++,this.updateTelemetry()):(s().b[4][1]++,s().s[29]++,this.updateCommand())},updateTelemetry:function(){var n=this;s().f[10]++,s().s[30]++,this.api.get_tlm_buffer(this.targetName,this.packetName).then((function(e){s().f[11]++,s().s[31]++,n.receivedTime=new Date(e.time/1e6),s().s[32]++,n.receivedCount=e.received_count,s().s[33]++,n.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+n.formatBuffer(e.buffer.raw)}))},updateCommand:function(){var n=this;s().f[12]++,s().s[34]++,this.api.get_cmd_buffer(this.targetName,this.packetName).then((function(e){s().f[13]++,s().s[35]++,n.receivedTime=new Date(e.time/1e6),s().s[36]++,n.receivedCount=e.received_count,s().s[37]++,n.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+n.formatBuffer(e.buffer.raw)}))},formatBuffer:function(n){var e=this;s().f[14]++;var t=(s().s[38]++,""),l=(s().s[39]++,0),i=(s().s[40]++,"");if(s().s[41]++,n.forEach((function(n){s().f[15]++,s().s[42]++,l%16===0?(s().b[5][0]++,s().s[43]++,t+=e.numHex(l,8)+": "):s().b[5][1]++,s().s[44]++,t+=e.numHex(n),s().s[45]++,s().b[7][0]++,n>=32&&(s().b[7][1]++,n<=126)?(s().b[6][0]++,s().s[46]++,i+=String.fromCharCode(n)):(s().b[6][1]++,s().s[47]++,i+=" "),s().s[48]++,l++,s().s[49]++,l%16===0?(s().b[8][0]++,s().s[50]++,t+=" "+i+"\n",s().s[51]++,i=""):(s().b[8][1]++,s().s[52]++,t+=" ")})),s().s[53]++,l%16!=0){s().b[9][0]++;var o=(s().s[54]++,l%16-1+l%16*2),a=(s().s[55]++," ".repeat(47-o)),c=(s().s[56]++," ".repeat(16-i.length));s().s[57]++,t+=a+" "+i+c}else s().b[9][1]++;return s().s[58]++,t},numHex:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(s().b[10][0]++,2);s().f[16]++;var t=(s().s[59]++,n.toString(16));return s().s[60]++,"0".repeat(e-t.length)+t}}},r=u,m=(t(5836),t(3483)),d=(0,m.Z)(r,i,o,!1,null,"7e275052",null),A=d.exports},9675:function(n,e,t){"use strict";t.r(e);var l=t(9601),i=t.n(l),o=t(2609),a=t.n(o),c=a()(i());c.push([n.id,".v-textarea[data-v-7e275052] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}",""]),e["default"]=c},9229:function(n,e,t){"use strict";var l=t(575);function i(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="8ca17c03f396bd33b473a0b159dc210a869d62ab",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:29,column:4},end:{line:32,column:5}},1:{start:{line:35,column:4},end:{line:35,column:30}},2:{start:{line:38,column:4},end:{line:38,column:24}},3:{start:{line:41,column:4},end:{line:44,column:5}},4:{start:{line:42,column:6},end:{line:42,column:33}},5:{start:{line:43,column:6},end:{line:43,column:25}},6:{start:{line:49,column:6},end:{line:49,column:26}},7:{start:{line:54,column:6},end:{line:57,column:7}},8:{start:{line:55,column:8},end:{line:55,column:35}},9:{start:{line:56,column:8},end:{line:56,column:27}},10:{start:{line:58,column:6},end:{line:60,column:30}},11:{start:{line:59,column:8},end:{line:59,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:28,column:2},end:{line:28,column:3}},loc:{start:{line:28,column:9},end:{line:33,column:3}},line:28},1:{name:"(anonymous_1)",decl:{start:{line:34,column:2},end:{line:34,column:3}},loc:{start:{line:34,column:12},end:{line:36,column:3}},line:34},2:{name:"(anonymous_2)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:18},end:{line:45,column:3}},line:40},4:{name:"(anonymous_4)",decl:{start:{line:48,column:21},end:{line:48,column:22}},loc:{start:{line:48,column:47},end:{line:50,column:5}},line:48},5:{name:"(anonymous_5)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:20},end:{line:61,column:5}},line:53},6:{name:"(anonymous_6)",decl:{start:{line:58,column:33},end:{line:58,column:34}},loc:{start:{line:58,column:39},end:{line:60,column:7}},line:58}},branchMap:{0:{loc:{start:{line:41,column:4},end:{line:44,column:5}},type:"if",locations:[{start:{line:41,column:4},end:{line:44,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},1:{loc:{start:{line:54,column:6},end:{line:57,column:7}},type:"if",locations:[{start:{line:54,column:6},end:{line:57,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:54}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8ca17c03f396bd33b473a0b159dc210a869d62ab"},a=t[l]||(t[l]={});a[n]&&a[n].hash===e||(a[n]=o);var c=a[n];return i=function(){return c},c}i(),e["Z"]={props:{refreshInterval:{default:1e3}},data:function(){return i().f[0]++,i().s[0]++,{updater:null,api:null}},created:function(){i().f[1]++,i().s[1]++,this.api=new l.k},mounted:function(){i().f[2]++,i().s[2]++,this.changeUpdater()},beforeDestroy:function(){i().f[3]++,i().s[3]++,null!=this.updater?(i().b[0][0]++,i().s[4]++,clearInterval(this.updater),i().s[5]++,this.updater=null):i().b[0][1]++},watch:{refreshInterval:function(n,e){i().f[4]++,i().s[6]++,this.changeUpdater()}},methods:{changeUpdater:function(){var n=this;i().f[5]++,i().s[7]++,null!=this.updater?(i().b[1][0]++,i().s[8]++,clearInterval(this.updater),i().s[9]++,this.updater=null):i().b[1][1]++,i().s[10]++,this.updater=setInterval((function(){i().f[6]++,i().s[11]++,n.update()}),this.refreshInterval)}}}},5836:function(n,e,t){var l=t(9675);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[n.id,l,""]]),l.locals&&(n.exports=l.locals);var i=t(3514).Z;i("cebbe798",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=699.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/699.js","mappings":"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","sources":["webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue","webpack://@openc3/tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?c7ca","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?b7f3","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?74bd","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?6041"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"790px\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;_vm.isVisible = false}},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-system-bar',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"copy-icon\"},on:{\"click\":_vm.copyRawData}},[_vm._v(\" mdi-content-copy \")])],1)]}}])},[_c('span',[_vm._v(\" Copy \")])]),_c('v-spacer'),_c('span',[_vm._v(\" \"+_vm._s(_vm.type)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"download\"},on:{\"click\":_vm.downloadRawData}},[_vm._v(\" mdi-download \")])],1)]}}])},[_c('span',[_vm._v(\" Download \")])])],1),_c('v-card-title',[_c('span',[_vm._v(\" \"+_vm._s(_vm.header)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])])],1),_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Received Time: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedTime)+\" \")])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Count: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedCount)+\" \")])])],1),_c('v-textarea',{staticClass:\"pa-0 ma-0\",attrs:{\"auto-grow\":\"\",\"readonly\":\"\"},model:{value:(_vm.rawData),callback:function ($$v) {_vm.rawData=$$v},expression:\"rawData\"}})],1)],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\n<template>\n <v-dialog v-model=\"isVisible\" @keydown.esc=\"isVisible = false\" width=\"790px\">\n <v-card>\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-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=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\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 </v-dialog>\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 },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\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 },\n methods: {\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 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(result.buffer.raw)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\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(result.buffer.raw)\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.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RawDialog.vue?vue&type=template&id=7e275052&scoped=true&\"\nimport script from \"./RawDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./RawDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RawDialog.vue?vue&type=style&index=0&id=7e275052&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e275052\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-textarea[data-v-7e275052] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport { 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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=style&index=0&id=7e275052&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"cebbe798\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["render","_vm","this","_c","_self","attrs","on","$event","type","indexOf","_k","keyCode","key","isVisible","model","value","callback","$$v","expression","scopedSlots","_u","fn","_g","_b","copyRawData","_v","_s","downloadRawData","header","pause","buttonIcon","buttonLabel","staticClass","receivedTime","receivedCount","rawData","staticRenderFns","mixins","props","visible","targetName","packetName","data","paused","computed","get","set","methods","buildRawData","navigator","link","dt","update","updateTelemetry","get_tlm_buffer","then","updateCommand","get_cmd_buffer","formatBuffer","buffer","string","ascii","index","numHex","num","component","___CSS_LOADER_EXPORT___","push","module","id","refreshInterval","default","updater","api","created","OpenC3Api","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","setInterval","content","__esModule","locals","exports","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_tool_cmdtlmserver"]=self["webpackChunk_openc3_tool_cmdtlmserver"]||[]).push([[774],{7774:function(e,n,t){"use strict";function a(){var e="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",n="89cfa199a41895edf361e29411d5c212d2acbe57",t=new Function("return this")(),l="__coverage__",s={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1036}},4:{start:{line:1,column:238},end:{line:1,column:252}},5:{start:{line:1,column:314},end:{line:1,column:400}},6:{start:{line:1,column:572},end:{line:1,column:593}},7:{start:{line:1,column:923},end:{line:1,column:951}},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:222},end:{line:1,column:223}},loc:{start:{line:1,column:237},end:{line:1,column:253}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:294},end:{line:1,column:295}},loc:{start:{line:1,column:313},end:{line:1,column:401}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:556},end:{line:1,column:557}},loc:{start:{line:1,column:571},end:{line:1,column:594}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:906},end:{line:1,column:907}},loc:{start:{line:1,column:922},end:{line:1,column:952}},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:"89cfa199a41895edf361e29411d5c212d2acbe57"},r=t[l]||(t[l]={});r[e]&&r[e].hash===n||(r[e]=s);var o=r[e];return a=function(){return o},o}t.r(n),t.d(n,{default:function(){return O}}),a(),a().s[0]++;var l=function(){a().f[0]++;var e=(a().s[1]++,this),n=(a().s[2]++,e._self._c);return a().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),n("v-card",[n("v-tabs",{attrs:{"fixed-tabs":""},model:{value:e.curTab,callback:function(n){a().f[1]++,a().s[4]++,e.curTab=n},expression:"curTab"}},e._l(e.tabs,(function(t,l){return a().f[2]++,a().s[5]++,n("v-tab",{key:l,attrs:{to:t.url}},[e._v(" "+e._s(t.name)+" ")])})),1),n("router-view",{attrs:{"refresh-interval":e.refreshInterval}}),n("v-dialog",{attrs:{"max-width":"300"},model:{value:e.optionsDialog,callback:function(n){a().f[3]++,a().s[6]++,e.optionsDialog=n},expression:"optionsDialog"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),n("span",[e._v("Options")]),n("v-spacer")],1),n("div",{staticClass:"pa-3"},[n("v-text-field",{attrs:{min:"0",max:"10000",step:"100",type:"number",label:"Refresh Interval (ms)",value:e.refreshInterval},on:{change:function(n){a().f[4]++,a().s[7]++,e.refreshInterval=n}}})],1)],1)],1)],1),n("div",{staticStyle:{height:"20px"}}),n("log-messages")],1)},s=(a().s[8]++,[]),r=(t(7950),t(4908),function(){var e=this,n=e._self._c;return n("v-card",[n("v-card-title",[e._v(" Log Messages "),n("v-spacer"),n("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":"","data-test":"search-log-messages"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"calculate-widths":"","disable-pagination":"","hide-default-footer":"","multi-sort":"",dense:"",height:"45vh","data-test":"log-messages"},scopedSlots:e._u([{key:"item.timestamp",fn:function(t){var a=t.item;return[n("time",{attrs:{title:a.timestamp,datetime:a.timestamp}},[e._v(" "+e._s(a.timestamp)+" ")])]}},{key:"item.severity",fn:function(t){var a=t.item;return[n("astro-badge",{attrs:{status:e.getAstroStatus(a.severity),inline:""}},[n("span",{class:e.getColorClass(a.severity)},[e._v(e._s(a.severity))])])]}}])})],1)}),o=[],i=(t(1245),t(9805),t(8188),t(1939),t(8178),t(9413)),c=t(5488),u=t(5285),m=t(4948),d=t(4567),v=t(6812),A=t(3492);A.ConnectionMonitor.staleThreshold=60;var p=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/openc3-api/cable";(0,d.Z)(this,e),this._cable=A.createConsumer(n)}return(0,v.Z)(e,[{key:"disconnect",value:function(){this._cable.disconnect()}},{key:"createSubscription",value:function(e,n){var t=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((function(){return t._cable.subscriptions.create((0,m.Z)({channel:e,scope:n,token:localStorage.openc3Token},l),a)}))}}]),e}(),f={components:{AstroBadge:u.Z},props:{history_count:{type:Number,default:100}},data:function(){return{data:[],search:"",headers:[{text:"Time",value:"timestamp",width:200},{text:"Severity",value:"severity"},{text:"Source",value:"microservice_name"},{text:"Message",value:"log"}],cable:new p,subscription:null}},created:function(){var e=this;this.cable.createSubscription("MessagesChannel",localStorage.scope,{received:function(n){var t=JSON.parse(n);t.length>e.history_count&&t.splice(0,t.length-e.history_count),t.forEach((function(n){n.timestamp=e.formatDate(n["@timestamp"])})),e.data=t.reverse().concat(e.data),e.data.length>e.history_count&&(e.data.length=e.history_count)}},{history_count:this.history_count}).then((function(n){e.subscription=n}))},destroyed:function(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{formatDate:function(e){return(0,i.Z)((0,c.Z)(e),"yyyy-MM-dd HH:mm:ss.SSS")},getColorClass:function(e){return"INFO"===e?"openc3-green":"WARN"===e?"openc3-yellow":"ERROR"===e?"openc3-red":this.$vuetify.theme.dark?"openc3-white":"openc3-black"},getAstroStatus:function(e){return"INFO"===e?"normal":"WARN"===e?"caution":"ERROR"===e?"critical":void 0}}},h=f,b=t(3483),g=(0,b.Z)(h,r,o,!1,null,null,null),C=g.exports,_=function(){var e=this,n=e._self._c;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("div",{staticClass:"v-toolbar__content"},[e._l(e.menus,(function(t,a){return n("v-menu",{key:a,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function(a){var l=a.on,s=a.attrs;return[n("v-btn",e._g(e._b({staticClass:"mx-1",attrs:{outlined:"","data-test":e.formatDT("".concat(e.title," ").concat(t.label))}},"v-btn",s,!1),l),[n("span",{domProps:{textContent:e._s(t.label)}}),n("v-icon",{attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(a,l){return[a.divider?n("v-divider"):n("v-list-item",{key:l,attrs:{disabled:a.disabled,"data-test":e.formatDT("".concat(e.title," ").concat(t.label," ").concat(a.label))},on:{click:a.command}},[a.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:a.label,value:a.label}})],1):e._e(),a.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:a.label,value:a.label},model:{value:e.checked,callback:function(n){e.checked=n},expression:"checked"}})],1):e._e(),a.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:a.disabled}},[e._v(e._s(a.icon))])],1):e._e(),a.radio||a.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(a.disabled?"opacity: 0.2":"")},[e._v(e._s(a.label))])],1)]}))],2)],1)],1)})),n("v-spacer"),n("v-toolbar-title",[e._v(e._s(e.title))]),n("v-spacer")],2)])},y=[],T=(t(5940),t(1639),{props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()}}}),k=T,x=(t(6104),(0,b.Z)(k,_,y,!1,null,"11927f54",null)),S=x.exports;function M(){var e="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",n="6b3a1c43d8e4fccab5b4e4efc71119b316584bc6",t=new Function("return this")(),a="__coverage__",l={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",statementMap:{0:{start:{line:10,column:4},end:{line:55,column:5}},1:{start:{line:49,column:16},end:{line:49,column:41}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:9,column:2},end:{line:9,column:3}},loc:{start:{line:9,column:9},end:{line:56,column:3}},line:9},1:{name:"(anonymous_1)",decl:{start:{line:48,column:23},end:{line:48,column:24}},loc:{start:{line:48,column:29},end:{line:50,column:15}},line:48}},branchMap:{},s:{0:0,1:0},f:{0:0,1:0},b:{},inputSourceMap:{version:3,sources:["CmdTlmServer.vue"],names:[],mappings:";AAwDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"CmdTlmServer.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <top-bar :menus="menus" :title="title" />\n <v-card>\n <v-tabs v-model="curTab" fixed-tabs>\n <v-tab v-for="(tab, index) in tabs" :key="index" :to="tab.url">\n {{ tab.name }}\n </v-tab>\n </v-tabs>\n <router-view :refresh-interval="refreshInterval" />\n <v-dialog v-model="optionsDialog" max-width="300">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span>Options</span>\n <v-spacer />\n </v-system-bar>\n <div class="pa-3">\n <v-text-field\n min="0"\n max="10000"\n step="100"\n type="number"\n label="Refresh Interval (ms)"\n :value="refreshInterval"\n @change="refreshInterval = $event"\n />\n </div>\n </v-card>\n </v-dialog>\n </v-card>\n <div style="height: 20px" />\n <log-messages />\n </div>\n</template>\n\n<script>\nimport LogMessages from \'@openc3/tool-common/src/components/LogMessages\'\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\nexport default {\n components: {\n LogMessages,\n TopBar,\n },\n data() {\n return {\n title: \'CmdTlmServer\',\n curTab: null,\n tabs: [\n {\n name: \'Interfaces\',\n url: \'/interfaces\',\n },\n {\n name: \'Targets\',\n url: \'/targets\',\n },\n {\n name: \'Cmd Packets\',\n url: \'/cmd-packets\',\n },\n {\n name: \'Tlm Packets\',\n url: \'/tlm-packets\',\n },\n {\n name: \'Routers\',\n url: \'/routers\',\n },\n {\n name: \'Status\',\n url: \'/status\',\n },\n ],\n updater: null,\n refreshInterval: 1000,\n optionsDialog: false,\n menus: [\n {\n label: \'File\',\n items: [\n {\n label: \'Options\',\n command: () => {\n this.optionsDialog = true\n },\n },\n ],\n },\n ],\n }\n },\n}\n<\/script>\n\n<style scoped>\n.v-list :deep(.v-label) {\n margin-left: 5px;\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6b3a1c43d8e4fccab5b4e4efc71119b316584bc6"},s=t[a]||(t[a]={});s[e]&&s[e].hash===n||(s[e]=l);var r=s[e];return M=function(){return r},r}M();var w={components:{LogMessages:C,TopBar:S},data:function(){var e=this;return M().f[0]++,M().s[0]++,{title:"CmdTlmServer",curTab:null,tabs:[{name:"Interfaces",url:"/interfaces"},{name:"Targets",url:"/targets"},{name:"Cmd Packets",url:"/cmd-packets"},{name:"Tlm Packets",url:"/tlm-packets"},{name:"Routers",url:"/routers"},{name:"Status",url:"/status"}],updater:null,refreshInterval:1e3,optionsDialog:!1,menus:[{label:"File",items:[{label:"Options",command:function(){M().f[1]++,M().s[1]++,e.optionsDialog=!0}}]}]}}},R=w,I=(t(501),(0,b.Z)(R,l,s,!1,null,"5b580c08",null)),O=I.exports},3961:function(e,n,t){"use strict";t.r(n);var a=t(9601),l=t.n(a),s=t(2609),r=t.n(s),o=r()(l());o.push([e.id,".v-list[data-v-5b580c08] .v-label{margin-left:5px}.v-list-item__icon[data-v-5b580c08]{margin-right:15px!important}.v-list-item__title[data-v-5b580c08]{color:#fff}",""]),n["default"]=o},295:function(e,n,t){"use strict";t.r(n);var a=t(9601),l=t.n(a),s=t(2609),r=t.n(s),o=r()(l());o.push([e.id,".v-list[data-v-11927f54] .v-label{margin-left:5px}.v-list-item__icon[data-v-11927f54]{margin-right:15px!important}.v-list-item__title[data-v-11927f54]{color:#fff}",""]),n["default"]=o},501:function(e,n,t){var a=t(3961);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var l=t(3514).Z;l("e21160c8",a,!0,{sourceMap:!1,shadowMode:!1})},6104:function(e,n,t){var a=t(295);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var l=t(3514).Z;l("3d68193a",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=774.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/774.js","mappings":"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","sources":["webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue","webpack://@openc3/tool-cmdtlmserver/../openc3-tool-common/src/components/LogMessages.vue","webpack://@openc3/tool-cmdtlmserver/../openc3-tool-common/src/services/cable.js","webpack://@openc3/tool-cmdtlmserver/../openc3-tool-common/src/components/LogMessages.vue?4666","webpack://@openc3/tool-cmdtlmserver/../openc3-tool-common/src/components/LogMessages.vue?971e","webpack://@openc3/tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?d3cb","webpack://@openc3/tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?9684","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?2c2b","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?eb55","webpack://@openc3/tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?fff0","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/CmdTlmServer.vue?41f2","webpack://@openc3/tool-cmdtlmserver/../openc3-tool-common/src/components/TopBar.vue?943a"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"menus\":_vm.menus,\"title\":_vm.title}}),_c('v-card',[_c('v-tabs',{attrs:{\"fixed-tabs\":\"\"},model:{value:(_vm.curTab),callback:function ($$v) {_vm.curTab=$$v},expression:\"curTab\"}},_vm._l((_vm.tabs),function(tab,index){return _c('v-tab',{key:index,attrs:{\"to\":tab.url}},[_vm._v(\" \"+_vm._s(tab.name)+\" \")])}),1),_c('router-view',{attrs:{\"refresh-interval\":_vm.refreshInterval}}),_c('v-dialog',{attrs:{\"max-width\":\"300\"},model:{value:(_vm.optionsDialog),callback:function ($$v) {_vm.optionsDialog=$$v},expression:\"optionsDialog\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Options\")]),_c('v-spacer')],1),_c('div',{staticClass:\"pa-3\"},[_c('v-text-field',{attrs:{\"min\":\"0\",\"max\":\"10000\",\"step\":\"100\",\"type\":\"number\",\"label\":\"Refresh Interval (ms)\",\"value\":_vm.refreshInterval},on:{\"change\":function($event){_vm.refreshInterval = $event}}})],1)],1)],1)],1),_c('div',{staticStyle:{\"height\":\"20px\"}}),_c('log-messages')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\" Log Messages \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\",\"data-test\":\"search-log-messages\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"calculate-widths\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"multi-sort\":\"\",\"dense\":\"\",\"height\":\"45vh\",\"data-test\":\"log-messages\"},scopedSlots:_vm._u([{key:\"item.timestamp\",fn:function({ item }){return [_c('time',{attrs:{\"title\":item.timestamp,\"datetime\":item.timestamp}},[_vm._v(\" \"+_vm._s(item.timestamp)+\" \")])]}},{key:\"item.severity\",fn:function({ item }){return [_c('astro-badge',{attrs:{\"status\":_vm.getAstroStatus(item.severity),\"inline\":\"\"}},[_c('span',{class:_vm.getColorClass(item.severity)},[_vm._v(_vm._s(item.severity))])])]}}])})],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\nimport * as ActionCable from '@rails/actioncable'\n//ActionCable.logger.enabled = true\nActionCable.ConnectionMonitor.staleThreshold = 60\n\nexport default class Cable {\n constructor(url = '/openc3-api/cable') {\n this._cable = ActionCable.createConsumer(url)\n }\n disconnect() {\n this._cable.disconnect()\n }\n createSubscription(channel, scope, callbacks = {}, additionalOptions = {}) {\n return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(() => {\n return this._cable.subscriptions.create(\n {\n channel,\n scope,\n token: localStorage.openc3Token,\n ...additionalOptions,\n },\n callbacks\n )\n })\n }\n}\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogMessages.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LogMessages.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LogMessages.vue?vue&type=template&id=922d9ae0&\"\nimport script from \"./LogMessages.vue?vue&type=script&lang=js&\"\nexport * from \"./LogMessages.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('div',{staticClass:\"v-toolbar__content\"},[_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider'):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":option.command}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label},model:{value:(_vm.checked),callback:function ($$v) {_vm.checked=$$v},expression:\"checked\"}})],1):_vm._e(),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),_c('v-spacer'),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.title))]),_c('v-spacer')],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=11927f54&scoped=true&\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js&\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=11927f54&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11927f54\",\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-tabs v-model=\"curTab\" fixed-tabs>\n <v-tab v-for=\"(tab, index) in tabs\" :key=\"index\" :to=\"tab.url\">\n {{ tab.name }}\n </v-tab>\n </v-tabs>\n <router-view :refresh-interval=\"refreshInterval\" />\n <v-dialog v-model=\"optionsDialog\" max-width=\"300\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span>Options</span>\n <v-spacer />\n </v-system-bar>\n <div class=\"pa-3\">\n <v-text-field\n min=\"0\"\n max=\"10000\"\n step=\"100\"\n type=\"number\"\n label=\"Refresh Interval (ms)\"\n :value=\"refreshInterval\"\n @change=\"refreshInterval = $event\"\n />\n </div>\n </v-card>\n </v-dialog>\n </v-card>\n <div style=\"height: 20px\" />\n <log-messages />\n </div>\n</template>\n\n<script>\nimport LogMessages from '@openc3/tool-common/src/components/LogMessages'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nexport default {\n components: {\n LogMessages,\n TopBar,\n },\n data() {\n return {\n title: 'CmdTlmServer',\n curTab: null,\n tabs: [\n {\n name: 'Interfaces',\n url: '/interfaces',\n },\n {\n name: 'Targets',\n url: '/targets',\n },\n {\n name: 'Cmd Packets',\n url: '/cmd-packets',\n },\n {\n name: 'Tlm Packets',\n url: '/tlm-packets',\n },\n {\n name: 'Routers',\n url: '/routers',\n },\n {\n name: 'Status',\n url: '/status',\n },\n ],\n updater: null,\n refreshInterval: 1000,\n optionsDialog: false,\n menus: [\n {\n label: 'File',\n items: [\n {\n label: 'Options',\n command: () => {\n this.optionsDialog = true\n },\n },\n ],\n },\n ],\n }\n },\n}\n</script>\n\n<style scoped>\n.v-list :deep(.v-label) {\n margin-left: 5px;\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdTlmServer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdTlmServer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CmdTlmServer.vue?vue&type=template&id=5b580c08&scoped=true&\"\nimport script from \"./CmdTlmServer.vue?vue&type=script&lang=js&\"\nexport * from \"./CmdTlmServer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CmdTlmServer.vue?vue&type=style&index=0&id=5b580c08&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5b580c08\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-list[data-v-5b580c08] .v-label{margin-left:5px}.v-list-item__icon[data-v-5b580c08]{margin-right:15px!important}.v-list-item__title[data-v-5b580c08]{color:#fff}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-list[data-v-11927f54] .v-label{margin-left:5px}.v-list-item__icon[data-v-11927f54]{margin-right:15px!important}.v-list-item__title[data-v-11927f54]{color:#fff}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CmdTlmServer.vue?vue&type=style&index=0&id=5b580c08&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"e21160c8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=11927f54&prod&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3d68193a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["render","_vm","this","_c","_self","attrs","menus","title","model","value","curTab","callback","$$v","expression","_l","tabs","tab","index","key","url","_v","_s","name","refreshInterval","optionsDialog","staticClass","on","$event","staticStyle","staticRenderFns","search","headers","data","scopedSlots","_u","fn","item","timestamp","getAstroStatus","severity","class","getColorClass","ActionCable","Cable","_cable","disconnect","channel","scope","callbacks","additionalOptions","OpenC3Auth","updateToken","defaultMinValidity","then","subscriptions","create","token","localStorage","openc3Token","components","AstroBadge","props","history_count","type","default","text","width","cable","subscription","created","createSubscription","received","messages","message","destroyed","methods","formatDate","component","menu","i","_g","_b","formatDT","label","domProps","radioGroup","items","option","j","divider","disabled","command","radio","_e","checkbox","checked","icon","style","LogMessages","TopBar","updater","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","locals","exports","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_tool_cmdtlmserver"]=self["webpackChunk_openc3_tool_cmdtlmserver"]||[]).push([[776],{5776:function(n,e,l){"use strict";l.r(e),l.d(e,{default:function(){return A}});l(7950),l(4908);function t(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="e68d44bb65e1aac7f2cf4e925a4c99f7c08d1e82",l=new Function("return this")(),o="__coverage__",c={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1018}},4:{start:{line:1,column:320},end:{line:1,column:334}},5:{start:{line:1,column:678},end:{line:1,column:873}},6:{start:{line:1,column:795},end:{line:1,column:829}},7:{start:{line:1,column:920},end:{line:1,column:1008}},8:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:304},end:{line:1,column:305}},loc:{start:{line:1,column:319},end:{line:1,column:335}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:659},end:{line:1,column:660}},loc:{start:{line:1,column:677},end:{line:1,column:874}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:778},end:{line:1,column:779}},loc:{start:{line:1,column:794},end:{line:1,column:830}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:901},end:{line:1,column:902}},loc:{start:{line:1,column:919},end:{line:1,column:1009}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"e68d44bb65e1aac7f2cf4e925a4c99f7c08d1e82"},i=l[o]||(l[o]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return t=function(){return s},s}t(),t().s[0]++;var o=function(){t().f[0]++;var n=(t().s[1]++,this),e=(t().s[2]++,n._self._c);return t().s[3]++,e("v-card",[e("v-card-title",[n._v(" "+n._s(n.data.length)+" Routers "),e("v-spacer"),e("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){t().f[1]++,t().s[4]++,n.search=e},expression:"search"}})],1),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"custom-sort":n.sortTable,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"routers-table"},scopedSlots:n._u([{key:"item.connect",fn:function(l){var o=l.item;return t().f[2]++,t().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return t().f[3]++,t().s[6]++,n.connectDisconnect(o)}}},[n._v(" "+n._s(o.connect)+" ")])]}},{key:"item.connected",fn:function(l){var o=l.item;return t().f[4]++,t().s[7]++,[e("span",{class:o.connectedClass},[n._v(" "+n._s(o.connected)+" ")])]}}])})],1)},c=(t().s[8]++,[]),i=l(4282),s=(l(1245),l(3430),l(9229));function a(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="cb4550223fcba428bbfc1d20f8658d81f23026ab",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-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:";AA+DA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RoutersTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"cb4550223fcba428bbfc1d20f8658d81f23026ab"},c=l[t]||(l[t]={});c[n]&&c[n].hash===e||(c[n]=o);var i=c[n];return a=function(){return i},i}a();var u={mixins:[s.Z],props:{tabId:Number,curTab:Number},data:function(){return a().f[0]++,a().s[0]++,{search:"",data:[],buttonsDisabled:!1,headers:[{text:"Name",value:"name"},{text:"Connect / Disconnect",value:"connect",sortable:!1,filterable:!1},{text:"Connected",value:"connected"},{text:"Clients",value:"clients"},{text:"Tx Q Size",value:"tx_q_size"},{text:"Rx Q Size",value:"rx_q_size"},{text:"Tx Bytes",value:"tx_bytes"},{text:"Rx Bytes",value:"rx_bytes"},{text:"Cmd Pkts",value:"cmd_pkts"},{text:"Tlm Pkts",value:"tlm_pkts"}]}},methods:{sortTable:function(n,e,l){return a().f[1]++,a().s[1]++,n.sort((function(n,t){a().f[2]++,a().s[2]++;for(var o=(a().s[3]++,0);o<e.length;o++){var c=(a().s[4]++,e[o]),i=(a().s[5]++,l[o]);if(a().s[6]++,"connected"===c){if(a().b[0][0]++,a().s[7]++,n[c]===t[c]){a().b[1][0]++,a().s[8]++;continue}return a().b[1][1]++,a().s[9]++,i?(a().b[2][1]++,a().s[13]++,"CONNECTED"===n[c]?(a().b[4][0]++,a().s[14]++,1):(a().b[4][1]++,a().s[15]++,-1)):(a().b[2][0]++,a().s[10]++,"CONNECTED"===n[c]?(a().b[3][0]++,a().s[11]++,-1):(a().b[3][1]++,a().s[12]++,1))}if(a().b[0][1]++,a().s[16]++,"name"===c){if(a().b[5][0]++,a().s[17]++,n[c]===t[c]){a().b[6][0]++,a().s[18]++;continue}return a().b[6][1]++,a().s[19]++,i?(a().b[7][1]++,a().s[21]++,t[c].localeCompare(n[c])):(a().b[7][0]++,a().s[20]++,n[c].localeCompare(t[c]))}if(a().b[5][1]++,a().s[22]++,n[c]!==t[c])return a().b[8][1]++,a().s[24]++,i?(a().b[9][1]++,a().s[26]++,t[c]-n[c]):(a().b[9][0]++,a().s[25]++,n[c]-t[c]);a().b[8][0]++,a().s[23]++}})),a().s[27]++,n},connectDisconnect:function(n){a().f[3]++,a().s[28]++,this.buttonsDisabled=!0,a().s[29]++,"DISCONNECTED"===n.connected?(a().b[10][0]++,a().s[30]++,this.api.connect_router(n.name)):(a().b[10][1]++,a().s[31]++,this.api.disconnect_router(n.name))},update:function(){var n=this;if(a().f[4]++,a().s[32]++,this.tabId!=this.curTab)return a().b[11][0]++,void a().s[33]++;a().b[11][1]++,a().s[34]++,this.api.get_all_router_info().then((function(e){a().f[5]++,a().s[35]++,n.data=[],a().s[36]++;var l,t=(0,i.Z)(e);try{for(t.s();!(l=t.n()).done;){var o=l.value,c=(a().s[37]++,null),s=(a().s[38]++,null);a().s[39]++,"DISCONNECTED"==o[1]?(a().b[12][0]++,a().s[40]++,c="Connect",a().s[41]++,s="openc3-white"):(a().b[12][1]++,a().s[42]++,"CONNECTED"==o[1]?(a().b[13][0]++,a().s[43]++,c="Disconnect",a().s[44]++,s="openc3-green"):(a().b[13][1]++,a().s[45]++,c="Cancel",a().s[46]++,s="openc3-red")),a().s[47]++,n.data.push({name:o[0],connect:c,connectedClass:s,connected:o[1],clients:o[2],tx_q_size:o[3],rx_q_size:o[4],tx_bytes:o[5],rx_bytes:o[6],cmd_pkts:o[7],tlm_pkts:o[8]})}}catch(u){t.e(u)}finally{t.f()}a().s[48]++,n.buttonsDisabled=!1}))}}},r=u,m=l(3483),d=(0,m.Z)(r,o,c,!1,null,null,null),A=d.exports},2101:function(n){n.exports=Object.is||function(n,e){return n===e?0!==n||1/n===1/e:n!=n&&e!=e}},4908:function(n,e,l){"use strict";var t=l(266),o=l(4954),c=l(1176),i=l(8885),s=l(2101),a=l(3326),u=l(5300),r=l(8115);o("search",(function(n,e,l){return[function(e){var l=i(this),o=void 0==e?void 0:u(e,n);return o?t(o,e,l):new RegExp(e)[n](a(l))},function(n){var t=c(this),o=a(n),i=l(e,t,o);if(i.done)return i.value;var u=t.lastIndex;s(u,0)||(t.lastIndex=0);var m=r(t,o);return s(t.lastIndex,u)||(t.lastIndex=u),null===m?-1:m.index}]}))},9229:function(n,e,l){"use strict";var t=l(575);function o(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="8ca17c03f396bd33b473a0b159dc210a869d62ab",l=new Function("return this")(),t="__coverage__",c={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:29,column:4},end:{line:32,column:5}},1:{start:{line:35,column:4},end:{line:35,column:30}},2:{start:{line:38,column:4},end:{line:38,column:24}},3:{start:{line:41,column:4},end:{line:44,column:5}},4:{start:{line:42,column:6},end:{line:42,column:33}},5:{start:{line:43,column:6},end:{line:43,column:25}},6:{start:{line:49,column:6},end:{line:49,column:26}},7:{start:{line:54,column:6},end:{line:57,column:7}},8:{start:{line:55,column:8},end:{line:55,column:35}},9:{start:{line:56,column:8},end:{line:56,column:27}},10:{start:{line:58,column:6},end:{line:60,column:30}},11:{start:{line:59,column:8},end:{line:59,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:28,column:2},end:{line:28,column:3}},loc:{start:{line:28,column:9},end:{line:33,column:3}},line:28},1:{name:"(anonymous_1)",decl:{start:{line:34,column:2},end:{line:34,column:3}},loc:{start:{line:34,column:12},end:{line:36,column:3}},line:34},2:{name:"(anonymous_2)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:18},end:{line:45,column:3}},line:40},4:{name:"(anonymous_4)",decl:{start:{line:48,column:21},end:{line:48,column:22}},loc:{start:{line:48,column:47},end:{line:50,column:5}},line:48},5:{name:"(anonymous_5)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:20},end:{line:61,column:5}},line:53},6:{name:"(anonymous_6)",decl:{start:{line:58,column:33},end:{line:58,column:34}},loc:{start:{line:58,column:39},end:{line:60,column:7}},line:58}},branchMap:{0:{loc:{start:{line:41,column:4},end:{line:44,column:5}},type:"if",locations:[{start:{line:41,column:4},end:{line:44,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},1:{loc:{start:{line:54,column:6},end:{line:57,column:7}},type:"if",locations:[{start:{line:54,column:6},end:{line:57,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:54}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8ca17c03f396bd33b473a0b159dc210a869d62ab"},i=l[t]||(l[t]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return o=function(){return s},s}o(),e["Z"]={props:{refreshInterval:{default:1e3}},data:function(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created:function(){o().f[1]++,o().s[1]++,this.api=new t.k},mounted:function(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy:function(){o().f[3]++,o().s[3]++,null!=this.updater?(o().b[0][0]++,o().s[4]++,clearInterval(this.updater),o().s[5]++,this.updater=null):o().b[0][1]++},watch:{refreshInterval:function(n,e){o().f[4]++,o().s[6]++,this.changeUpdater()}},methods:{changeUpdater:function(){var n=this;o().f[5]++,o().s[7]++,null!=this.updater?(o().b[1][0]++,o().s[8]++,clearInterval(this.updater),o().s[9]++,this.updater=null):o().b[1][1]++,o().s[10]++,this.updater=setInterval((function(){o().f[6]++,o().s[11]++,n.update()}),this.refreshInterval)}}}},4282:function(n,e,l){"use strict";l.d(e,{Z:function(){return o}});l(4115),l(634),l(8188),l(796),l(8673),l(6886),l(1372);var t=l(7756);function o(n,e){var l="undefined"!==typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!l){if(Array.isArray(n)||(l=(0,t.Z)(n))||e&&n&&"number"===typeof n.length){l&&(n=l);var o=0,c=function(){};return{s:c,n:function(){return o>=n.length?{done:!0}:{done:!1,value:n[o++]}},e:function(n){throw n},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,a=!1;return{s:function(){l=l.call(n)},n:function(){var n=l.next();return s=n.done,n},e:function(n){a=!0,i=n},f:function(){try{s||null==l["return"]||l["return"]()}finally{if(a)throw i}}}}}}]);
2
+ //# sourceMappingURL=776.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/776.js","mappings":"k+DAAA,IAAIA,EAAS,WAAiB,WAAC,IAAIC,GAAG,WAACC,MAAKC,GAAE,WAACF,EAAIG,MAAMD,IAAG,OAA9B,WAAqCA,EAAG,SAAS,CAACA,EAAG,eAAe,CAACF,EAAII,GAAG,IAAIJ,EAAIK,GAAGL,EAAIM,KAAKC,QAAQ,aAAaL,EAAG,YAAYA,EAAG,eAAe,CAACM,MAAM,CAAC,cAAc,cAAc,MAAQ,SAAS,cAAc,GAAG,eAAe,IAAIC,MAAM,CAACC,MAAOV,EAAIW,OAAQC,SAAS,SAAUC,GAAK,sBAACb,EAAIW,OAAOE,CAAI,EAACC,WAAW,aAAa,GAAGZ,EAAG,eAAe,CAACM,MAAM,CAAC,QAAUR,EAAIe,QAAQ,MAAQf,EAAIM,KAAK,OAASN,EAAIW,OAAO,cAAcX,EAAIgB,UAAU,iBAAiB,GAAG,eAAe,CAAEC,oBAAqB,CAAC,GAAI,IAAK,IAAK,mBAAmB,GAAG,aAAa,GAAG,YAAY,iBAAiBC,YAAYlB,EAAImB,GAAG,CAAC,CAACC,IAAI,eAAeC,GAAG,YAAkB,IAAPC,EAAO,EAAPA,KAAQ,OAAD,sBAAQ,CAACpB,EAAG,QAAQ,CAACM,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,SAAWR,EAAIuB,iBAAiBC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAD,sBAAQzB,EAAI0B,kBAAkBJ,EAAM,IAAG,CAACtB,EAAII,GAAG,IAAIJ,EAAIK,GAAGiB,EAAKK,SAAS,OAAQ,GAAE,CAACP,IAAI,iBAAiBC,GAAG,YAAkB,IAAPC,EAAO,EAAPA,KAAQ,OAAD,sBAAQ,CAACpB,EAAG,OAAO,CAAC0B,MAAMN,EAAKO,gBAAgB,CAAC7B,EAAII,GAAG,IAAIJ,EAAIK,GAAGiB,EAAKQ,WAAW,OAAQ,QAAO,EACv/B,EACGC,GAAe,WAAG,I,+ibC+DtB,OACAC,OAAAA,CAAAA,EAAAA,GACAC,MAAAA,CACAC,MAAAA,OACAC,OAAAA,QAEA7B,KANA,WAOA,OADA,sBACA,CACAK,OAAAA,GACAL,KAAAA,GACAiB,iBAAAA,EACAR,QAAAA,CACA,CAAAqB,KAAAA,OAAA1B,MAAAA,QACA,CACA0B,KAAAA,uBACA1B,MAAAA,UACA2B,UAAAA,EACAC,YAAAA,GAEA,CAAAF,KAAAA,YAAA1B,MAAAA,aACA,CAAA0B,KAAAA,UAAA1B,MAAAA,WACA,CAAA0B,KAAAA,YAAA1B,MAAAA,aACA,CAAA0B,KAAAA,YAAA1B,MAAAA,aACA,CAAA0B,KAAAA,WAAA1B,MAAAA,YACA,CAAA0B,KAAAA,WAAA1B,MAAAA,YACA,CAAA0B,KAAAA,WAAA1B,MAAAA,YACA,CAAA0B,KAAAA,WAAA1B,MAAAA,aAGA,EACA6B,QAAAA,CAEAvB,UAFA,SAEAwB,EAAAC,EAAAC,GAiDA,OAjDA,sBACAF,EAAAA,MAAAA,SAAAA,EAAAA,GAAA,sBACA,yCACA,wBACA,oBAEA,GAJA,WAIA,iBAEA,GAFA,yBAEA,sCACA,QACA,CACA,OAHA,cAFA,WAKA,GAMA,0BACA,8CACA,IACA,2BACA,KAVA,0BACA,+CACA,IACA,0BACA,GASA,0CAEA,GAFA,0BAEA,uCACA,QACA,CACA,OAHA,cAFA,YAKA,GAGA,0BACA,2BAJA,0BAEA,yBAIA,CAEA,GAFA,0BAEA,YAGA,OAHA,cAFA,YAKA,GAGA,0BACA,YAJA,0BAEA,WALA,yBAUA,CACA,IAhDA,YAiDA,CACA,EACAd,kBArDA,SAqDAJ,GAAA,uBACA,wBADA,YAEA,yDACA,kCACA,2BACA,mCAEA,EACAqB,OA7DA,WA6DA,WACA,GADA,uBACA,8EADA,YAEA,wEACA,UADA,gBAAI,EAAJ,UAEAC,GAFA,IAEA,0CACA,qBACA,qBAFA,YAGA,iDACAjB,EAAAA,UADA,YAEAE,EAAAA,iBACA,yEACAF,EAAAA,aADA,YAEAE,EAAAA,iBACA,2BACAF,EAAAA,SADA,YAEAE,EAAAA,eAXA,YAaA,aACAgB,KAAAA,EAAAA,GACAlB,QAAAA,EACAE,eAAAA,EACAC,UAAAA,EAAAA,GACAgB,QAAAA,EAAAA,GACAC,UAAAA,EAAAA,GACAC,UAAAA,EAAAA,GACAC,SAAAA,EAAAA,GACAC,SAAAA,EAAAA,GACAC,SAAAA,EAAAA,GACAC,SAAAA,EAAAA,IAEA,CA5BA,2CA6BA,oBACA,GACA,IC7LqR,I,UCOjRC,GAAY,OACd,EACAtD,EACAgC,GACA,EACA,KACA,KACA,MAIF,EAAesB,EAAiB,O,mBCfhCC,EAAOC,QAAUC,OAAOC,IAAM,SAAYC,EAAGC,GAE3C,OAAOD,IAAMC,EAAU,IAAND,GAAW,EAAIA,IAAM,EAAIC,EAAID,GAAKA,GAAKC,GAAKA,CAC/D,C,oCCLA,IAAIC,EAAO,EAAQ,KACfC,EAAgC,EAAQ,MACxCC,EAAW,EAAQ,MACnBC,EAAyB,EAAQ,MACjCC,EAAY,EAAQ,MACpBC,EAAW,EAAQ,MACnBC,EAAY,EAAQ,MACpBC,EAAa,EAAQ,MAGzBN,EAA8B,UAAU,SAAUO,EAAQC,EAAcC,GACtE,MAAO,CAGL,SAAgBC,GACd,IAAIC,EAAIT,EAAuB9D,MAC3BwE,OAAqBC,GAAVH,OAAsBG,EAAYR,EAAUK,EAAQH,GACnE,OAAOK,EAAWb,EAAKa,EAAUF,EAAQC,GAAK,IAAIG,OAAOJ,GAAQH,GAAQH,EAASO,GACpF,EAGA,SAAUI,GACR,IAAIC,EAAKf,EAAS7D,MACd6E,EAAIb,EAASW,GACbG,EAAMT,EAAgBD,EAAcQ,EAAIC,GAE5C,GAAIC,EAAIC,KAAM,OAAOD,EAAIrE,MAEzB,IAAIuE,EAAoBJ,EAAGK,UACtBlB,EAAUiB,EAAmB,KAAIJ,EAAGK,UAAY,GACrD,IAAIC,EAAShB,EAAWU,EAAIC,GAE5B,OADKd,EAAUa,EAAGK,UAAWD,KAAoBJ,EAAGK,UAAYD,GAC9C,OAAXE,GAAmB,EAAIA,EAAO1C,KACvC,EAEJ,G,irFCfA,QACER,MAAO,CACLmD,gBAAiB,CACfC,QAAS,MAGb/E,KANa,WAOX,OADK,sBACE,CACLgF,QAAS,KACTC,IAAK,KAER,EACDC,QAZa,WAYH,sBACRvF,KAAKsF,IAAM,IAAIE,EAAAA,CAChB,EACDC,QAfa,WAeH,sBACRzF,KAAK0F,eACN,EACDC,cAlBa,WAkBG,sBACM,MAAhB3F,KAAKqF,SAAiB,yBACxBO,cAAc5F,KAAKqF,SADK,WAExBrF,KAAKqF,QAAU,MAFjB,aAID,EACDQ,MAAO,CAELV,gBAAiB,SAAUW,EAAQC,GAAQ,sBACzC/F,KAAK0F,eACN,GAEHpD,QAAS,CACPoD,cADO,WACS,iCACM,MAAhB1F,KAAKqF,SAAiB,yBACxBO,cAAc5F,KAAKqF,SADK,WAExBrF,KAAKqF,QAAU,MAFjB,cADc,YAKdrF,KAAKqF,QAAUW,aAAY,WAAM,uBAC/B,EAAKtD,QACN,GAAE1C,KAAKmF,gBACT,G,wIC3DU,SAASc,EAA2BC,EAAGC,GACpD,IAAIC,EAAuB,qBAAXC,QAA0BH,EAAEG,OAAOC,WAAaJ,EAAE,cAElE,IAAKE,EAAI,CACP,GAAIG,MAAMC,QAAQN,KAAOE,GAAKK,EAAAA,EAAAA,GAA2BP,KAAOC,GAAkBD,GAAyB,kBAAbA,EAAE5F,OAAqB,CAC/G8F,IAAIF,EAAIE,GACZ,IAAIM,EAAI,EAEJC,EAAI,WAAe,EAEvB,MAAO,CACLC,EAAGD,EACHE,EAAG,WACD,OAAIH,GAAKR,EAAE5F,OAAe,CACxByE,MAAM,GAED,CACLA,MAAM,EACNtE,MAAOyF,EAAEQ,KAEZ,EACDI,EAAG,SAAWC,GACZ,MAAMA,CACP,EACDC,EAAGL,EAEN,CAED,MAAM,IAAIM,UAAU,wIACrB,CAED,IAEIC,EAFAC,GAAmB,EACnBC,GAAS,EAEb,MAAO,CACLR,EAAG,WACDR,EAAKA,EAAGzC,KAAKuC,EACd,EACDW,EAAG,WACD,IAAIQ,EAAOjB,EAAGkB,OAEd,OADAH,EAAmBE,EAAKtC,KACjBsC,CACR,EACDP,EAAG,SAAWS,GACZH,GAAS,EACTF,EAAMK,CACP,EACDP,EAAG,WACD,IACOG,GAAoC,MAAhBf,EAAG,WAAmBA,EAAG,WAGnD,CAJD,QAGE,GAAIgB,EAAQ,MAAMF,CACnB,CACF,EAEJ,C","sources":["webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?a653","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?a9bb","webpack://@openc3/tool-cmdtlmserver/../../node_modules/core-js/internals/same-value.js","webpack://@openc3/tool-cmdtlmserver/../../node_modules/core-js/modules/es.string.search.js","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Routers \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"custom-sort\":_vm.sortTable,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"routers-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":_vm.buttonsDisabled},on:{\"click\":function($event){return _vm.connectDisconnect(item)}}},[_vm._v(\" \"+_vm._s(item.connect)+\" \")])]}},{key:\"item.connected\",fn:function({ item }){return [_c('span',{class:item.connectedClass},[_vm._v(\" \"+_vm._s(item.connected)+\" \")])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/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/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=1b755185&\"\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","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es-x/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport { 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","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["render","_vm","this","_c","_self","_v","_s","data","length","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","props","tabId","curTab","text","sortable","filterable","methods","items","index","isDesc","update","info","name","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","component","module","exports","Object","is","x","y","call","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","toString","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","undefined","RegExp","string","rx","S","res","done","previousLastIndex","lastIndex","result","refreshInterval","default","updater","api","created","OpenC3Api","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","setInterval","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","e","_e","f","TypeError","err","normalCompletion","didErr","step","next","_e2"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_tool_cmdtlmserver"]=self["webpackChunk_openc3_tool_cmdtlmserver"]||[]).push([[856],{1856:function(n,e,t){"use strict";t.r(e),t.d(e,{default:function(){return f}});t(7950),t(4908);function l(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",e="3a3b2d2ad80c32d2a5928942587ba6e3db26304a",t=new Function("return this")(),a="__coverage__",o={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.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:593}},4:{start:{line:1,column:320},end:{line:1,column:334}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:304},end:{line:1,column:305}},loc:{start:{line:1,column:319},end:{line:1,column:335}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3a3b2d2ad80c32d2a5928942587ba6e3db26304a"},r=t[a]||(t[a]={});r[n]&&r[n].hash===e||(r[n]=o);var i=r[n];return l=function(){return i},i}l(),l().s[0]++;var a=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("v-card",[e("v-card-title",[n._v(" "+n._s(n.data.length)+" Targets "),e("v-spacer"),e("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){l().f[1]++,l().s[4]++,n.search=e},expression:"search"}})],1),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"targets-table"}})],1)},o=(l().s[5]++,[]),r=t(4282),i=(t(1245),t(9229));function c(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",e="126a3f3240ef4d7de0259149b28a50d3da015394",t=new Function("return this")(),l="__coverage__",a={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",statementMap:{0:{start:{line:11,column:4},end:{line:20,column:5}},1:{start:{line:24,column:6},end:{line:24,column:43}},2:{start:{line:24,column:37},end:{line:24,column:43}},3:{start:{line:25,column:6},end:{line:35,column:8}},4:{start:{line:26,column:8},end:{line:26,column:22}},5:{start:{line:27,column:8},end:{line:34,column:9}},6:{start:{line:28,column:10},end:{line:33,column:12}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:21,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:23,column:4},end:{line:23,column:5}},loc:{start:{line:23,column:13},end:{line:36,column:5}},line:23},2:{name:"(anonymous_2)",decl:{start:{line:25,column:42},end:{line:25,column:43}},loc:{start:{line:25,column:52},end:{line:35,column:7}},line:25}},branchMap:{0:{loc:{start:{line:24,column:6},end:{line:24,column:43}},type:"if",locations:[{start:{line:24,column:6},end:{line:24,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:24}},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:["TargetsTab.vue"],names:[],mappings:";AA8CA;;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",file:"TargetsTab.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--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Targets\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"targets-table\"\n />\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 headers: [\n { text: 'Target Name', value: 'name' },\n { text: 'Interface', value: 'interface' },\n { text: 'Command Count', value: 'cmd_count' },\n { text: 'Telemetry Count', value: 'tlm_count' },\n ],\n }\n },\n methods: {\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_target_info().then((info) => {\n this.data = []\n for (let x of info) {\n this.data.push({\n name: x[0],\n interface: x[1],\n cmd_count: x[2],\n tlm_count: x[3],\n })\n }\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"126a3f3240ef4d7de0259149b28a50d3da015394"},o=t[l]||(t[l]={});o[n]&&o[n].hash===e||(o[n]=a);var r=o[n];return c=function(){return r},r}c();var s={mixins:[i.Z],props:{tabId:Number,curTab:Number},data:function(){return c().f[0]++,c().s[0]++,{search:"",data:[],headers:[{text:"Target Name",value:"name"},{text:"Interface",value:"interface"},{text:"Command Count",value:"cmd_count"},{text:"Telemetry Count",value:"tlm_count"}]}},methods:{update:function(){var n=this;if(c().f[1]++,c().s[1]++,this.tabId!=this.curTab)return c().b[0][0]++,void c().s[2]++;c().b[0][1]++,c().s[3]++,this.api.get_all_target_info().then((function(e){c().f[2]++,c().s[4]++,n.data=[],c().s[5]++;var t,l=(0,r.Z)(e);try{for(l.s();!(t=l.n()).done;){var a=t.value;c().s[6]++,n.data.push({name:a[0],interface:a[1],cmd_count:a[2],tlm_count:a[3]})}}catch(o){l.e(o)}finally{l.f()}}))}}},u=s,d=t(3483),m=(0,d.Z)(u,a,o,!1,null,null,null),f=m.exports},2101:function(n){n.exports=Object.is||function(n,e){return n===e?0!==n||1/n===1/e:n!=n&&e!=e}},4908:function(n,e,t){"use strict";var l=t(266),a=t(4954),o=t(1176),r=t(8885),i=t(2101),c=t(3326),s=t(5300),u=t(8115);a("search",(function(n,e,t){return[function(e){var t=r(this),a=void 0==e?void 0:s(e,n);return a?l(a,e,t):new RegExp(e)[n](c(t))},function(n){var l=o(this),a=c(n),r=t(e,l,a);if(r.done)return r.value;var s=l.lastIndex;i(s,0)||(l.lastIndex=0);var d=u(l,a);return i(l.lastIndex,s)||(l.lastIndex=s),null===d?-1:d.index}]}))},9229:function(n,e,t){"use strict";var l=t(575);function a(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="8ca17c03f396bd33b473a0b159dc210a869d62ab",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:29,column:4},end:{line:32,column:5}},1:{start:{line:35,column:4},end:{line:35,column:30}},2:{start:{line:38,column:4},end:{line:38,column:24}},3:{start:{line:41,column:4},end:{line:44,column:5}},4:{start:{line:42,column:6},end:{line:42,column:33}},5:{start:{line:43,column:6},end:{line:43,column:25}},6:{start:{line:49,column:6},end:{line:49,column:26}},7:{start:{line:54,column:6},end:{line:57,column:7}},8:{start:{line:55,column:8},end:{line:55,column:35}},9:{start:{line:56,column:8},end:{line:56,column:27}},10:{start:{line:58,column:6},end:{line:60,column:30}},11:{start:{line:59,column:8},end:{line:59,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:28,column:2},end:{line:28,column:3}},loc:{start:{line:28,column:9},end:{line:33,column:3}},line:28},1:{name:"(anonymous_1)",decl:{start:{line:34,column:2},end:{line:34,column:3}},loc:{start:{line:34,column:12},end:{line:36,column:3}},line:34},2:{name:"(anonymous_2)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:18},end:{line:45,column:3}},line:40},4:{name:"(anonymous_4)",decl:{start:{line:48,column:21},end:{line:48,column:22}},loc:{start:{line:48,column:47},end:{line:50,column:5}},line:48},5:{name:"(anonymous_5)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:20},end:{line:61,column:5}},line:53},6:{name:"(anonymous_6)",decl:{start:{line:58,column:33},end:{line:58,column:34}},loc:{start:{line:58,column:39},end:{line:60,column:7}},line:58}},branchMap:{0:{loc:{start:{line:41,column:4},end:{line:44,column:5}},type:"if",locations:[{start:{line:41,column:4},end:{line:44,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},1:{loc:{start:{line:54,column:6},end:{line:57,column:7}},type:"if",locations:[{start:{line:54,column:6},end:{line:57,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:54}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8ca17c03f396bd33b473a0b159dc210a869d62ab"},r=t[l]||(t[l]={});r[n]&&r[n].hash===e||(r[n]=o);var i=r[n];return a=function(){return i},i}a(),e["Z"]={props:{refreshInterval:{default:1e3}},data:function(){return a().f[0]++,a().s[0]++,{updater:null,api:null}},created:function(){a().f[1]++,a().s[1]++,this.api=new l.k},mounted:function(){a().f[2]++,a().s[2]++,this.changeUpdater()},beforeDestroy:function(){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(n,e){a().f[4]++,a().s[6]++,this.changeUpdater()}},methods:{changeUpdater:function(){var n=this;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((function(){a().f[6]++,a().s[11]++,n.update()}),this.refreshInterval)}}}},4282:function(n,e,t){"use strict";t.d(e,{Z:function(){return a}});t(4115),t(634),t(8188),t(796),t(8673),t(6886),t(1372);var l=t(7756);function a(n,e){var t="undefined"!==typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!t){if(Array.isArray(n)||(t=(0,l.Z)(n))||e&&n&&"number"===typeof n.length){t&&(n=t);var a=0,o=function(){};return{s:o,n:function(){return a>=n.length?{done:!0}:{done:!1,value:n[a++]}},e:function(n){throw n},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i=!0,c=!1;return{s:function(){t=t.call(n)},n:function(){var n=t.next();return i=n.done,n},e:function(n){c=!0,r=n},f:function(){try{i||null==t["return"]||t["return"]()}finally{if(c)throw r}}}}}}]);
2
+ //# sourceMappingURL=856.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/856.js","mappings":"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","sources":["webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/TargetsTab.vue","webpack://@openc3/tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/TargetsTab.vue?ed66","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/TargetsTab.vue?3388","webpack://@openc3/tool-cmdtlmserver/../../node_modules/core-js/internals/same-value.js","webpack://@openc3/tool-cmdtlmserver/../../node_modules/core-js/modules/es.string.search.js","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Targets \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"targets-table\"}})],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\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Targets\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"targets-table\"\n />\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 headers: [\n { text: 'Target Name', value: 'name' },\n { text: 'Interface', value: 'interface' },\n { text: 'Command Count', value: 'cmd_count' },\n { text: 'Telemetry Count', value: 'tlm_count' },\n ],\n }\n },\n methods: {\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_target_info().then((info) => {\n this.data = []\n for (let x of info) {\n this.data.push({\n name: x[0],\n interface: x[1],\n cmd_count: x[2],\n tlm_count: x[3],\n })\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetsTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TargetsTab.vue?vue&type=template&id=3045d39a&\"\nimport script from \"./TargetsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./TargetsTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/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","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es-x/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport { 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","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["render","_vm","this","_c","_self","_v","_s","data","length","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","staticRenderFns","mixins","props","tabId","curTab","text","methods","update","info","name","interface","cmd_count","tlm_count","component","module","exports","Object","is","x","y","call","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","toString","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","undefined","RegExp","string","rx","S","res","done","previousLastIndex","lastIndex","result","index","refreshInterval","default","updater","api","created","OpenC3Api","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","setInterval","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","e","_e","f","TypeError","err","normalCompletion","didErr","step","next","_e2"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_openc3_tool_cmdtlmserver"]=self["webpackChunk_openc3_tool_cmdtlmserver"]||[]).push([[91],{1091:function(n,e,t){t.r(e),t.d(e,{default:function(){return d}});t(7950),t(4908);function l(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",e="38c0b37e9677f6c88ae5dcc4b915aa3218e8ee51",t=new Function("return this")(),a="__coverage__",i={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.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:1525}},4:{start:{line:1,column:330},end:{line:1,column:344}},5:{start:{line:1,column:732},end:{line:1,column:930}},6:{start:{line:1,column:844},end:{line:1,column:902}},7:{start:{line:1,column:986},end:{line:1,column:1349}},8:{start:{line:1,column:1173},end:{line:1,column:1233}},9:{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:314},end:{line:1,column:315}},loc:{start:{line:1,column:329},end:{line:1,column:345}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:713},end:{line:1,column:714}},loc:{start:{line:1,column:731},end:{line:1,column:931}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:827},end:{line:1,column:828}},loc:{start:{line:1,column:843},end:{line:1,column:903}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:967},end:{line:1,column:968}},loc:{start:{line:1,column:985},end:{line:1,column:1350}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1156},end:{line:1,column:1157}},loc:{start:{line:1,column:1172},end:{line:1,column:1234}},line:1}},branchMap:{0:{loc:{start:{line:1,column:994},end:{line:1,column:1062}},type:"cond-expr",locations:[{start:{line:1,column:1027},end:{line:1,column:1053}},{start:{line:1,column:1054},end:{line:1,column:1062}}],line:1},1:{loc:{start:{line:1,column:1063},end:{line:1,column:1348}},type:"cond-expr",locations:[{start:{line:1,column:1095},end:{line:1,column:1339}},{start:{line:1,column:1340},end:{line:1,column:1348}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"38c0b37e9677f6c88ae5dcc4b915aa3218e8ee51"},o=t[a]||(t[a]={});o[n]&&o[n].hash===e||(o[n]=i);var c=o[n];return l=function(){return c},c}l(),l().s[0]++;var a=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("v-card",[e("v-card-title",[n._v(" "+n._s(n.data.length)+" Telemetry Packets "),e("v-spacer"),e("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){l().f[1]++,l().s[4]++,n.search=e},expression:"search"}})],1),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100]},"sort-by":"target_name","calculate-widths":"","multi-sort":"","data-test":"tlm-packets-table"},on:{"current-items":n.currentItems},scopedSlots:n._u([{key:"item.view_raw",fn:function(t){var a=t.item;return l().f[2]++,l().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:a.count<1},on:{click:function(e){return l().f[3]++,l().s[6]++,n.openViewRaw(a.target_name,a.packet_name)}}},[n._v(" View Raw ")])]}},{key:"item.view_in_pkt_viewer",fn:function(t){var a=t.item;return l().f[4]++,l().s[7]++,["UNKNOWN"===a.target_name?(l().b[0][0]++,e("span",[n._v("N/A")])):(l().b[0][1]++,n._e()),"UNKNOWN"!=a.target_name?(l().b[1][0]++,e("v-btn",{attrs:{block:"",color:"primary"},on:{click:function(e){return l().f[5]++,l().s[8]++,n.openPktViewer(a.target_name,a.packet_name)}}},[n._v(" View In Packet Viewer "),e("v-icon",{attrs:{right:""}},[n._v(" mdi-open-in-new ")])],1)):(l().b[1][1]++,n._e())]}}])}),e("raw-dialog",{attrs:{type:"Telemetry","target-name":n.target_name,"packet-name":n.packet_name,visible:n.viewRaw},on:{display:n.rawDisplayCallback}})],1)},i=(l().s[9]++,[]),o=(t(1245),t(3450),t(8178),t(9949),t(9229)),c=t(4699);function m(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",e="0b3b90e6cf3abcbb5819949b47724fb04586c8f1",t=new Function("return this")(),l="__coverage__",a={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",statementMap:{0:{start:{line:15,column:4},end:{line:29,column:5}},1:{start:{line:32,column:4},end:{line:42,column:6}},2:{start:{line:33,column:6},end:{line:41,column:8}},3:{start:{line:34,column:8},end:{line:40,column:10}},4:{start:{line:35,column:10},end:{line:39,column:11}},5:{start:{line:37,column:14},end:{line:37,column:75}},6:{start:{line:48,column:6},end:{line:48,column:25}},7:{start:{line:51,column:6},end:{line:51,column:36}},8:{start:{line:52,column:6},end:{line:52,column:36}},9:{start:{line:53,column:6},end:{line:53,column:25}},10:{start:{line:56,column:6},end:{line:56,column:80}},11:{start:{line:59,column:6},end:{line:61,column:8}},12:{start:{line:60,column:8},end:{line:60,column:45}},13:{start:{line:64,column:6},end:{line:64,column:43}},14:{start:{line:64,column:37},end:{line:64,column:43}},15:{start:{line:65,column:6},end:{line:65,column:44}},16:{start:{line:65,column:38},end:{line:65,column:44}},17:{start:{line:66,column:6},end:{line:75,column:8}},18:{start:{line:67,column:8},end:{line:74,column:9}},19:{start:{line:67,column:21},end:{line:67,column:22}},20:{start:{line:68,column:22},end:{line:72,column:11}},21:{start:{line:70,column:14},end:{line:71,column:53}},22:{start:{line:73,column:10},end:{line:73,column:44}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:9},end:{line:30,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:12},end:{line:43,column:3}},line:31},2:{name:"(anonymous_2)",decl:{start:{line:32,column:36},end:{line:32,column:37}},loc:{start:{line:32,column:49},end:{line:42,column:5}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:33,column:18},end:{line:33,column:19}},loc:{start:{line:33,column:30},end:{line:41,column:7}},line:33},4:{name:"(anonymous_4)",decl:{start:{line:34,column:54},end:{line:34,column:55}},loc:{start:{line:34,column:65},end:{line:40,column:9}},line:34},5:{name:"(anonymous_5)",decl:{start:{line:36,column:22},end:{line:36,column:23}},loc:{start:{line:36,column:34},end:{line:38,column:13}},line:36},6:{name:"(anonymous_6)",decl:{start:{line:47,column:4},end:{line:47,column:5}},loc:{start:{line:47,column:29},end:{line:49,column:5}},line:47},7:{name:"(anonymous_7)",decl:{start:{line:50,column:4},end:{line:50,column:5}},loc:{start:{line:50,column:42},end:{line:54,column:5}},line:50},8:{name:"(anonymous_8)",decl:{start:{line:55,column:4},end:{line:55,column:5}},loc:{start:{line:55,column:44},end:{line:57,column:5}},line:55},9:{name:"(anonymous_9)",decl:{start:{line:58,column:4},end:{line:58,column:5}},loc:{start:{line:58,column:24},end:{line:62,column:5}},line:58},10:{name:"(anonymous_10)",decl:{start:{line:59,column:31},end:{line:59,column:32}},loc:{start:{line:59,column:38},end:{line:61,column:7}},line:59},11:{name:"(anonymous_11)",decl:{start:{line:63,column:4},end:{line:63,column:5}},loc:{start:{line:63,column:13},end:{line:76,column:5}},line:63},12:{name:"(anonymous_12)",decl:{start:{line:66,column:47},end:{line:66,column:48}},loc:{start:{line:66,column:59},end:{line:75,column:7}},line:66},13:{name:"(anonymous_13)",decl:{start:{line:69,column:12},end:{line:69,column:13}},loc:{start:{line:70,column:14},end:{line:71,column:53}},line:70}},branchMap:{0:{loc:{start:{line:64,column:6},end:{line:64,column:43}},type:"if",locations:[{start:{line:64,column:6},end:{line:64,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},1:{loc:{start:{line:65,column:6},end:{line:65,column:44}},type:"if",locations:[{start:{line:65,column:6},end:{line:65,column:44}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:65},2:{loc:{start:{line:70,column:14},end:{line:71,column:53}},type:"binary-expr",locations:[{start:{line:70,column:14},end:{line:70,column:53}},{start:{line:71,column:14},end:{line:71,column:53}}],line:70}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["TlmPacketsTab.vue"],names:[],mappings:";AA8EA;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",file:"TlmPacketsTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Telemetry Packets\n <v-spacer />\n <v-text-field\n v-model="search"\n append-icon="mdi-magnify"\n label="Search"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers="headers"\n :items="data"\n :search="search"\n :items-per-page="10"\n :footer-props="{ itemsPerPageOptions: [10, 20, 50, 100] }"\n sort-by="target_name"\n @current-items="currentItems"\n calculate-widths\n multi-sort\n data-test="tlm-packets-table"\n >\n <template v-slot:item.view_raw="{ item }">\n <v-btn\n block\n color="primary"\n :disabled="item.count < 1"\n @click="openViewRaw(item.target_name, item.packet_name)"\n >\n View Raw\n </v-btn>\n </template>\n <template v-slot:item.view_in_pkt_viewer="{ item }">\n <span v-if="item.target_name === \'UNKNOWN\'">N/A</span>\n <v-btn\n v-if="item.target_name != \'UNKNOWN\'"\n block\n color="primary"\n @click="openPktViewer(item.target_name, item.packet_name)"\n >\n View In Packet Viewer\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <raw-dialog\n type="Telemetry"\n :target-name="target_name"\n :packet-name="packet_name"\n :visible="viewRaw"\n @display="rawDisplayCallback"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from \'./Updater\'\nimport RawDialog from \'./RawDialog\'\n\nexport default {\n components: {\n RawDialog,\n },\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: \'\',\n data: [],\n headers: [\n { text: \'Target Name\', value: \'target_name\' },\n { text: \'Packet Name\', value: \'packet_name\' },\n { text: \'Packet Count\', value: \'count\' },\n { text: \'View Raw\', value: \'view_raw\' },\n { text: \'View In Packet Viewer\', value: \'view_in_pkt_viewer\' },\n ],\n viewRaw: false,\n target_name: null,\n packet_name: null,\n visible: null,\n }\n },\n created() {\n this.api.get_target_list().then((targets) => {\n targets.map((target) => {\n this.api.get_all_telemetry_names(target).then((names) => {\n this.data = this.data.concat(\n names.map((packet) => {\n return { target_name: target, packet_name: packet, count: 0 }\n })\n )\n })\n })\n })\n },\n methods: {\n // This method is hooked to the RawDialog as a callback to\n // keep track of whether the dialog is displayed\n rawDisplayCallback(bool) {\n this.viewRaw = bool\n },\n openViewRaw(target_name, packet_name) {\n this.target_name = target_name\n this.packet_name = packet_name\n this.viewRaw = true\n },\n openPktViewer(target_name, packet_name) {\n window.open(`/tools/packetviewer/${target_name}/${packet_name}`, \'_blank\')\n },\n currentItems(event) {\n this.visible = event.map((i) => {\n return [i.target_name, i.packet_name]\n })\n },\n update() {\n if (this.tabId != this.curTab) return\n if (this.currentItems === null) return\n this.api.get_tlm_cnts(this.visible).then((counts) => {\n for (let i = 0; i < counts.length; i++) {\n let index = this.data.findIndex(\n (item) =>\n item.target_name === this.visible[i][0] &&\n item.packet_name === this.visible[i][1]\n )\n this.data[index].count = counts[i]\n }\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"0b3b90e6cf3abcbb5819949b47724fb04586c8f1"},i=t[l]||(t[l]={});i[n]&&i[n].hash===e||(i[n]=a);var o=i[n];return m=function(){return o},o}m();var r={components:{RawDialog:c.Z},mixins:[o.Z],props:{tabId:Number,curTab:Number},data:function(){return m().f[0]++,m().s[0]++,{search:"",data:[],headers:[{text:"Target Name",value:"target_name"},{text:"Packet Name",value:"packet_name"},{text:"Packet Count",value:"count"},{text:"View Raw",value:"view_raw"},{text:"View In Packet Viewer",value:"view_in_pkt_viewer"}],viewRaw:!1,target_name:null,packet_name:null,visible:null}},created:function(){var n=this;m().f[1]++,m().s[1]++,this.api.get_target_list().then((function(e){m().f[2]++,m().s[2]++,e.map((function(e){m().f[3]++,m().s[3]++,n.api.get_all_telemetry_names(e).then((function(t){m().f[4]++,m().s[4]++,n.data=n.data.concat(t.map((function(n){return m().f[5]++,m().s[5]++,{target_name:e,packet_name:n,count:0}})))}))}))}))},methods:{rawDisplayCallback:function(n){m().f[6]++,m().s[6]++,this.viewRaw=n},openViewRaw:function(n,e){m().f[7]++,m().s[7]++,this.target_name=n,m().s[8]++,this.packet_name=e,m().s[9]++,this.viewRaw=!0},openPktViewer:function(n,e){m().f[8]++,m().s[10]++,window.open("/tools/packetviewer/".concat(n,"/").concat(e),"_blank")},currentItems:function(n){m().f[9]++,m().s[11]++,this.visible=n.map((function(n){return m().f[10]++,m().s[12]++,[n.target_name,n.packet_name]}))},update:function(){var n=this;return m().f[11]++,m().s[13]++,this.tabId!=this.curTab?(m().b[0][0]++,void m().s[14]++):(m().b[0][1]++,m().s[15]++,null===this.currentItems?(m().b[1][0]++,void m().s[16]++):(m().b[1][1]++,m().s[17]++,void this.api.get_tlm_cnts(this.visible).then((function(e){m().f[12]++,m().s[18]++;for(var t=function(t){var l=(m().s[20]++,n.data.findIndex((function(e){return m().f[13]++,m().s[21]++,m().b[2][0]++,e.target_name===n.visible[t][0]&&(m().b[2][1]++,e.packet_name===n.visible[t][1])})));m().s[22]++,n.data[l].count=e[t]},l=(m().s[19]++,0);l<e.length;l++)t(l)}))))}}},s=r,u=t(3483),A=(0,u.Z)(s,a,i,!1,null,null,null),d=A.exports}}]);
2
+ //# sourceMappingURL=91.js.map