openc3-cosmos-tool-cmdtlmserver 5.15.1 → 5.15.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8884a69344e969543c296a1ee2b390a75381f27a47d4a427166131b62c7f9b6
4
- data.tar.gz: de9a55d58e724cb1a711ef38cc138eccd9df3c3f616838d1f4f780f2b2f3500e
3
+ metadata.gz: d649b3d2516b25435dbaf6662c6a31940cbd9499b4102caa705f86b0713a7c8b
4
+ data.tar.gz: e03e507aef156499746d4974ff4128ddc0d3e92d8b870815895200ca7de1c1df
5
5
  SHA512:
6
- metadata.gz: 05d9a2ea3acb35797e2bbcd68c03ba7f7dcf4b99fa4d4a5382ca77e0c25e7b4490263bd87795b9b2ba6943468ffd2810d5809cc43f4875cf418c87b5a7752d08
7
- data.tar.gz: 8495564875418e7263b27dbbb8924ad9dfd69d0194bee6d8998532843cfc8622346f466731bc0f3d398f08acc35ac29f0aaf57c63c746b36ec7a0a99f5835807
6
+ metadata.gz: 7fa63c4f29785af0cdcf073c4258446af1f66adc087085a3f46070d6778e6120552e0984a4052731d407a5f12a57add5468593d8f4ab85345f56c1d6ce46b766
7
+ data.tar.gz: 63839235d72d8a3634ac81775d7275c8d8e064a5a4b8258ff3bb675946f767e95719f4941909a9fe05fb1197f7fbadd690781ee647c3e09b094ca9cb1b89bcbd
@@ -1,2 +1,2 @@
1
- (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[328],{8474:(n,e,t)=>{"use strict";t.d(e,{A:()=>i});var l=t(2904);function o(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="4a33e65af05f7d08e216a604150e8920749ac334",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"4a33e65af05f7d08e216a604150e8920749ac334"},a=t[l]||(t[l]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return o=function(){return c},c}o();const i={props:{refreshInterval:{default:1e3}},data(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created(){o().f[1]++,o().s[1]++,this.api=new l.x},mounted(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy(){o().f[3]++,o().s[3]++,null!=this.updater?(o().b[0][0]++,o().s[4]++,clearInterval(this.updater),o().s[5]++,this.updater=null):o().b[0][1]++},watch:{refreshInterval:function(n,e){o().f[4]++,o().s[6]++,this.changeUpdater()}},methods:{changeUpdater(){o().f[5]++,o().s[7]++,null!=this.updater?(o().b[1][0]++,o().s[8]++,clearInterval(this.updater),o().s[9]++,this.updater=null):o().b[1][1]++,o().s[10]++,this.updater=setInterval((()=>{o().f[6]++,o().s[11]++,this.update()}),this.refreshInterval)}}}},6328:(n,e,t)=>{"use strict";function l(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="dffd1a3ca1f548124d2749702b3c2b3c9ff6fc62",t=new Function("return this")(),o="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:2660}},4:{start:{line:1,column:386},end:{line:1,column:587}},5:{start:{line:1,column:747},end:{line:1,column:947}},6:{start:{line:1,column:1223},end:{line:1,column:1445}},7:{start:{line:1,column:1351},end:{line:1,column:1376}},8:{start:{line:1,column:1720},end:{line:1,column:1915}},9:{start:{line:1,column:2608},end:{line:1,column:2623}},10:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:362},end:{line:1,column:363}},loc:{start:{line:1,column:385},end:{line:1,column:588}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:723},end:{line:1,column:724}},loc:{start:{line:1,column:746},end:{line:1,column:948}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:1199},end:{line:1,column:1200}},loc:{start:{line:1,column:1222},end:{line:1,column:1446}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1334},end:{line:1,column:1335}},loc:{start:{line:1,column:1350},end:{line:1,column:1377}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1696},end:{line:1,column:1697}},loc:{start:{line:1,column:1719},end:{line:1,column:1916}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2592},end:{line:1,column:2593}},loc:{start:{line:1,column:2607},end:{line:1,column:2624}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"dffd1a3ca1f548124d2749702b3c2b3c9ff6fc62"},a=t[o]||(t[o]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return l=function(){return c},c}t.d(e,{A:()=>A}),l(),l().s[0]++;var o=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("div",{directives:[{name:"show",rawName:"v-show",value:n.isVisible,expression:"isVisible"}],ref:"rawDialog",staticClass:"raw-dialog",style:n.computedStyle},[e("v-card",[e("div",{ref:"bar"},[e("v-system-bar",[e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[1]++,l().s[4]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"copy-icon"},on:{click:n.copyRawData}},[n._v("\n mdi-content-copy\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Copy ")])]),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[2]++,l().s[5]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"download"},on:{click:n.downloadRawData}},[n._v("\n mdi-download\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Download ")])]),n._v(" "),e("v-spacer"),n._v(" "),e("span",[n._v(" "+n._s(n.type)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[3]++,l().s[6]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"close"},on:{click:function(e){return l().f[4]++,l().s[7]++,n.$emit("close")}}},[n._v("\n mdi-close-box\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Close ")])])],1)],1),n._v(" "),e("v-card-title",[e("span",[n._v(" "+n._s(n.header)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[5]++,l().s[8]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:n.pause}},[e("v-icon",[n._v(" "+n._s(n.buttonIcon)+" ")])],1)],1)]}}])},[n._v(" "),e("span",[n._v(" "+n._s(n.buttonLabel)+" ")])])],1),n._v(" "),e("v-card-text",[e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Received Time: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedTime)+" ")])])],1),n._v(" "),e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Count: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedCount)+" ")])])],1),n._v(" "),e("v-textarea",{staticClass:"pa-0 ma-0",attrs:{"auto-grow":"",readonly:""},model:{value:n.rawData,callback:function(e){l().f[6]++,l().s[9]++,n.rawData=e},expression:"rawData"}})],1)],1)],1)},i=(l().s[10]++,[]),a=(t(7010),t(3165),t(4397),t(1412),t(1883),t(7905),t(6252)),c=t(8474);function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="811cc6f0babc0625dc58b135d4008b399cb8b706",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:19,column:4},end:{line:29,column:5}},1:{start:{line:33,column:6},end:{line:37,column:7}},2:{start:{line:34,column:8},end:{line:34,column:23}},3:{start:{line:36,column:8},end:{line:36,column:22}},4:{start:{line:40,column:6},end:{line:44,column:7}},5:{start:{line:41,column:8},end:{line:41,column:25}},6:{start:{line:43,column:8},end:{line:43,column:26}},7:{start:{line:48,column:8},end:{line:48,column:27}},8:{start:{line:52,column:8},end:{line:52,column:24}},9:{start:{line:53,column:8},end:{line:53,column:30}},10:{start:{line:54,column:8},end:{line:54,column:25}},11:{start:{line:55,column:8},end:{line:55,column:31}},12:{start:{line:56,column:8},end:{line:56,column:27}},13:{start:{line:57,column:8},end:{line:57,column:34}},14:{start:{line:58,column:8},end:{line:58,column:35}},15:{start:{line:62,column:18},end:{line:62,column:20}},16:{start:{line:63,column:6},end:{line:63,column:36}},17:{start:{line:64,column:6},end:{line:64,column:38}},18:{start:{line:65,column:6},end:{line:65,column:36}},19:{start:{line:66,column:6},end:{line:66,column:18}},20:{start:{line:70,column:4},end:{line:70,column:51}},21:{start:{line:71,column:4},end:{line:71,column:52}},22:{start:{line:75,column:6},end:{line:75,column:25}},23:{start:{line:78,column:6},end:{line:78,column:27}},24:{start:{line:79,column:6},end:{line:79,column:24}},25:{start:{line:81,column:6},end:{line:81,column:28}},26:{start:{line:82,column:6},end:{line:82,column:28}},27:{start:{line:83,column:6},end:{line:83,column:48}},28:{start:{line:85,column:6},end:{line:85,column:45}},29:{start:{line:88,column:6},end:{line:88,column:27}},30:{start:{line:89,column:6},end:{line:89,column:24}},31:{start:{line:91,column:20},end:{line:91,column:42}},32:{start:{line:92,column:20},end:{line:92,column:42}},33:{start:{line:93,column:6},end:{line:93,column:28}},34:{start:{line:94,column:6},end:{line:94,column:28}},35:{start:{line:96,column:6},end:{line:96,column:79}},36:{start:{line:97,column:6},end:{line:98,column:71}},37:{start:{line:102,column:6},end:{line:102,column:31}},38:{start:{line:103,column:6},end:{line:103,column:33}},39:{start:{line:106,column:6},end:{line:106,column:113}},40:{start:{line:109,column:6},end:{line:109,column:56}},41:{start:{line:112,column:19},end:{line:114,column:8}},42:{start:{line:116,column:19},end:{line:116,column:46}},43:{start:{line:117,column:6},end:{line:117,column:43}},44:{start:{line:118,column:17},end:{line:118,column:58}},45:{start:{line:119,column:6},end:{line:122,column:7}},46:{start:{line:123,column:6},end:{line:123,column:18}},47:{start:{line:126,column:6},end:{line:126,column:32}},48:{start:{line:129,column:6},end:{line:129,column:48}},49:{start:{line:129,column:42},end:{line:129,column:48}},50:{start:{line:130,column:6},end:{line:130,column:84}},51:{start:{line:132,column:6},end:{line:136,column:7}},52:{start:{line:133,column:8},end:{line:133,column:30}},53:{start:{line:135,column:8},end:{line:135,column:28}},54:{start:{line:139,column:6},end:{line:155,column:10}},55:{start:{line:142,column:28},end:{line:142,column:41}},56:{start:{line:143,column:10},end:{line:148,column:11}},57:{start:{line:144,column:12},end:{line:144,column:41}},58:{start:{line:146,column:29},end:{line:146,column:46}},59:{start:{line:147,column:12},end:{line:147,column:56}},60:{start:{line:149,column:10},end:{line:149,column:61}},61:{start:{line:150,column:10},end:{line:150,column:52}},62:{start:{line:151,column:10},end:{line:154,column:42}},63:{start:{line:158,column:6},end:{line:174,column:10}},64:{start:{line:161,column:28},end:{line:161,column:41}},65:{start:{line:162,column:10},end:{line:167,column:11}},66:{start:{line:163,column:12},end:{line:163,column:41}},67:{start:{line:165,column:29},end:{line:165,column:46}},68:{start:{line:166,column:12},end:{line:166,column:56}},69:{start:{line:168,column:10},end:{line:168,column:61}},70:{start:{line:169,column:10},end:{line:169,column:52}},71:{start:{line:170,column:10},end:{line:173,column:42}},72:{start:{line:178,column:19},end:{line:178,column:21}},73:{start:{line:179,column:18},end:{line:179,column:19}},74:{start:{line:180,column:18},end:{line:180,column:20}},75:{start:{line:181,column:6},end:{line:202,column:8}},76:{start:{line:182,column:8},end:{line:184,column:9}},77:{start:{line:183,column:10},end:{line:183,column:48}},78:{start:{line:185,column:8},end:{line:185,column:35}},79:{start:{line:188,column:8},end:{line:192,column:9}},80:{start:{line:189,column:10},end:{line:189,column:44}},81:{start:{line:191,column:10},end:{line:191,column:22}},82:{start:{line:194,column:8},end:{line:194,column:15}},83:{start:{line:196,column:8},end:{line:201,column:9}},84:{start:{line:197,column:10},end:{line:197,column:39}},85:{start:{line:198,column:10},end:{line:198,column:20}},86:{start:{line:200,column:10},end:{line:200,column:23}},87:{start:{line:207,column:6},end:{line:213,column:7}},88:{start:{line:208,column:30},end:{line:208,column:65}},89:{start:{line:210,column:21},end:{line:210,column:53}},90:{start:{line:211,column:27},end:{line:211,column:56}},91:{start:{line:212,column:8},end:{line:212,column:54}},92:{start:{line:214,column:6},end:{line:214,column:19}},93:{start:{line:217,column:16},end:{line:217,column:32}},94:{start:{line:218,column:6},end:{line:218,column:49}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:18,column:2},end:{line:18,column:3}},loc:{start:{line:18,column:9},end:{line:30,column:3}},line:18},1:{name:"(anonymous_1)",decl:{start:{line:32,column:17},end:{line:32,column:18}},loc:{start:{line:32,column:29},end:{line:38,column:5}},line:32},2:{name:"(anonymous_2)",decl:{start:{line:39,column:16},end:{line:39,column:17}},loc:{start:{line:39,column:28},end:{line:45,column:5}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:47,column:11},end:{line:47,column:12}},loc:{start:{line:47,column:23},end:{line:49,column:7}},line:47},4:{name:"(anonymous_4)",decl:{start:{line:51,column:11},end:{line:51,column:12}},loc:{start:{line:51,column:27},end:{line:59,column:7}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:61,column:4},end:{line:61,column:5}},loc:{start:{line:61,column:20},end:{line:67,column:5}},line:61},6:{name:"(anonymous_6)",decl:{start:{line:69,column:2},end:{line:69,column:3}},loc:{start:{line:69,column:12},end:{line:72,column:3}},line:69},7:{name:"(anonymous_7)",decl:{start:{line:74,column:16},end:{line:74,column:17}},loc:{start:{line:74,column:29},end:{line:76,column:5}},line:74},8:{name:"(anonymous_8)",decl:{start:{line:77,column:19},end:{line:77,column:20}},loc:{start:{line:77,column:32},end:{line:86,column:5}},line:77},9:{name:"(anonymous_9)",decl:{start:{line:87,column:17},end:{line:87,column:18}},loc:{start:{line:87,column:30},end:{line:99,column:5}},line:87},10:{name:"(anonymous_10)",decl:{start:{line:100,column:22},end:{line:100,column:23}},loc:{start:{line:100,column:34},end:{line:104,column:5}},line:100},11:{name:"(anonymous_11)",decl:{start:{line:105,column:18},end:{line:105,column:19}},loc:{start:{line:105,column:30},end:{line:107,column:5}},line:105},12:{name:"(anonymous_12)",decl:{start:{line:108,column:17},end:{line:108,column:18}},loc:{start:{line:108,column:29},end:{line:110,column:5}},line:108},13:{name:"(anonymous_13)",decl:{start:{line:111,column:21},end:{line:111,column:22}},loc:{start:{line:111,column:33},end:{line:124,column:5}},line:111},14:{name:"(anonymous_14)",decl:{start:{line:125,column:11},end:{line:125,column:12}},loc:{start:{line:125,column:23},end:{line:127,column:5}},line:125},15:{name:"(anonymous_15)",decl:{start:{line:128,column:12},end:{line:128,column:13}},loc:{start:{line:128,column:24},end:{line:137,column:5}},line:128},16:{name:"(anonymous_16)",decl:{start:{line:138,column:21},end:{line:138,column:22}},loc:{start:{line:138,column:33},end:{line:156,column:5}},line:138},17:{name:"(anonymous_17)",decl:{start:{line:141,column:14},end:{line:141,column:15}},loc:{start:{line:141,column:26},end:{line:155,column:9}},line:141},18:{name:"(anonymous_18)",decl:{start:{line:157,column:19},end:{line:157,column:20}},loc:{start:{line:157,column:31},end:{line:175,column:5}},line:157},19:{name:"(anonymous_19)",decl:{start:{line:160,column:14},end:{line:160,column:15}},loc:{start:{line:160,column:26},end:{line:174,column:9}},line:160},20:{name:"(anonymous_20)",decl:{start:{line:177,column:18},end:{line:177,column:19}},loc:{start:{line:177,column:36},end:{line:215,column:5}},line:177},21:{name:"(anonymous_21)",decl:{start:{line:181,column:21},end:{line:181,column:22}},loc:{start:{line:181,column:31},end:{line:202,column:7}},line:181},22:{name:"(anonymous_22)",decl:{start:{line:216,column:4},end:{line:216,column:5}},loc:{start:{line:216,column:27},end:{line:219,column:5}},line:216}},branchMap:{0:{loc:{start:{line:33,column:6},end:{line:37,column:7}},type:"if",locations:[{start:{line:33,column:6},end:{line:37,column:7}},{start:{line:35,column:13},end:{line:37,column:7}}],line:33},1:{loc:{start:{line:40,column:6},end:{line:44,column:7}},type:"if",locations:[{start:{line:40,column:6},end:{line:44,column:7}},{start:{line:42,column:13},end:{line:44,column:7}}],line:40},2:{loc:{start:{line:78,column:10},end:{line:78,column:27}},type:"binary-expr",locations:[{start:{line:78,column:10},end:{line:78,column:11}},{start:{line:78,column:15},end:{line:78,column:27}}],line:78},3:{loc:{start:{line:88,column:10},end:{line:88,column:27}},type:"binary-expr",locations:[{start:{line:88,column:10},end:{line:88,column:11}},{start:{line:88,column:15},end:{line:88,column:27}}],line:88},4:{loc:{start:{line:129,column:6},end:{line:129,column:48}},type:"if",locations:[{start:{line:129,column:6},end:{line:129,column:48}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:129},5:{loc:{start:{line:129,column:10},end:{line:129,column:40}},type:"binary-expr",locations:[{start:{line:129,column:10},end:{line:129,column:25}},{start:{line:129,column:29},end:{line:129,column:40}}],line:129},6:{loc:{start:{line:132,column:6},end:{line:136,column:7}},type:"if",locations:[{start:{line:132,column:6},end:{line:136,column:7}},{start:{line:134,column:13},end:{line:136,column:7}}],line:132},7:{loc:{start:{line:143,column:10},end:{line:148,column:11}},type:"if",locations:[{start:{line:143,column:10},end:{line:148,column:11}},{start:{line:145,column:17},end:{line:148,column:11}}],line:143},8:{loc:{start:{line:162,column:10},end:{line:167,column:11}},type:"if",locations:[{start:{line:162,column:10},end:{line:167,column:11}},{start:{line:164,column:17},end:{line:167,column:11}}],line:162},9:{loc:{start:{line:182,column:8},end:{line:184,column:9}},type:"if",locations:[{start:{line:182,column:8},end:{line:184,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:182},10:{loc:{start:{line:188,column:8},end:{line:192,column:9}},type:"if",locations:[{start:{line:188,column:8},end:{line:192,column:9}},{start:{line:190,column:15},end:{line:192,column:9}}],line:188},11:{loc:{start:{line:188,column:12},end:{line:188,column:37}},type:"binary-expr",locations:[{start:{line:188,column:12},end:{line:188,column:22}},{start:{line:188,column:26},end:{line:188,column:37}}],line:188},12:{loc:{start:{line:196,column:8},end:{line:201,column:9}},type:"if",locations:[{start:{line:196,column:8},end:{line:201,column:9}},{start:{line:199,column:15},end:{line:201,column:9}}],line:196},13:{loc:{start:{line:207,column:6},end:{line:213,column:7}},type:"if",locations:[{start:{line:207,column:6},end:{line:213,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},14:{loc:{start:{line:216,column:16},end:{line:216,column:25}},type:"default-arg",locations:[{start:{line:216,column:24},end:{line:216,column:25}}],line:216}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0]},inputSourceMap:{version:3,sources:["RawDialog.vue"],names:[],mappings:";AAyGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RawDialog.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div\n v-show=\"isVisible\"\n :style=\"computedStyle\"\n class=\"raw-dialog\"\n ref=\"rawDialog\"\n >\n <v-card>\n <div ref=\"bar\">\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"close\" @click=\"$emit('close')\">\n mdi-close-box\n </v-icon>\n </div>\n </template>\n <span> Close </span>\n </v-tooltip>\n </v-system-bar>\n </div>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n zIndex: {\n type: Number,\n default: 1,\n },\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n dragX: 0,\n dragY: 0,\n top: 0,\n left: 0,\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n computedStyle() {\n let style = {}\n style['top'] = this.top + 'px'\n style['left'] = this.left + 'px'\n style['z-index'] = this.zIndex\n return style\n },\n },\n mounted() {\n this.$refs.bar.onmousedown = this.dragMouseDown\n this.$refs.rawDialog.onmouseup = this.focusEvent\n },\n methods: {\n focusEvent: function (e) {\n this.$emit('focus')\n },\n dragMouseDown: function (e) {\n e = e || window.event\n e.preventDefault()\n // get the mouse cursor position at startup:\n this.dragX = e.clientX\n this.dragY = e.clientY\n document.onmouseup = this.closeDragElement\n // call a function whenever the cursor moves:\n document.onmousemove = this.elementDrag\n },\n elementDrag: function (e) {\n e = e || window.event\n e.preventDefault()\n // calculate the new cursor position:\n let xOffset = this.dragX - e.clientX\n let yOffset = this.dragY - e.clientY\n this.dragX = e.clientX\n this.dragY = e.clientY\n // set the element's new position:\n this.top = this.$refs.bar.parentElement.parentElement.offsetTop - yOffset\n this.left =\n this.$refs.bar.parentElement.parentElement.offsetLeft - xOffset\n },\n closeDragElement: function () {\n // stop moving when mouse button is released\n document.onmouseup = null\n document.onmousemove = null\n },\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`,\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n<\/script>\n<style scoped>\n.raw-dialog {\n position: absolute;\n top: 0px;\n left: 5px;\n z-index: 1;\n border: solid;\n border-width: 1px;\n border-color: white;\n resize: both;\n overflow: auto;\n max-height: 85vh;\n background-color: var(--color-background-base-selected);\n}\n.raw-dialog :deep(.v-card) {\n height: 100%;\n min-width: 800px;\n}\n.raw-dialog :deep(.v-card__text) {\n height: 100%;\n background-color: var(--color-background-base-selected);\n}\n.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n overflow-y: scroll;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"811cc6f0babc0625dc58b135d4008b399cb8b706"},i=t[l]||(t[l]={});i[n]&&i[n].hash===e||(i[n]=o);var a=i[n];return s=function(){return a},a}s();const u={mixins:[c.A],props:{type:String,visible:Boolean,targetName:String,packetName:String,zIndex:{type:Number,default:1}},data(){return s().f[0]++,s().s[0]++,{header:"",receivedTime:"",rawData:"",paused:!1,receivedCount:"",dragX:0,dragY:0,top:0,left:0}},computed:{buttonLabel:function(){return s().f[1]++,s().s[1]++,this.paused?(s().b[0][0]++,s().s[2]++,"Resume"):(s().b[0][1]++,s().s[3]++,"Pause")},buttonIcon:function(){return s().f[2]++,s().s[4]++,this.paused?(s().b[1][0]++,s().s[5]++,"mdi-play"):(s().b[1][1]++,s().s[6]++,"mdi-pause")},isVisible:{get:function(){return s().f[3]++,s().s[7]++,this.visible},set:function(n){s().f[4]++,s().s[8]++,this.header="",s().s[9]++,this.receivedTime="",s().s[10]++,this.rawData="",s().s[11]++,this.receivedCount="",s().s[12]++,this.paused=!1,s().s[13]++,this.buttonLabel="Pause",s().s[14]++,this.$emit("display",n)}},computedStyle(){s().f[5]++;let n=(s().s[15]++,{});return s().s[16]++,n["top"]=this.top+"px",s().s[17]++,n["left"]=this.left+"px",s().s[18]++,n["z-index"]=this.zIndex,s().s[19]++,n}},mounted(){s().f[6]++,s().s[20]++,this.$refs.bar.onmousedown=this.dragMouseDown,s().s[21]++,this.$refs.rawDialog.onmouseup=this.focusEvent},methods:{focusEvent:function(n){s().f[7]++,s().s[22]++,this.$emit("focus")},dragMouseDown:function(n){s().f[8]++,s().s[23]++,s().b[2][0]++,n=n||(s().b[2][1]++,window.event),s().s[24]++,n.preventDefault(),s().s[25]++,this.dragX=n.clientX,s().s[26]++,this.dragY=n.clientY,s().s[27]++,document.onmouseup=this.closeDragElement,s().s[28]++,document.onmousemove=this.elementDrag},elementDrag:function(n){s().f[9]++,s().s[29]++,s().b[3][0]++,n=n||(s().b[3][1]++,window.event),s().s[30]++,n.preventDefault();let e=(s().s[31]++,this.dragX-n.clientX),t=(s().s[32]++,this.dragY-n.clientY);s().s[33]++,this.dragX=n.clientX,s().s[34]++,this.dragY=n.clientY,s().s[35]++,this.top=this.$refs.bar.parentElement.parentElement.offsetTop-t,s().s[36]++,this.left=this.$refs.bar.parentElement.parentElement.offsetLeft-e},closeDragElement:function(){s().f[10]++,s().s[37]++,document.onmouseup=null,s().s[38]++,document.onmousemove=null},buildRawData:function(){return s().f[11]++,s().s[39]++,`${this.header}\nReceived Time: ${this.receivedTime}\nCount: ${this.receivedCount}\n${this.rawData}`},copyRawData:function(){s().f[12]++,s().s[40]++,navigator.clipboard.writeText(this.buildRawData())},downloadRawData:function(){s().f[13]++;const n=(s().s[41]++,new Blob([this.buildRawData()],{type:"plain/text"})),e=(s().s[42]++,document.createElement("a"));s().s[43]++,e.href=URL.createObjectURL(n);const t=(s().s[44]++,(0,a.A)(Date.now(),"yyyy_MM_dd_HH_mm_ss"));s().s[45]++,e.setAttribute("download",`${t}_${this.targetName}_${this.packetName}.txt`),s().s[46]++,e.click()},pause:function(){s().f[14]++,s().s[47]++,this.paused=!this.paused},update:function(){if(s().f[15]++,s().s[48]++,s().b[5][0]++,!this.isVisible||(s().b[5][1]++,this.paused))return s().b[4][0]++,void s().s[49]++;s().b[4][1]++,s().s[50]++,this.header=`Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`,s().s[51]++,"Telemetry"===this.type?(s().b[6][0]++,s().s[52]++,this.updateTelemetry()):(s().b[6][1]++,s().s[53]++,this.updateCommand())},updateTelemetry:function(){s().f[16]++,s().s[54]++,this.api.get_tlm_buffer(this.targetName,this.packetName).then((n=>{s().f[17]++;let e=(s().s[55]++,n.buffer);if(s().s[56]++,void 0!==e.raw)s().b[7][0]++,s().s[57]++,e=e.raw;else{s().b[7][1]++;let n=(s().s[58]++,new TextEncoder);s().s[59]++,e=n.encode(e)}s().s[60]++,this.receivedTime=new Date(n.time/1e6),s().s[61]++,this.receivedCount=n.received_count,s().s[62]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},updateCommand:function(){s().f[18]++,s().s[63]++,this.api.get_cmd_buffer(this.targetName,this.packetName).then((n=>{s().f[19]++;let e=(s().s[64]++,n.buffer);if(s().s[65]++,void 0!==e.raw)s().b[8][0]++,s().s[66]++,e=e.raw;else{s().b[8][1]++;let n=(s().s[67]++,new TextEncoder);s().s[68]++,e=n.encode(e)}s().s[69]++,this.receivedTime=new Date(n.time/1e6),s().s[70]++,this.receivedCount=n.received_count,s().s[71]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},formatBuffer:function(n){s().f[20]++;var e=(s().s[72]++,""),t=(s().s[73]++,0),l=(s().s[74]++,"");if(s().s[75]++,n.forEach((n=>{s().f[21]++,s().s[76]++,t%16===0?(s().b[9][0]++,s().s[77]++,e+=this.numHex(t,8)+": "):s().b[9][1]++,s().s[78]++,e+=this.numHex(n),s().s[79]++,s().b[11][0]++,n>=32&&(s().b[11][1]++,n<=126)?(s().b[10][0]++,s().s[80]++,l+=String.fromCharCode(n)):(s().b[10][1]++,s().s[81]++,l+=" "),s().s[82]++,t++,s().s[83]++,t%16===0?(s().b[12][0]++,s().s[84]++,e+=" "+l+"\n",s().s[85]++,l=""):(s().b[12][1]++,s().s[86]++,e+=" ")})),s().s[87]++,t%16!=0){s().b[13][0]++;var o=(s().s[88]++,t%16-1+t%16*2),i=(s().s[89]++," ".repeat(47-o)),a=(s().s[90]++," ".repeat(16-l.length));s().s[91]++,e+=i+" "+l+a}else s().b[13][1]++;return s().s[92]++,e},numHex(n,e=(s().b[14][0]++,2)){s().f[22]++;var t=(s().s[93]++,n.toString(16));return s().s[94]++,"0".repeat(e-t.length)+t}}},r=u;t(2166);var m=t(2401),d=(0,m.A)(r,o,i,!1,null,"212f6e79",null);const A=d.exports},62:(n,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>s});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),c=a()(o());c.push([n.id,".raw-dialog[data-v-212f6e79]{position:absolute;top:0;left:5px;z-index:1;border:solid;border-width:1px;border-color:#fff;resize:both;overflow:auto;max-height:85vh;background-color:var(--color-background-base-selected)}.raw-dialog[data-v-212f6e79] .v-card{height:100%;min-width:800px}.raw-dialog[data-v-212f6e79] .v-card__text{height:100%;background-color:var(--color-background-base-selected)}.v-textarea[data-v-212f6e79] textarea{margin-top:10px;font-family:Courier New,Courier,monospace;overflow-y:scroll}",""]);const s=c},2166:(n,e,t)=>{var l=t(62);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[n.id,l,""]]),l.locals&&(n.exports=l.locals);var o=t(4825).A;o("82f5c260",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
1
+ (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[328],{8474:(n,e,t)=>{"use strict";t.d(e,{A:()=>i});var l=t(2904);function o(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="4a33e65af05f7d08e216a604150e8920749ac334",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"4a33e65af05f7d08e216a604150e8920749ac334"},a=t[l]||(t[l]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return o=function(){return c},c}o();const i={props:{refreshInterval:{default:1e3}},data(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created(){o().f[1]++,o().s[1]++,this.api=new l.x},mounted(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy(){o().f[3]++,o().s[3]++,null!=this.updater?(o().b[0][0]++,o().s[4]++,clearInterval(this.updater),o().s[5]++,this.updater=null):o().b[0][1]++},watch:{refreshInterval:function(n,e){o().f[4]++,o().s[6]++,this.changeUpdater()}},methods:{changeUpdater(){o().f[5]++,o().s[7]++,null!=this.updater?(o().b[1][0]++,o().s[8]++,clearInterval(this.updater),o().s[9]++,this.updater=null):o().b[1][1]++,o().s[10]++,this.updater=setInterval((()=>{o().f[6]++,o().s[11]++,this.update()}),this.refreshInterval)}}}},6328:(n,e,t)=>{"use strict";function l(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="dffd1a3ca1f548124d2749702b3c2b3c9ff6fc62",t=new Function("return this")(),o="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:2660}},4:{start:{line:1,column:386},end:{line:1,column:587}},5:{start:{line:1,column:747},end:{line:1,column:947}},6:{start:{line:1,column:1223},end:{line:1,column:1445}},7:{start:{line:1,column:1351},end:{line:1,column:1376}},8:{start:{line:1,column:1720},end:{line:1,column:1915}},9:{start:{line:1,column:2608},end:{line:1,column:2623}},10:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:362},end:{line:1,column:363}},loc:{start:{line:1,column:385},end:{line:1,column:588}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:723},end:{line:1,column:724}},loc:{start:{line:1,column:746},end:{line:1,column:948}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:1199},end:{line:1,column:1200}},loc:{start:{line:1,column:1222},end:{line:1,column:1446}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1334},end:{line:1,column:1335}},loc:{start:{line:1,column:1350},end:{line:1,column:1377}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1696},end:{line:1,column:1697}},loc:{start:{line:1,column:1719},end:{line:1,column:1916}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2592},end:{line:1,column:2593}},loc:{start:{line:1,column:2607},end:{line:1,column:2624}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"dffd1a3ca1f548124d2749702b3c2b3c9ff6fc62"},a=t[o]||(t[o]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return l=function(){return c},c}t.d(e,{A:()=>A}),l(),l().s[0]++;var o=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("div",{directives:[{name:"show",rawName:"v-show",value:n.isVisible,expression:"isVisible"}],ref:"rawDialog",staticClass:"raw-dialog",style:n.computedStyle},[e("v-card",[e("div",{ref:"bar"},[e("v-system-bar",[e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[1]++,l().s[4]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"copy-icon"},on:{click:n.copyRawData}},[n._v("\n mdi-content-copy\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Copy ")])]),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[2]++,l().s[5]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"download"},on:{click:n.downloadRawData}},[n._v("\n mdi-download\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Download ")])]),n._v(" "),e("v-spacer"),n._v(" "),e("span",[n._v(" "+n._s(n.type)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[3]++,l().s[6]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-icon",{attrs:{"data-test":"close"},on:{click:function(e){return l().f[4]++,l().s[7]++,n.$emit("close")}}},[n._v("\n mdi-close-box\n ")])],1)]}}])},[n._v(" "),e("span",[n._v(" Close ")])])],1)],1),n._v(" "),e("v-card-title",[e("span",[n._v(" "+n._s(n.header)+" ")]),n._v(" "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[5]++,l().s[8]++,[e("div",n._g(n._b({},"div",o,!1),t),[e("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:n.pause}},[e("v-icon",[n._v(" "+n._s(n.buttonIcon)+" ")])],1)],1)]}}])},[n._v(" "),e("span",[n._v(" "+n._s(n.buttonLabel)+" ")])])],1),n._v(" "),e("v-card-text",[e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Received Time: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedTime)+" ")])])],1),n._v(" "),e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Count: ")])]),n._v(" "),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedCount)+" ")])])],1),n._v(" "),e("v-textarea",{staticClass:"pa-0 ma-0",attrs:{"auto-grow":"",readonly:""},model:{value:n.rawData,callback:function(e){l().f[6]++,l().s[9]++,n.rawData=e},expression:"rawData"}})],1)],1)],1)},i=(l().s[10]++,[]),a=(t(7010),t(3165),t(4541),t(4397),t(1412),t(1883),t(7905),t(6252)),c=t(8474);function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="811cc6f0babc0625dc58b135d4008b399cb8b706",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:19,column:4},end:{line:29,column:5}},1:{start:{line:33,column:6},end:{line:37,column:7}},2:{start:{line:34,column:8},end:{line:34,column:23}},3:{start:{line:36,column:8},end:{line:36,column:22}},4:{start:{line:40,column:6},end:{line:44,column:7}},5:{start:{line:41,column:8},end:{line:41,column:25}},6:{start:{line:43,column:8},end:{line:43,column:26}},7:{start:{line:48,column:8},end:{line:48,column:27}},8:{start:{line:52,column:8},end:{line:52,column:24}},9:{start:{line:53,column:8},end:{line:53,column:30}},10:{start:{line:54,column:8},end:{line:54,column:25}},11:{start:{line:55,column:8},end:{line:55,column:31}},12:{start:{line:56,column:8},end:{line:56,column:27}},13:{start:{line:57,column:8},end:{line:57,column:34}},14:{start:{line:58,column:8},end:{line:58,column:35}},15:{start:{line:62,column:18},end:{line:62,column:20}},16:{start:{line:63,column:6},end:{line:63,column:36}},17:{start:{line:64,column:6},end:{line:64,column:38}},18:{start:{line:65,column:6},end:{line:65,column:36}},19:{start:{line:66,column:6},end:{line:66,column:18}},20:{start:{line:70,column:4},end:{line:70,column:51}},21:{start:{line:71,column:4},end:{line:71,column:52}},22:{start:{line:75,column:6},end:{line:75,column:25}},23:{start:{line:78,column:6},end:{line:78,column:27}},24:{start:{line:79,column:6},end:{line:79,column:24}},25:{start:{line:81,column:6},end:{line:81,column:28}},26:{start:{line:82,column:6},end:{line:82,column:28}},27:{start:{line:83,column:6},end:{line:83,column:48}},28:{start:{line:85,column:6},end:{line:85,column:45}},29:{start:{line:88,column:6},end:{line:88,column:27}},30:{start:{line:89,column:6},end:{line:89,column:24}},31:{start:{line:91,column:20},end:{line:91,column:42}},32:{start:{line:92,column:20},end:{line:92,column:42}},33:{start:{line:93,column:6},end:{line:93,column:28}},34:{start:{line:94,column:6},end:{line:94,column:28}},35:{start:{line:96,column:6},end:{line:96,column:79}},36:{start:{line:97,column:6},end:{line:98,column:71}},37:{start:{line:102,column:6},end:{line:102,column:31}},38:{start:{line:103,column:6},end:{line:103,column:33}},39:{start:{line:106,column:6},end:{line:106,column:113}},40:{start:{line:109,column:6},end:{line:109,column:56}},41:{start:{line:112,column:19},end:{line:114,column:8}},42:{start:{line:116,column:19},end:{line:116,column:46}},43:{start:{line:117,column:6},end:{line:117,column:43}},44:{start:{line:118,column:17},end:{line:118,column:58}},45:{start:{line:119,column:6},end:{line:122,column:7}},46:{start:{line:123,column:6},end:{line:123,column:18}},47:{start:{line:126,column:6},end:{line:126,column:32}},48:{start:{line:129,column:6},end:{line:129,column:48}},49:{start:{line:129,column:42},end:{line:129,column:48}},50:{start:{line:130,column:6},end:{line:130,column:84}},51:{start:{line:132,column:6},end:{line:136,column:7}},52:{start:{line:133,column:8},end:{line:133,column:30}},53:{start:{line:135,column:8},end:{line:135,column:28}},54:{start:{line:139,column:6},end:{line:155,column:10}},55:{start:{line:142,column:28},end:{line:142,column:41}},56:{start:{line:143,column:10},end:{line:148,column:11}},57:{start:{line:144,column:12},end:{line:144,column:41}},58:{start:{line:146,column:29},end:{line:146,column:46}},59:{start:{line:147,column:12},end:{line:147,column:56}},60:{start:{line:149,column:10},end:{line:149,column:61}},61:{start:{line:150,column:10},end:{line:150,column:52}},62:{start:{line:151,column:10},end:{line:154,column:42}},63:{start:{line:158,column:6},end:{line:174,column:10}},64:{start:{line:161,column:28},end:{line:161,column:41}},65:{start:{line:162,column:10},end:{line:167,column:11}},66:{start:{line:163,column:12},end:{line:163,column:41}},67:{start:{line:165,column:29},end:{line:165,column:46}},68:{start:{line:166,column:12},end:{line:166,column:56}},69:{start:{line:168,column:10},end:{line:168,column:61}},70:{start:{line:169,column:10},end:{line:169,column:52}},71:{start:{line:170,column:10},end:{line:173,column:42}},72:{start:{line:178,column:19},end:{line:178,column:21}},73:{start:{line:179,column:18},end:{line:179,column:19}},74:{start:{line:180,column:18},end:{line:180,column:20}},75:{start:{line:181,column:6},end:{line:202,column:8}},76:{start:{line:182,column:8},end:{line:184,column:9}},77:{start:{line:183,column:10},end:{line:183,column:48}},78:{start:{line:185,column:8},end:{line:185,column:35}},79:{start:{line:188,column:8},end:{line:192,column:9}},80:{start:{line:189,column:10},end:{line:189,column:44}},81:{start:{line:191,column:10},end:{line:191,column:22}},82:{start:{line:194,column:8},end:{line:194,column:15}},83:{start:{line:196,column:8},end:{line:201,column:9}},84:{start:{line:197,column:10},end:{line:197,column:39}},85:{start:{line:198,column:10},end:{line:198,column:20}},86:{start:{line:200,column:10},end:{line:200,column:23}},87:{start:{line:207,column:6},end:{line:213,column:7}},88:{start:{line:208,column:30},end:{line:208,column:65}},89:{start:{line:210,column:21},end:{line:210,column:53}},90:{start:{line:211,column:27},end:{line:211,column:56}},91:{start:{line:212,column:8},end:{line:212,column:54}},92:{start:{line:214,column:6},end:{line:214,column:19}},93:{start:{line:217,column:16},end:{line:217,column:32}},94:{start:{line:218,column:6},end:{line:218,column:49}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:18,column:2},end:{line:18,column:3}},loc:{start:{line:18,column:9},end:{line:30,column:3}},line:18},1:{name:"(anonymous_1)",decl:{start:{line:32,column:17},end:{line:32,column:18}},loc:{start:{line:32,column:29},end:{line:38,column:5}},line:32},2:{name:"(anonymous_2)",decl:{start:{line:39,column:16},end:{line:39,column:17}},loc:{start:{line:39,column:28},end:{line:45,column:5}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:47,column:11},end:{line:47,column:12}},loc:{start:{line:47,column:23},end:{line:49,column:7}},line:47},4:{name:"(anonymous_4)",decl:{start:{line:51,column:11},end:{line:51,column:12}},loc:{start:{line:51,column:27},end:{line:59,column:7}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:61,column:4},end:{line:61,column:5}},loc:{start:{line:61,column:20},end:{line:67,column:5}},line:61},6:{name:"(anonymous_6)",decl:{start:{line:69,column:2},end:{line:69,column:3}},loc:{start:{line:69,column:12},end:{line:72,column:3}},line:69},7:{name:"(anonymous_7)",decl:{start:{line:74,column:16},end:{line:74,column:17}},loc:{start:{line:74,column:29},end:{line:76,column:5}},line:74},8:{name:"(anonymous_8)",decl:{start:{line:77,column:19},end:{line:77,column:20}},loc:{start:{line:77,column:32},end:{line:86,column:5}},line:77},9:{name:"(anonymous_9)",decl:{start:{line:87,column:17},end:{line:87,column:18}},loc:{start:{line:87,column:30},end:{line:99,column:5}},line:87},10:{name:"(anonymous_10)",decl:{start:{line:100,column:22},end:{line:100,column:23}},loc:{start:{line:100,column:34},end:{line:104,column:5}},line:100},11:{name:"(anonymous_11)",decl:{start:{line:105,column:18},end:{line:105,column:19}},loc:{start:{line:105,column:30},end:{line:107,column:5}},line:105},12:{name:"(anonymous_12)",decl:{start:{line:108,column:17},end:{line:108,column:18}},loc:{start:{line:108,column:29},end:{line:110,column:5}},line:108},13:{name:"(anonymous_13)",decl:{start:{line:111,column:21},end:{line:111,column:22}},loc:{start:{line:111,column:33},end:{line:124,column:5}},line:111},14:{name:"(anonymous_14)",decl:{start:{line:125,column:11},end:{line:125,column:12}},loc:{start:{line:125,column:23},end:{line:127,column:5}},line:125},15:{name:"(anonymous_15)",decl:{start:{line:128,column:12},end:{line:128,column:13}},loc:{start:{line:128,column:24},end:{line:137,column:5}},line:128},16:{name:"(anonymous_16)",decl:{start:{line:138,column:21},end:{line:138,column:22}},loc:{start:{line:138,column:33},end:{line:156,column:5}},line:138},17:{name:"(anonymous_17)",decl:{start:{line:141,column:14},end:{line:141,column:15}},loc:{start:{line:141,column:26},end:{line:155,column:9}},line:141},18:{name:"(anonymous_18)",decl:{start:{line:157,column:19},end:{line:157,column:20}},loc:{start:{line:157,column:31},end:{line:175,column:5}},line:157},19:{name:"(anonymous_19)",decl:{start:{line:160,column:14},end:{line:160,column:15}},loc:{start:{line:160,column:26},end:{line:174,column:9}},line:160},20:{name:"(anonymous_20)",decl:{start:{line:177,column:18},end:{line:177,column:19}},loc:{start:{line:177,column:36},end:{line:215,column:5}},line:177},21:{name:"(anonymous_21)",decl:{start:{line:181,column:21},end:{line:181,column:22}},loc:{start:{line:181,column:31},end:{line:202,column:7}},line:181},22:{name:"(anonymous_22)",decl:{start:{line:216,column:4},end:{line:216,column:5}},loc:{start:{line:216,column:27},end:{line:219,column:5}},line:216}},branchMap:{0:{loc:{start:{line:33,column:6},end:{line:37,column:7}},type:"if",locations:[{start:{line:33,column:6},end:{line:37,column:7}},{start:{line:35,column:13},end:{line:37,column:7}}],line:33},1:{loc:{start:{line:40,column:6},end:{line:44,column:7}},type:"if",locations:[{start:{line:40,column:6},end:{line:44,column:7}},{start:{line:42,column:13},end:{line:44,column:7}}],line:40},2:{loc:{start:{line:78,column:10},end:{line:78,column:27}},type:"binary-expr",locations:[{start:{line:78,column:10},end:{line:78,column:11}},{start:{line:78,column:15},end:{line:78,column:27}}],line:78},3:{loc:{start:{line:88,column:10},end:{line:88,column:27}},type:"binary-expr",locations:[{start:{line:88,column:10},end:{line:88,column:11}},{start:{line:88,column:15},end:{line:88,column:27}}],line:88},4:{loc:{start:{line:129,column:6},end:{line:129,column:48}},type:"if",locations:[{start:{line:129,column:6},end:{line:129,column:48}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:129},5:{loc:{start:{line:129,column:10},end:{line:129,column:40}},type:"binary-expr",locations:[{start:{line:129,column:10},end:{line:129,column:25}},{start:{line:129,column:29},end:{line:129,column:40}}],line:129},6:{loc:{start:{line:132,column:6},end:{line:136,column:7}},type:"if",locations:[{start:{line:132,column:6},end:{line:136,column:7}},{start:{line:134,column:13},end:{line:136,column:7}}],line:132},7:{loc:{start:{line:143,column:10},end:{line:148,column:11}},type:"if",locations:[{start:{line:143,column:10},end:{line:148,column:11}},{start:{line:145,column:17},end:{line:148,column:11}}],line:143},8:{loc:{start:{line:162,column:10},end:{line:167,column:11}},type:"if",locations:[{start:{line:162,column:10},end:{line:167,column:11}},{start:{line:164,column:17},end:{line:167,column:11}}],line:162},9:{loc:{start:{line:182,column:8},end:{line:184,column:9}},type:"if",locations:[{start:{line:182,column:8},end:{line:184,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:182},10:{loc:{start:{line:188,column:8},end:{line:192,column:9}},type:"if",locations:[{start:{line:188,column:8},end:{line:192,column:9}},{start:{line:190,column:15},end:{line:192,column:9}}],line:188},11:{loc:{start:{line:188,column:12},end:{line:188,column:37}},type:"binary-expr",locations:[{start:{line:188,column:12},end:{line:188,column:22}},{start:{line:188,column:26},end:{line:188,column:37}}],line:188},12:{loc:{start:{line:196,column:8},end:{line:201,column:9}},type:"if",locations:[{start:{line:196,column:8},end:{line:201,column:9}},{start:{line:199,column:15},end:{line:201,column:9}}],line:196},13:{loc:{start:{line:207,column:6},end:{line:213,column:7}},type:"if",locations:[{start:{line:207,column:6},end:{line:213,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},14:{loc:{start:{line:216,column:16},end:{line:216,column:25}},type:"default-arg",locations:[{start:{line:216,column:24},end:{line:216,column:25}}],line:216}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0]},inputSourceMap:{version:3,sources:["RawDialog.vue"],names:[],mappings:";AAyGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RawDialog.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div\n v-show=\"isVisible\"\n :style=\"computedStyle\"\n class=\"raw-dialog\"\n ref=\"rawDialog\"\n >\n <v-card>\n <div ref=\"bar\">\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"close\" @click=\"$emit('close')\">\n mdi-close-box\n </v-icon>\n </div>\n </template>\n <span> Close </span>\n </v-tooltip>\n </v-system-bar>\n </div>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n zIndex: {\n type: Number,\n default: 1,\n },\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n dragX: 0,\n dragY: 0,\n top: 0,\n left: 0,\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n computedStyle() {\n let style = {}\n style['top'] = this.top + 'px'\n style['left'] = this.left + 'px'\n style['z-index'] = this.zIndex\n return style\n },\n },\n mounted() {\n this.$refs.bar.onmousedown = this.dragMouseDown\n this.$refs.rawDialog.onmouseup = this.focusEvent\n },\n methods: {\n focusEvent: function (e) {\n this.$emit('focus')\n },\n dragMouseDown: function (e) {\n e = e || window.event\n e.preventDefault()\n // get the mouse cursor position at startup:\n this.dragX = e.clientX\n this.dragY = e.clientY\n document.onmouseup = this.closeDragElement\n // call a function whenever the cursor moves:\n document.onmousemove = this.elementDrag\n },\n elementDrag: function (e) {\n e = e || window.event\n e.preventDefault()\n // calculate the new cursor position:\n let xOffset = this.dragX - e.clientX\n let yOffset = this.dragY - e.clientY\n this.dragX = e.clientX\n this.dragY = e.clientY\n // set the element's new position:\n this.top = this.$refs.bar.parentElement.parentElement.offsetTop - yOffset\n this.left =\n this.$refs.bar.parentElement.parentElement.offsetLeft - xOffset\n },\n closeDragElement: function () {\n // stop moving when mouse button is released\n document.onmouseup = null\n document.onmousemove = null\n },\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`,\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n<\/script>\n<style scoped>\n.raw-dialog {\n position: absolute;\n top: 0px;\n left: 5px;\n z-index: 1;\n border: solid;\n border-width: 1px;\n border-color: white;\n resize: both;\n overflow: auto;\n max-height: 85vh;\n background-color: var(--color-background-base-selected);\n}\n.raw-dialog :deep(.v-card) {\n height: 100%;\n min-width: 800px;\n}\n.raw-dialog :deep(.v-card__text) {\n height: 100%;\n background-color: var(--color-background-base-selected);\n}\n.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n overflow-y: scroll;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"811cc6f0babc0625dc58b135d4008b399cb8b706"},i=t[l]||(t[l]={});i[n]&&i[n].hash===e||(i[n]=o);var a=i[n];return s=function(){return a},a}s();const u={mixins:[c.A],props:{type:String,visible:Boolean,targetName:String,packetName:String,zIndex:{type:Number,default:1}},data(){return s().f[0]++,s().s[0]++,{header:"",receivedTime:"",rawData:"",paused:!1,receivedCount:"",dragX:0,dragY:0,top:0,left:0}},computed:{buttonLabel:function(){return s().f[1]++,s().s[1]++,this.paused?(s().b[0][0]++,s().s[2]++,"Resume"):(s().b[0][1]++,s().s[3]++,"Pause")},buttonIcon:function(){return s().f[2]++,s().s[4]++,this.paused?(s().b[1][0]++,s().s[5]++,"mdi-play"):(s().b[1][1]++,s().s[6]++,"mdi-pause")},isVisible:{get:function(){return s().f[3]++,s().s[7]++,this.visible},set:function(n){s().f[4]++,s().s[8]++,this.header="",s().s[9]++,this.receivedTime="",s().s[10]++,this.rawData="",s().s[11]++,this.receivedCount="",s().s[12]++,this.paused=!1,s().s[13]++,this.buttonLabel="Pause",s().s[14]++,this.$emit("display",n)}},computedStyle(){s().f[5]++;let n=(s().s[15]++,{});return s().s[16]++,n["top"]=this.top+"px",s().s[17]++,n["left"]=this.left+"px",s().s[18]++,n["z-index"]=this.zIndex,s().s[19]++,n}},mounted(){s().f[6]++,s().s[20]++,this.$refs.bar.onmousedown=this.dragMouseDown,s().s[21]++,this.$refs.rawDialog.onmouseup=this.focusEvent},methods:{focusEvent:function(n){s().f[7]++,s().s[22]++,this.$emit("focus")},dragMouseDown:function(n){s().f[8]++,s().s[23]++,s().b[2][0]++,n=n||(s().b[2][1]++,window.event),s().s[24]++,n.preventDefault(),s().s[25]++,this.dragX=n.clientX,s().s[26]++,this.dragY=n.clientY,s().s[27]++,document.onmouseup=this.closeDragElement,s().s[28]++,document.onmousemove=this.elementDrag},elementDrag:function(n){s().f[9]++,s().s[29]++,s().b[3][0]++,n=n||(s().b[3][1]++,window.event),s().s[30]++,n.preventDefault();let e=(s().s[31]++,this.dragX-n.clientX),t=(s().s[32]++,this.dragY-n.clientY);s().s[33]++,this.dragX=n.clientX,s().s[34]++,this.dragY=n.clientY,s().s[35]++,this.top=this.$refs.bar.parentElement.parentElement.offsetTop-t,s().s[36]++,this.left=this.$refs.bar.parentElement.parentElement.offsetLeft-e},closeDragElement:function(){s().f[10]++,s().s[37]++,document.onmouseup=null,s().s[38]++,document.onmousemove=null},buildRawData:function(){return s().f[11]++,s().s[39]++,`${this.header}\nReceived Time: ${this.receivedTime}\nCount: ${this.receivedCount}\n${this.rawData}`},copyRawData:function(){s().f[12]++,s().s[40]++,navigator.clipboard.writeText(this.buildRawData())},downloadRawData:function(){s().f[13]++;const n=(s().s[41]++,new Blob([this.buildRawData()],{type:"plain/text"})),e=(s().s[42]++,document.createElement("a"));s().s[43]++,e.href=URL.createObjectURL(n);const t=(s().s[44]++,(0,a.A)(Date.now(),"yyyy_MM_dd_HH_mm_ss"));s().s[45]++,e.setAttribute("download",`${t}_${this.targetName}_${this.packetName}.txt`),s().s[46]++,e.click()},pause:function(){s().f[14]++,s().s[47]++,this.paused=!this.paused},update:function(){if(s().f[15]++,s().s[48]++,s().b[5][0]++,!this.isVisible||(s().b[5][1]++,this.paused))return s().b[4][0]++,void s().s[49]++;s().b[4][1]++,s().s[50]++,this.header=`Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`,s().s[51]++,"Telemetry"===this.type?(s().b[6][0]++,s().s[52]++,this.updateTelemetry()):(s().b[6][1]++,s().s[53]++,this.updateCommand())},updateTelemetry:function(){s().f[16]++,s().s[54]++,this.api.get_tlm_buffer(this.targetName,this.packetName).then((n=>{s().f[17]++;let e=(s().s[55]++,n.buffer);if(s().s[56]++,void 0!==e.raw)s().b[7][0]++,s().s[57]++,e=e.raw;else{s().b[7][1]++;let n=(s().s[58]++,new TextEncoder);s().s[59]++,e=n.encode(e)}s().s[60]++,this.receivedTime=new Date(n.time/1e6),s().s[61]++,this.receivedCount=n.received_count,s().s[62]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},updateCommand:function(){s().f[18]++,s().s[63]++,this.api.get_cmd_buffer(this.targetName,this.packetName).then((n=>{s().f[19]++;let e=(s().s[64]++,n.buffer);if(s().s[65]++,void 0!==e.raw)s().b[8][0]++,s().s[66]++,e=e.raw;else{s().b[8][1]++;let n=(s().s[67]++,new TextEncoder);s().s[68]++,e=n.encode(e)}s().s[69]++,this.receivedTime=new Date(n.time/1e6),s().s[70]++,this.receivedCount=n.received_count,s().s[71]++,this.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+this.formatBuffer(e)}))},formatBuffer:function(n){s().f[20]++;var e=(s().s[72]++,""),t=(s().s[73]++,0),l=(s().s[74]++,"");if(s().s[75]++,n.forEach((n=>{s().f[21]++,s().s[76]++,t%16===0?(s().b[9][0]++,s().s[77]++,e+=this.numHex(t,8)+": "):s().b[9][1]++,s().s[78]++,e+=this.numHex(n),s().s[79]++,s().b[11][0]++,n>=32&&(s().b[11][1]++,n<=126)?(s().b[10][0]++,s().s[80]++,l+=String.fromCharCode(n)):(s().b[10][1]++,s().s[81]++,l+=" "),s().s[82]++,t++,s().s[83]++,t%16===0?(s().b[12][0]++,s().s[84]++,e+=" "+l+"\n",s().s[85]++,l=""):(s().b[12][1]++,s().s[86]++,e+=" ")})),s().s[87]++,t%16!=0){s().b[13][0]++;var o=(s().s[88]++,t%16-1+t%16*2),i=(s().s[89]++," ".repeat(47-o)),a=(s().s[90]++," ".repeat(16-l.length));s().s[91]++,e+=i+" "+l+a}else s().b[13][1]++;return s().s[92]++,e},numHex(n,e=(s().b[14][0]++,2)){s().f[22]++;var t=(s().s[93]++,n.toString(16));return s().s[94]++,"0".repeat(e-t.length)+t}}},r=u;t(2166);var m=t(2401),d=(0,m.A)(r,o,i,!1,null,"212f6e79",null);const A=d.exports},62:(n,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>s});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),c=a()(o());c.push([n.id,".raw-dialog[data-v-212f6e79]{position:absolute;top:0;left:5px;z-index:1;border:solid;border-width:1px;border-color:#fff;resize:both;overflow:auto;max-height:85vh;background-color:var(--color-background-base-selected)}.raw-dialog[data-v-212f6e79] .v-card{height:100%;min-width:800px}.raw-dialog[data-v-212f6e79] .v-card__text{height:100%;background-color:var(--color-background-base-selected)}.v-textarea[data-v-212f6e79] textarea{margin-top:10px;font-family:Courier New,Courier,monospace;overflow-y:scroll}",""]);const s=c},2166:(n,e,t)=>{var l=t(62);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[n.id,l,""]]),l.locals&&(n.exports=l.locals);var o=t(4825).A;o("82f5c260",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
2
  //# sourceMappingURL=328.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/328.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?1a17","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?b7f3","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?a8b7","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?3534"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isVisible),expression:\"isVisible\"}],ref:\"rawDialog\",staticClass:\"raw-dialog\",style:(_vm.computedStyle)},[_c('v-card',[_c('div',{ref:\"bar\"},[_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(\"\\n mdi-content-copy\\n \")])],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Copy \")])]),_vm._v(\" \"),_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(\"\\n mdi-download\\n \")])],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Download \")])]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.type)+\" \")]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_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\":\"close\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\"\\n mdi-close-box\\n \")])],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Close \")])])],1)],1),_vm._v(\" \"),_c('v-card-title',[_c('span',[_vm._v(\" \"+_vm._s(_vm.header)+\" \")]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])])],1),_vm._v(\" \"),_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Received Time: \")])]),_vm._v(\" \"),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedTime)+\" \")])])],1),_vm._v(\" \"),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Count: \")])]),_vm._v(\" \"),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedCount)+\" \")])])],1),_vm._v(\" \"),_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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div\n v-show=\"isVisible\"\n :style=\"computedStyle\"\n class=\"raw-dialog\"\n ref=\"rawDialog\"\n >\n <v-card>\n <div ref=\"bar\">\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"close\" @click=\"$emit('close')\">\n mdi-close-box\n </v-icon>\n </div>\n </template>\n <span> Close </span>\n </v-tooltip>\n </v-system-bar>\n </div>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n zIndex: {\n type: Number,\n default: 1,\n },\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n dragX: 0,\n dragY: 0,\n top: 0,\n left: 0,\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n computedStyle() {\n let style = {}\n style['top'] = this.top + 'px'\n style['left'] = this.left + 'px'\n style['z-index'] = this.zIndex\n return style\n },\n },\n mounted() {\n this.$refs.bar.onmousedown = this.dragMouseDown\n this.$refs.rawDialog.onmouseup = this.focusEvent\n },\n methods: {\n focusEvent: function (e) {\n this.$emit('focus')\n },\n dragMouseDown: function (e) {\n e = e || window.event\n e.preventDefault()\n // get the mouse cursor position at startup:\n this.dragX = e.clientX\n this.dragY = e.clientY\n document.onmouseup = this.closeDragElement\n // call a function whenever the cursor moves:\n document.onmousemove = this.elementDrag\n },\n elementDrag: function (e) {\n e = e || window.event\n e.preventDefault()\n // calculate the new cursor position:\n let xOffset = this.dragX - e.clientX\n let yOffset = this.dragY - e.clientY\n this.dragX = e.clientX\n this.dragY = e.clientY\n // set the element's new position:\n this.top = this.$refs.bar.parentElement.parentElement.offsetTop - yOffset\n this.left =\n this.$refs.bar.parentElement.parentElement.offsetLeft - xOffset\n },\n closeDragElement: function () {\n // stop moving when mouse button is released\n document.onmouseup = null\n document.onmousemove = null\n },\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`,\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n</script>\n<style scoped>\n.raw-dialog {\n position: absolute;\n top: 0px;\n left: 5px;\n z-index: 1;\n border: solid;\n border-width: 1px;\n border-color: white;\n resize: both;\n overflow: auto;\n max-height: 85vh;\n background-color: var(--color-background-base-selected);\n}\n.raw-dialog :deep(.v-card) {\n height: 100%;\n min-width: 800px;\n}\n.raw-dialog :deep(.v-card__text) {\n height: 100%;\n background-color: var(--color-background-base-selected);\n}\n.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n overflow-y: scroll;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RawDialog.vue?vue&type=template&id=212f6e79&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=212f6e79&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 \"212f6e79\",\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, `.raw-dialog[data-v-212f6e79]{position:absolute;top:0;left:5px;z-index:1;border:solid;border-width:1px;border-color:#fff;resize:both;overflow:auto;max-height:85vh;background-color:var(--color-background-base-selected)}.raw-dialog[data-v-212f6e79] .v-card{height:100%;min-width:800px}.raw-dialog[data-v-212f6e79] .v-card__text{height:100%;background-color:var(--color-background-base-selected)}.v-textarea[data-v-212f6e79] textarea{margin-top:10px;font-family:Courier New,Courier,monospace;overflow-y:scroll}`, \"\"]);\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!./RawDialog.vue?vue&type=style&index=0&id=212f6e79&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(\"82f5c260\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_18iatml2cn","actualCoverage","props","refreshInterval","default","data","f","s","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","b","clearInterval","watch","newVal","oldVal","methods","setInterval","update","cov_2gt25r962d","render","_vm","_c","_self","directives","name","rawName","value","isVisible","expression","ref","staticClass","style","computedStyle","attrs","scopedSlots","_u","key","fn","on","_g","_b","copyRawData","_v","downloadRawData","_s","type","$event","$emit","header","pause","buttonIcon","buttonLabel","receivedTime","receivedCount","model","rawData","callback","$$v","staticRenderFns","mixins","Updater","String","visible","Boolean","targetName","packetName","zIndex","Number","paused","dragX","dragY","top","left","computed","get","set","bool","$refs","bar","onmousedown","dragMouseDown","rawDialog","onmouseup","focusEvent","e","window","event","preventDefault","clientX","clientY","document","closeDragElement","onmousemove","elementDrag","xOffset","yOffset","parentElement","offsetTop","offsetLeft","buildRawData","navigator","clipboard","writeText","blob","Blob","link","createElement","href","URL","createObjectURL","dt","format","Date","now","setAttribute","click","updateTelemetry","updateCommand","get_tlm_buffer","then","result","buffer_data","buffer","undefined","raw","utf8Encode","TextEncoder","encode","time","received_count","formatBuffer","get_cmd_buffer","string","index","ascii","forEach","byte","numHex","fromCharCode","existing_length","filler","repeat","ascii_filler","length","num","width","hex","toString","component","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","locals","exports","add"],"sourceRoot":""}
1
+ {"version":3,"file":"js/328.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?1a17","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?b7f3","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?a8b7","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?3534"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isVisible),expression:\"isVisible\"}],ref:\"rawDialog\",staticClass:\"raw-dialog\",style:(_vm.computedStyle)},[_c('v-card',[_c('div',{ref:\"bar\"},[_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(\"\\n mdi-content-copy\\n \")])],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Copy \")])]),_vm._v(\" \"),_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(\"\\n mdi-download\\n \")])],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Download \")])]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.type)+\" \")]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_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\":\"close\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\"\\n mdi-close-box\\n \")])],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Close \")])])],1)],1),_vm._v(\" \"),_c('v-card-title',[_c('span',[_vm._v(\" \"+_vm._s(_vm.header)+\" \")]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])])],1),_vm._v(\" \"),_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Received Time: \")])]),_vm._v(\" \"),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedTime)+\" \")])])],1),_vm._v(\" \"),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Count: \")])]),_vm._v(\" \"),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedCount)+\" \")])])],1),_vm._v(\" \"),_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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div\n v-show=\"isVisible\"\n :style=\"computedStyle\"\n class=\"raw-dialog\"\n ref=\"rawDialog\"\n >\n <v-card>\n <div ref=\"bar\">\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"close\" @click=\"$emit('close')\">\n mdi-close-box\n </v-icon>\n </div>\n </template>\n <span> Close </span>\n </v-tooltip>\n </v-system-bar>\n </div>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n zIndex: {\n type: Number,\n default: 1,\n },\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n dragX: 0,\n dragY: 0,\n top: 0,\n left: 0,\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n computedStyle() {\n let style = {}\n style['top'] = this.top + 'px'\n style['left'] = this.left + 'px'\n style['z-index'] = this.zIndex\n return style\n },\n },\n mounted() {\n this.$refs.bar.onmousedown = this.dragMouseDown\n this.$refs.rawDialog.onmouseup = this.focusEvent\n },\n methods: {\n focusEvent: function (e) {\n this.$emit('focus')\n },\n dragMouseDown: function (e) {\n e = e || window.event\n e.preventDefault()\n // get the mouse cursor position at startup:\n this.dragX = e.clientX\n this.dragY = e.clientY\n document.onmouseup = this.closeDragElement\n // call a function whenever the cursor moves:\n document.onmousemove = this.elementDrag\n },\n elementDrag: function (e) {\n e = e || window.event\n e.preventDefault()\n // calculate the new cursor position:\n let xOffset = this.dragX - e.clientX\n let yOffset = this.dragY - e.clientY\n this.dragX = e.clientX\n this.dragY = e.clientY\n // set the element's new position:\n this.top = this.$refs.bar.parentElement.parentElement.offsetTop - yOffset\n this.left =\n this.$refs.bar.parentElement.parentElement.offsetLeft - xOffset\n },\n closeDragElement: function () {\n // stop moving when mouse button is released\n document.onmouseup = null\n document.onmousemove = null\n },\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`,\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n let buffer_data = result.buffer\n if (buffer_data.raw !== undefined) {\n buffer_data = buffer_data.raw\n } else {\n let utf8Encode = new TextEncoder()\n buffer_data = utf8Encode.encode(buffer_data)\n }\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(buffer_data)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n</script>\n<style scoped>\n.raw-dialog {\n position: absolute;\n top: 0px;\n left: 5px;\n z-index: 1;\n border: solid;\n border-width: 1px;\n border-color: white;\n resize: both;\n overflow: auto;\n max-height: 85vh;\n background-color: var(--color-background-base-selected);\n}\n.raw-dialog :deep(.v-card) {\n height: 100%;\n min-width: 800px;\n}\n.raw-dialog :deep(.v-card__text) {\n height: 100%;\n background-color: var(--color-background-base-selected);\n}\n.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n overflow-y: scroll;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RawDialog.vue?vue&type=template&id=212f6e79&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=212f6e79&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 \"212f6e79\",\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, `.raw-dialog[data-v-212f6e79]{position:absolute;top:0;left:5px;z-index:1;border:solid;border-width:1px;border-color:#fff;resize:both;overflow:auto;max-height:85vh;background-color:var(--color-background-base-selected)}.raw-dialog[data-v-212f6e79] .v-card{height:100%;min-width:800px}.raw-dialog[data-v-212f6e79] .v-card__text{height:100%;background-color:var(--color-background-base-selected)}.v-textarea[data-v-212f6e79] textarea{margin-top:10px;font-family:Courier New,Courier,monospace;overflow-y:scroll}`, \"\"]);\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!./RawDialog.vue?vue&type=style&index=0&id=212f6e79&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(\"82f5c260\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_18iatml2cn","actualCoverage","props","refreshInterval","default","data","f","s","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","b","clearInterval","watch","newVal","oldVal","methods","setInterval","update","cov_2gt25r962d","render","_vm","_c","_self","directives","name","rawName","value","isVisible","expression","ref","staticClass","style","computedStyle","attrs","scopedSlots","_u","key","fn","on","_g","_b","copyRawData","_v","downloadRawData","_s","type","$event","$emit","header","pause","buttonIcon","buttonLabel","receivedTime","receivedCount","model","rawData","callback","$$v","staticRenderFns","mixins","Updater","String","visible","Boolean","targetName","packetName","zIndex","Number","paused","dragX","dragY","top","left","computed","get","set","bool","$refs","bar","onmousedown","dragMouseDown","rawDialog","onmouseup","focusEvent","e","window","event","preventDefault","clientX","clientY","document","closeDragElement","onmousemove","elementDrag","xOffset","yOffset","parentElement","offsetTop","offsetLeft","buildRawData","navigator","clipboard","writeText","blob","Blob","link","createElement","href","URL","createObjectURL","dt","format","Date","now","setAttribute","click","updateTelemetry","updateCommand","get_tlm_buffer","then","result","buffer_data","buffer","undefined","raw","utf8Encode","TextEncoder","encode","time","received_count","formatBuffer","get_cmd_buffer","string","index","ascii","forEach","byte","numHex","fromCharCode","existing_length","filler","repeat","ascii_filler","length","num","width","hex","toString","component","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","locals","exports","add"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[348],{7348:(e,n,t)=>{"use strict";function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",n="9a1e1fff53b1c6060847a8db02ff9ccdc66f9625",t=new Function("return this")(),s="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1438}},4:{start:{line:1,column:237},end:{line:1,column:250}},5:{start:{line:1,column:417},end:{line:1,column:431}},6:{start:{line:1,column:493},end:{line:1,column:670}},7:{start:{line:1,column:578},end:{line:1,column:603}},8:{start:{line:1,column:1003},end:{line:1,column:1024}},9:{start:{line:1,column:1390},end:{line:1,column:1418}},10:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:221},end:{line:1,column:222}},loc:{start:{line:1,column:236},end:{line:1,column:251}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:401},end:{line:1,column:402}},loc:{start:{line:1,column:416},end:{line:1,column:432}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:473},end:{line:1,column:474}},loc:{start:{line:1,column:492},end:{line:1,column:671}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:561},end:{line:1,column:562}},loc:{start:{line:1,column:577},end:{line:1,column:604}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:987},end:{line:1,column:988}},loc:{start:{line:1,column:1002},end:{line:1,column:1025}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:1373},end:{line:1,column:1374}},loc:{start:{line:1,column:1389},end:{line:1,column:1419}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"9a1e1fff53b1c6060847a8db02ff9ccdc66f9625"},o=t[s]||(t[s]={});o[e]&&o[e].hash===n||(o[e]=l);var i=o[e];return a=function(){return i},i}t.r(n),t.d(n,{default:()=>R}),a(),a().s[0]++;var s=function(){a().f[0]++;var e=(a().s[1]++,this),n=(a().s[2]++,e._self._c);return a().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),e._v(" "),n("v-card",[n("v-expansion-panels",{model:{value:e.panel,callback:function(n){a().f[1]++,a().s[4]++,e.panel=n},expression:"panel"}},[n("v-expansion-panel",[n("v-expansion-panel-header",[n("v-tabs",{attrs:{"fixed-tabs":""},model:{value:e.curTab,callback:function(n){a().f[2]++,a().s[5]++,e.curTab=n},expression:"curTab"}},e._l(e.tabs,(function(t,s){return a().f[3]++,a().s[6]++,n("v-tab",{key:s,attrs:{to:t.url},nativeOn:{click:function(e){a().f[4]++,a().s[7]++,e.stopPropagation()}}},[e._v("\n "+e._s(t.name)+"\n ")])})),1)],1),e._v(" "),n("v-expansion-panel-content",[n("router-view",{attrs:{"refresh-interval":e.refreshInterval}})],1)],1)],1)],1),e._v(" "),n("div",{staticStyle:{height:"15px"}}),e._v(" "),n("log-messages"),e._v(" "),n("v-dialog",{attrs:{"max-width":"300"},model:{value:e.optionsDialog,callback:function(n){a().f[5]++,a().s[8]++,e.optionsDialog=n},expression:"optionsDialog"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v("Options")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("div",{staticClass:"pa-3"},[n("v-text-field",{attrs:{min:"0",max:"10000",step:"100",type:"number",label:"Refresh Interval (ms)",value:e.refreshInterval},on:{change:function(n){a().f[6]++,a().s[9]++,e.refreshInterval=n}}})],1)],1)],1)],1)},l=(a().s[10]++,[]),o=t(2904),i=function(){var e=this,n=e._self._c;return n("v-card",[n("v-card-title",[n("v-tooltip",{attrs:{top:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:a}){return[n("div",e._g(e._b({},"div",a,!1),t),[n("v-btn",{staticClass:"mx-2",attrs:{icon:"","data-test":"download-log"},on:{click:e.downloadLog}},[n("v-icon",[e._v(" mdi-download ")])],1)],1)]}}])},[e._v(" "),n("span",[e._v(" Download Log ")])]),e._v(" "),n("span",[e._v(" Log Messages ")]),e._v(" "),n("v-tooltip",{attrs:{top:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:a}){return[n("div",e._g(e._b({},"div",a,!1),t),[n("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:e.pause}},[n("v-icon",[e._v(" "+e._s(e.buttonIcon)+" ")])],1)],1)]}}])},[e._v(" "),n("span",[e._v(" "+e._s(e.buttonLabel)+" ")])]),e._v(" "),n("v-spacer"),e._v(" "),n("v-select",{staticClass:"mr-2",staticStyle:{"max-width":"150px"},attrs:{label:"Filter by log level","hide-details":"",outlined:"",dense:"",items:e.logLevels,"data-test":"log-messages-level"},model:{value:e.logLevel,callback:function(n){e.logLevel=n},expression:"logLevel"}}),e._v(" "),n("v-spacer"),e._v(" "),n("v-text-field",{staticClass:"search",staticStyle:{"max-width":"300px"},attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":"","data-test":"search-log-messages"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}}),e._v(" "),n("v-tooltip",{attrs:{top:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:a}){return[n("div",e._g(e._b({},"div",a,!1),t),[n("v-btn",{staticClass:"mx-2",attrs:{icon:"","data-test":"clear-log"},on:{click:e.clearLog}},[n("v-icon",[e._v(" mdi-delete ")])],1)],1)]}}])},[e._v(" "),n("span",[e._v(" Clear Log ")])])],1),e._v(" "),n("v-data-table",{attrs:{headers:e.headers,items:e.shownData,search:e.search,"calculate-widths":"","disable-pagination":"","hide-default-footer":"","multi-sort":"",dense:"",height:"70vh","data-test":"log-messages"},scopedSlots:e._u([{key:"item.timestamp",fn:function({item:t}){return[n("time",{attrs:{title:t.timestamp,datetime:t.timestamp}},[e._v("\n "+e._s(t.timestamp)+"\n ")])]}},{key:"item.level",fn:function({item:t}){return[n("span",{style:"display: inline-flex; color:"+e.getColor(t.level)},[n("rux-status",{staticClass:"mr-1",attrs:{status:e.getStatus(t.level)}}),e._v("\n "+e._s(t.level))],1)]}},{key:"item.message",fn:function({item:t}){return[n("div",{staticStyle:{"white-space":"pre-wrap"}},[e._v(e._s(t.message))])]}}])})],1)},r=[],c=(t(4293),t(8715),t(7010),t(3165),t(4397),t(1412),t(1883),t(7905),t(6252)),u=t(3813),d=t(7752);d.D$.staleThreshold=10;class m{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&this._cable.disconnect()}createSubscription(e,n,t={},a={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((n=>{if(n&&OpenC3Auth.setTokens(),null==this._cable){let e=this._url+"?scope="+encodeURIComponent(window.openc3Scope)+"&authorization="+encodeURIComponent(localStorage.openc3Token);this._cable=d.Be(e)}return this._cable.subscriptions.create({channel:e,...a},t)}))}recordPing(){this._cable.connection.monitor.recordPing()}}var p=t(3434);const v={props:{history_count:{type:Number,default:200}},data(){return{AstroStatusColors:p.Yu,data:[],shownData:[],logLevels:["DEBUG","INFO","WARN","ERROR","FATAL"],logLevel:"INFO",search:"",headers:[{text:"Time",value:"timestamp",width:220},{text:"Level",value:"level"},{text:"Source",value:"microservice_name"},{text:"Message",value:"message"}],cable:new m,subscription:null,paused:!1}},computed:{buttonLabel:function(){return this.paused?"Resume":"Pause"},buttonIcon:function(){return this.paused?"mdi-play":"mdi-pause"}},watch:{logLevel:function(e,n){this.createSubscription()}},created(){this.createSubscription()},destroyed(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{pause:function(){this.paused=!this.paused},createSubscription(){this.subscription&&(this.subscription.unsubscribe(),this.data=[],this.shownData=this.data),this.cable.createSubscription("MessagesChannel",window.openc3Scope,{received:e=>{this.cable.recordPing(),e.length>this.history_count&&e.splice(0,e.length-this.history_count),e=e.filter((e=>{switch(this.logLevel){case"DEBUG":return!0;case"INFO":if("DEBUG"!==e.level)return!0;break;case"WARN":if("DEBUG"!==e.level&&"INFO"!==e.level)return!0;break;case"ERROR":if("DEBUG"!==e.level&&"INFO"!==e.level&&"WARN"!==e.level)return!0;break;case"FATAL":if("DEBUG"!==e.level&&"INFO"!==e.level&&"WARN"!==e.level&&"ERROR"!==e.level)return!0;break}return!1})),e.map((e=>{if(e.timestamp=this.formatDate(e["@timestamp"]),e.message.raw&&"String"===e.message.json_class){let t="0x";for(let a=0;a<e.message.raw.length;a++){var n=e.message.raw[a].toString(16).toUpperCase();n.length<2&&(n="0"+n),t+=n}e.message=t}else e.message=e.message.replaceAll("\\n","\n")})),this.data=e.reverse().concat(this.data),this.data.length>this.history_count&&(this.data.length=this.history_count),this.paused||(this.shownData=this.data)}},{history_count:this.history_count}).then((e=>{this.subscription=e}))},formatDate(e){return(0,c.A)((0,u.A)(e),"yyyy-MM-dd HH:mm:ss.SSS")},getColor(e){return p.Yu[p.NI[e]]},getStatus(e){return p.NI[e]},downloadLog(){const e=this.shownData.map((e=>`${e.timestamp} | ${e.level} | ${e.microservice_name} | ${e.message}`)).join("\n"),n=new Blob([e],{type:"text/plain"}),t=document.createElement("a");t.href=URL.createObjectURL(n),t.setAttribute("download",(0,c.A)(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_message_log.txt"),t.click()},clearLog:function(){this.$dialog.confirm("Are you sure you want to clear the log?",{okText:"Clear",cancelText:"Cancel"}).then((e=>{this.data=[],this.shownData=[]})).catch((function(e){}))}}},A=v;var h=t(2401),f=(0,h.A)(A,i,r,!1,null,null,null);const _=f.exports;var b=function(){var e=this,n=e._self._c;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("v-row",{attrs:{"no-gutters":""}},[n("v-col",{attrs:{"align-self":"end"}},[n("span",{staticClass:"app-title mr-2"},[e._v(e._s(e.title))])])],1),e._v(" "),n("v-row",{staticClass:"flex-nowrap",attrs:{dense:""}},e._l(e.menus,(function(t,a){return n("v-menu",{key:a,ref:"topmenu",refInFor:!0,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function({on:a,attrs:s}){return[n("v-btn",e._g(e._b({staticClass:"mx-1 menu-button",attrs:{outlined:"","data-test":e.formatDT(`${e.title} ${t.label}`)}},"v-btn",s,!1),a),[n("span",{domProps:{textContent:e._s(t.label)}}),e._v(" "),n("v-icon",{staticClass:"myicon",attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(a,s){return[a.divider?n("v-divider",{key:s}):a.subMenu&&a.subMenu.length>0?n("div",{key:s},[n("v-menu",{key:e.k,attrs:{"open-on-hover":"","offset-x":"",bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:l}){return[n("v-list-item",e._g(e._b({key:s,attrs:{disabled:a.disabled}},"v-list-item",l,!1),t),[a.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:a.disabled}},[e._v(e._s(a.icon))])],1):e._e(),e._v(" "),a.radio||a.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(a.disabled?"opacity: 0.2":"")},[e._v(e._s(a.label)+"\n ")]),e._v(" "),n("v-icon",[e._v(" mdi-chevron-right ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",e._l(a.subMenu,(function(t,a){return n("v-list-item",{key:a,on:{click:function(n){return e.subMenuClick(t)}}},[t.icon?n("v-list-item-icon",[n("v-icon",[e._v(e._s(t.icon))])],1):e._e(),e._v(" "),n("v-list-item-title",[e._v(e._s(t.label))])],1)})),1)],1)],1):n("v-list-item",{key:s,attrs:{disabled:a.disabled,"data-test":e.formatDT(`${e.title} ${t.label} ${a.label}`)},on:{click:function(e){return a.command(a)}}},[a.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:a.label,value:a.label}})],1):e._e(),e._v(" "),a.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:a.label},model:{value:a.checked,callback:function(n){e.$set(a,"checked",n)},expression:"option.checked"}})],1):e._e(),e._v(" "),a.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:a.disabled}},[e._v(e._s(a.icon))])],1):e._e(),e._v(" "),a.radio||a.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(a.disabled?"opacity: 0.2":"")},[e._v(e._s(a.label))])],1)]}))],2)],1)],1)})),1)],1)},g=[];const C={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()},subMenuClick(e){e.command(e),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},y=C;t(1e3);var x=(0,h.A)(y,b,g,!1,null,"57d4fdd2",null);const k=x.exports;function w(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",n="76cff3f3471b28d9dc01e4a9f9c74180b5cf1087",t=new Function("return this")(),a="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",statementMap:{0:{start:{line:11,column:4},end:{line:66,column:5}},1:{start:{line:53,column:16},end:{line:53,column:41}},2:{start:{line:60,column:16},end:{line:60,column:36}},3:{start:{line:69,column:4},end:{line:69,column:30}},4:{start:{line:73,column:6},end:{line:77,column:8}},5:{start:{line:74,column:8},end:{line:76,column:9}},6:{start:{line:74,column:21},end:{line:74,column:22}},7:{start:{line:75,column:10},end:{line:75,column:63}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:67,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:52,column:23},end:{line:52,column:24}},loc:{start:{line:52,column:29},end:{line:54,column:15}},line:52},2:{name:"(anonymous_2)",decl:{start:{line:59,column:23},end:{line:59,column:24}},loc:{start:{line:59,column:29},end:{line:61,column:15}},line:59},3:{name:"(anonymous_3)",decl:{start:{line:68,column:2},end:{line:68,column:3}},loc:{start:{line:68,column:12},end:{line:70,column:3}},line:68},4:{name:"(anonymous_4)",decl:{start:{line:72,column:4},end:{line:72,column:5}},loc:{start:{line:72,column:20},end:{line:78,column:5}},line:72},5:{name:"(anonymous_5)",decl:{start:{line:73,column:42},end:{line:73,column:43}},loc:{start:{line:73,column:56},end:{line:77,column:7}},line:73}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{},inputSourceMap:{version:3,sources:["CmdTlmServer.vue"],names:[],mappings:";AAwEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-expansion-panels v-model=\"panel\">\n <v-expansion-panel>\n <v-expansion-panel-header>\n <v-tabs v-model=\"curTab\" fixed-tabs>\n <v-tab\n v-for=\"(tab, index) in tabs\"\n :key=\"index\"\n :to=\"tab.url\"\n @click.native.stop\n >\n {{ tab.name }}\n </v-tab>\n </v-tabs>\n </v-expansion-panel-header>\n <v-expansion-panel-content>\n <router-view :refresh-interval=\"refreshInterval\" />\n </v-expansion-panel-content>\n </v-expansion-panel>\n </v-expansion-panels>\n </v-card>\n <div style=\"height: 15px\" />\n <log-messages />\n <v-dialog v-model=\"optionsDialog\" max-width=\"300\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span>Options</span>\n <v-spacer />\n </v-system-bar>\n <div class=\"pa-3\">\n <v-text-field\n min=\"0\"\n max=\"10000\"\n step=\"100\"\n type=\"number\"\n label=\"Refresh Interval (ms)\"\n :value=\"refreshInterval\"\n @change=\"refreshInterval = $event\"\n />\n </div>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\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 api: null,\n title: 'CmdTlmServer',\n panel: 0,\n curTab: null,\n tabs: [\n {\n name: 'Interfaces',\n url: '/interfaces',\n },\n {\n name: 'Targets',\n url: '/targets',\n },\n {\n name: 'Cmd packets',\n url: '/cmd-packets',\n },\n {\n name: 'Tlm packets',\n url: '/tlm-packets',\n },\n {\n name: 'Routers',\n url: '/routers',\n },\n {\n name: 'Status',\n url: '/status',\n },\n ],\n updater: null,\n refreshInterval: 1000,\n optionsDialog: false,\n menus: [\n {\n label: 'File',\n items: [\n {\n label: 'Options',\n icon: 'mdi-cog',\n command: () => {\n this.optionsDialog = true\n },\n },\n {\n label: 'Clear Counters',\n icon: 'mdi-eraser',\n command: () => {\n this.clearCounters()\n },\n },\n ],\n },\n ],\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n methods: {\n clearCounters() {\n this.api.get_interface_names().then((response) => {\n for (var i = 0; i < response.length; i++) {\n this.api.interface_cmd(response[i], 'clear_counters')\n }\n })\n },\n },\n}\n<\/script>\n\n<style scoped>\n.v-expansion-panel-content :deep(.v-expansion-panel-content__wrap) {\n padding: 0px;\n}\n.v-list :deep(.v-label) {\n margin-left: 5px;\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n.v-expansion-panel-header {\n min-height: initial;\n padding: 0px;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"76cff3f3471b28d9dc01e4a9f9c74180b5cf1087"},l=t[a]||(t[a]={});l[e]&&l[e].hash===n||(l[e]=s);var o=l[e];return w=function(){return o},o}w();const S={components:{LogMessages:_,TopBar:k},data(){return w().f[0]++,w().s[0]++,{api:null,title:"CmdTlmServer",panel:0,curTab:null,tabs:[{name:"Interfaces",url:"/interfaces"},{name:"Targets",url:"/targets"},{name:"Cmd packets",url:"/cmd-packets"},{name:"Tlm packets",url:"/tlm-packets"},{name:"Routers",url:"/routers"},{name:"Status",url:"/status"}],updater:null,refreshInterval:1e3,optionsDialog:!1,menus:[{label:"File",items:[{label:"Options",icon:"mdi-cog",command:()=>{w().f[1]++,w().s[1]++,this.optionsDialog=!0}},{label:"Clear Counters",icon:"mdi-eraser",command:()=>{w().f[2]++,w().s[2]++,this.clearCounters()}}]}]}},created(){w().f[3]++,w().s[3]++,this.api=new o.x},methods:{clearCounters(){w().f[4]++,w().s[4]++,this.api.get_interface_names().then((e=>{w().f[5]++,w().s[5]++;for(var n=(w().s[6]++,0);n<e.length;n++)w().s[7]++,this.api.interface_cmd(e[n],"clear_counters")}))}}},T=S;t(6945);var I=(0,h.A)(T,s,l,!1,null,"17ad97d2",null);const R=I.exports},9353:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(6758),s=t.n(a),l=t(935),o=t.n(l),i=o()(s());i.push([e.id,".v-expansion-panel-content[data-v-17ad97d2] .v-expansion-panel-content__wrap{padding:0}.v-list[data-v-17ad97d2] .v-label{margin-left:5px}.v-list-item__icon[data-v-17ad97d2]{margin-right:15px!important}.v-list-item__title[data-v-17ad97d2]{color:#fff}.v-expansion-panel-header[data-v-17ad97d2]{min-height:auto;padding:0}",""]);const r=i},9808:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(6758),s=t.n(a),l=t(935),o=t.n(l),i=o()(s());i.push([e.id,".app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}",""]);const r=i},6945:(e,n,t)=>{var a=t(9353);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var s=t(4825).A;s("72dae64f",a,!0,{sourceMap:!1,shadowMode:!1})},1e3:(e,n,t)=>{var a=t(9808);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var s=t(4825).A;s("7de62207",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
1
+ (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[348],{7348:(e,n,t)=>{"use strict";function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",n="9a1e1fff53b1c6060847a8db02ff9ccdc66f9625",t=new Function("return this")(),s="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1438}},4:{start:{line:1,column:237},end:{line:1,column:250}},5:{start:{line:1,column:417},end:{line:1,column:431}},6:{start:{line:1,column:493},end:{line:1,column:670}},7:{start:{line:1,column:578},end:{line:1,column:603}},8:{start:{line:1,column:1003},end:{line:1,column:1024}},9:{start:{line:1,column:1390},end:{line:1,column:1418}},10:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:221},end:{line:1,column:222}},loc:{start:{line:1,column:236},end:{line:1,column:251}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:401},end:{line:1,column:402}},loc:{start:{line:1,column:416},end:{line:1,column:432}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:473},end:{line:1,column:474}},loc:{start:{line:1,column:492},end:{line:1,column:671}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:561},end:{line:1,column:562}},loc:{start:{line:1,column:577},end:{line:1,column:604}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:987},end:{line:1,column:988}},loc:{start:{line:1,column:1002},end:{line:1,column:1025}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:1373},end:{line:1,column:1374}},loc:{start:{line:1,column:1389},end:{line:1,column:1419}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"9a1e1fff53b1c6060847a8db02ff9ccdc66f9625"},o=t[s]||(t[s]={});o[e]&&o[e].hash===n||(o[e]=l);var i=o[e];return a=function(){return i},i}t.r(n),t.d(n,{default:()=>R}),a(),a().s[0]++;var s=function(){a().f[0]++;var e=(a().s[1]++,this),n=(a().s[2]++,e._self._c);return a().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),e._v(" "),n("v-card",[n("v-expansion-panels",{model:{value:e.panel,callback:function(n){a().f[1]++,a().s[4]++,e.panel=n},expression:"panel"}},[n("v-expansion-panel",[n("v-expansion-panel-header",[n("v-tabs",{attrs:{"fixed-tabs":""},model:{value:e.curTab,callback:function(n){a().f[2]++,a().s[5]++,e.curTab=n},expression:"curTab"}},e._l(e.tabs,(function(t,s){return a().f[3]++,a().s[6]++,n("v-tab",{key:s,attrs:{to:t.url},nativeOn:{click:function(e){a().f[4]++,a().s[7]++,e.stopPropagation()}}},[e._v("\n "+e._s(t.name)+"\n ")])})),1)],1),e._v(" "),n("v-expansion-panel-content",[n("router-view",{attrs:{"refresh-interval":e.refreshInterval}})],1)],1)],1)],1),e._v(" "),n("div",{staticStyle:{height:"15px"}}),e._v(" "),n("log-messages"),e._v(" "),n("v-dialog",{attrs:{"max-width":"300"},model:{value:e.optionsDialog,callback:function(n){a().f[5]++,a().s[8]++,e.optionsDialog=n},expression:"optionsDialog"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v("Options")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("div",{staticClass:"pa-3"},[n("v-text-field",{attrs:{min:"0",max:"10000",step:"100",type:"number",label:"Refresh Interval (ms)",value:e.refreshInterval},on:{change:function(n){a().f[6]++,a().s[9]++,e.refreshInterval=n}}})],1)],1)],1)],1)},l=(a().s[10]++,[]),o=t(2904),i=function(){var e=this,n=e._self._c;return n("v-card",[n("v-card-title",[n("v-tooltip",{attrs:{top:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:a}){return[n("div",e._g(e._b({},"div",a,!1),t),[n("v-btn",{staticClass:"mx-2",attrs:{icon:"","data-test":"download-log"},on:{click:e.downloadLog}},[n("v-icon",[e._v(" mdi-download ")])],1)],1)]}}])},[e._v(" "),n("span",[e._v(" Download Log ")])]),e._v(" "),n("span",[e._v(" Log Messages ")]),e._v(" "),n("v-tooltip",{attrs:{top:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:a}){return[n("div",e._g(e._b({},"div",a,!1),t),[n("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:e.pause}},[n("v-icon",[e._v(" "+e._s(e.buttonIcon)+" ")])],1)],1)]}}])},[e._v(" "),n("span",[e._v(" "+e._s(e.buttonLabel)+" ")])]),e._v(" "),n("v-spacer"),e._v(" "),n("v-select",{staticClass:"mr-2",staticStyle:{"max-width":"150px"},attrs:{label:"Filter by log level","hide-details":"",outlined:"",dense:"",items:e.logLevels,"data-test":"log-messages-level"},model:{value:e.logLevel,callback:function(n){e.logLevel=n},expression:"logLevel"}}),e._v(" "),n("v-spacer"),e._v(" "),n("v-text-field",{staticClass:"search",staticStyle:{"max-width":"300px"},attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":"","data-test":"search-log-messages"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}}),e._v(" "),n("v-tooltip",{attrs:{top:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:a}){return[n("div",e._g(e._b({},"div",a,!1),t),[n("v-btn",{staticClass:"mx-2",attrs:{icon:"","data-test":"clear-log"},on:{click:e.clearLog}},[n("v-icon",[e._v(" mdi-delete ")])],1)],1)]}}])},[e._v(" "),n("span",[e._v(" Clear Log ")])])],1),e._v(" "),n("v-data-table",{attrs:{headers:e.headers,items:e.shownData,search:e.search,"calculate-widths":"","disable-pagination":"","hide-default-footer":"","multi-sort":"",dense:"",height:"70vh","data-test":"log-messages"},scopedSlots:e._u([{key:"item.timestamp",fn:function({item:t}){return[n("time",{attrs:{title:t.timestamp,datetime:t.timestamp}},[e._v("\n "+e._s(t.timestamp)+"\n ")])]}},{key:"item.level",fn:function({item:t}){return[n("span",{style:"display: inline-flex; color:"+e.getColor(t.level)},[n("rux-status",{staticClass:"mr-1",attrs:{status:e.getStatus(t.level)}}),e._v("\n "+e._s(t.level))],1)]}},{key:"item.message",fn:function({item:t}){return[n("div",{staticStyle:{"white-space":"pre-wrap"}},[e._v(e._s(t.message))])]}}])})],1)},r=[],c=(t(4293),t(8715),t(7010),t(3165),t(4541),t(4397),t(1412),t(1883),t(7905),t(6252)),u=t(3813),d=t(7752);d.D$.staleThreshold=10;class m{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&this._cable.disconnect()}createSubscription(e,n,t={},a={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((n=>{if(n&&OpenC3Auth.setTokens(),null==this._cable){let e=this._url+"?scope="+encodeURIComponent(window.openc3Scope)+"&authorization="+encodeURIComponent(localStorage.openc3Token);this._cable=d.Be(e)}return this._cable.subscriptions.create({channel:e,...a},t)}))}recordPing(){this._cable.connection.monitor.recordPing()}}var p=t(3434);const v={props:{history_count:{type:Number,default:200}},data(){return{AstroStatusColors:p.Yu,data:[],shownData:[],logLevels:["DEBUG","INFO","WARN","ERROR","FATAL"],logLevel:"INFO",search:"",headers:[{text:"Time",value:"timestamp",width:220},{text:"Level",value:"level"},{text:"Source",value:"microservice_name"},{text:"Message",value:"message"}],cable:new m,subscription:null,paused:!1}},computed:{buttonLabel:function(){return this.paused?"Resume":"Pause"},buttonIcon:function(){return this.paused?"mdi-play":"mdi-pause"}},watch:{logLevel:function(e,n){this.createSubscription()}},created(){this.createSubscription()},destroyed(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{pause:function(){this.paused=!this.paused},createSubscription(){this.subscription&&(this.subscription.unsubscribe(),this.data=[],this.shownData=this.data),this.cable.createSubscription("MessagesChannel",window.openc3Scope,{received:e=>{this.cable.recordPing(),e.length>this.history_count&&e.splice(0,e.length-this.history_count),e=e.filter((e=>{switch(this.logLevel){case"DEBUG":return!0;case"INFO":if("DEBUG"!==e.level)return!0;break;case"WARN":if("DEBUG"!==e.level&&"INFO"!==e.level)return!0;break;case"ERROR":if("DEBUG"!==e.level&&"INFO"!==e.level&&"WARN"!==e.level)return!0;break;case"FATAL":if("DEBUG"!==e.level&&"INFO"!==e.level&&"WARN"!==e.level&&"ERROR"!==e.level)return!0;break}return!1})),e.map((e=>{if(e.timestamp=this.formatDate(e["@timestamp"]),e.message.raw&&"String"===e.message.json_class){let t="0x";for(let a=0;a<e.message.raw.length;a++){var n=e.message.raw[a].toString(16).toUpperCase();n.length<2&&(n="0"+n),t+=n}e.message=t}else e.message=e.message.replaceAll("\\n","\n")})),this.data=e.reverse().concat(this.data),this.data.length>this.history_count&&(this.data.length=this.history_count),this.paused||(this.shownData=this.data)}},{history_count:this.history_count}).then((e=>{this.subscription=e}))},formatDate(e){return(0,c.A)((0,u.A)(e),"yyyy-MM-dd HH:mm:ss.SSS")},getColor(e){return p.Yu[p.NI[e]]},getStatus(e){return p.NI[e]},downloadLog(){const e=this.shownData.map((e=>`${e.timestamp} | ${e.level} | ${e.microservice_name} | ${e.message}`)).join("\n"),n=new Blob([e],{type:"text/plain"}),t=document.createElement("a");t.href=URL.createObjectURL(n),t.setAttribute("download",(0,c.A)(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_message_log.txt"),t.click()},clearLog:function(){this.$dialog.confirm("Are you sure you want to clear the log?",{okText:"Clear",cancelText:"Cancel"}).then((e=>{this.data=[],this.shownData=[]})).catch((function(e){}))}}},A=v;var h=t(2401),f=(0,h.A)(A,i,r,!1,null,null,null);const _=f.exports;var b=function(){var e=this,n=e._self._c;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("v-row",{attrs:{"no-gutters":""}},[n("v-col",{attrs:{"align-self":"end"}},[n("span",{staticClass:"app-title mr-2"},[e._v(e._s(e.title))])])],1),e._v(" "),n("v-row",{staticClass:"flex-nowrap",attrs:{dense:""}},e._l(e.menus,(function(t,a){return n("v-menu",{key:a,ref:"topmenu",refInFor:!0,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function({on:a,attrs:s}){return[n("v-btn",e._g(e._b({staticClass:"mx-1 menu-button",attrs:{outlined:"","data-test":e.formatDT(`${e.title} ${t.label}`)}},"v-btn",s,!1),a),[n("span",{domProps:{textContent:e._s(t.label)}}),e._v(" "),n("v-icon",{staticClass:"myicon",attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(a,s){return[a.divider?n("v-divider",{key:s}):a.subMenu&&a.subMenu.length>0?n("div",{key:s},[n("v-menu",{key:e.k,attrs:{"open-on-hover":"","offset-x":"",bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:l}){return[n("v-list-item",e._g(e._b({key:s,attrs:{disabled:a.disabled}},"v-list-item",l,!1),t),[a.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:a.disabled}},[e._v(e._s(a.icon))])],1):e._e(),e._v(" "),a.radio||a.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(a.disabled?"opacity: 0.2":"")},[e._v(e._s(a.label)+"\n ")]),e._v(" "),n("v-icon",[e._v(" mdi-chevron-right ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",e._l(a.subMenu,(function(t,a){return n("v-list-item",{key:a,on:{click:function(n){return e.subMenuClick(t)}}},[t.icon?n("v-list-item-icon",[n("v-icon",[e._v(e._s(t.icon))])],1):e._e(),e._v(" "),n("v-list-item-title",[e._v(e._s(t.label))])],1)})),1)],1)],1):n("v-list-item",{key:s,attrs:{disabled:a.disabled,"data-test":e.formatDT(`${e.title} ${t.label} ${a.label}`)},on:{click:function(e){return a.command(a)}}},[a.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:a.label,value:a.label}})],1):e._e(),e._v(" "),a.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:a.label},model:{value:a.checked,callback:function(n){e.$set(a,"checked",n)},expression:"option.checked"}})],1):e._e(),e._v(" "),a.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:a.disabled}},[e._v(e._s(a.icon))])],1):e._e(),e._v(" "),a.radio||a.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(a.disabled?"opacity: 0.2":"")},[e._v(e._s(a.label))])],1)]}))],2)],1)],1)})),1)],1)},g=[];const C={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()},subMenuClick(e){e.command(e),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},y=C;t(1e3);var x=(0,h.A)(y,b,g,!1,null,"57d4fdd2",null);const k=x.exports;function w(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",n="76cff3f3471b28d9dc01e4a9f9c74180b5cf1087",t=new Function("return this")(),a="__coverage__",s={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",statementMap:{0:{start:{line:11,column:4},end:{line:66,column:5}},1:{start:{line:53,column:16},end:{line:53,column:41}},2:{start:{line:60,column:16},end:{line:60,column:36}},3:{start:{line:69,column:4},end:{line:69,column:30}},4:{start:{line:73,column:6},end:{line:77,column:8}},5:{start:{line:74,column:8},end:{line:76,column:9}},6:{start:{line:74,column:21},end:{line:74,column:22}},7:{start:{line:75,column:10},end:{line:75,column:63}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:67,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:52,column:23},end:{line:52,column:24}},loc:{start:{line:52,column:29},end:{line:54,column:15}},line:52},2:{name:"(anonymous_2)",decl:{start:{line:59,column:23},end:{line:59,column:24}},loc:{start:{line:59,column:29},end:{line:61,column:15}},line:59},3:{name:"(anonymous_3)",decl:{start:{line:68,column:2},end:{line:68,column:3}},loc:{start:{line:68,column:12},end:{line:70,column:3}},line:68},4:{name:"(anonymous_4)",decl:{start:{line:72,column:4},end:{line:72,column:5}},loc:{start:{line:72,column:20},end:{line:78,column:5}},line:72},5:{name:"(anonymous_5)",decl:{start:{line:73,column:42},end:{line:73,column:43}},loc:{start:{line:73,column:56},end:{line:77,column:7}},line:73}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{},inputSourceMap:{version:3,sources:["CmdTlmServer.vue"],names:[],mappings:";AAwEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-expansion-panels v-model=\"panel\">\n <v-expansion-panel>\n <v-expansion-panel-header>\n <v-tabs v-model=\"curTab\" fixed-tabs>\n <v-tab\n v-for=\"(tab, index) in tabs\"\n :key=\"index\"\n :to=\"tab.url\"\n @click.native.stop\n >\n {{ tab.name }}\n </v-tab>\n </v-tabs>\n </v-expansion-panel-header>\n <v-expansion-panel-content>\n <router-view :refresh-interval=\"refreshInterval\" />\n </v-expansion-panel-content>\n </v-expansion-panel>\n </v-expansion-panels>\n </v-card>\n <div style=\"height: 15px\" />\n <log-messages />\n <v-dialog v-model=\"optionsDialog\" max-width=\"300\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span>Options</span>\n <v-spacer />\n </v-system-bar>\n <div class=\"pa-3\">\n <v-text-field\n min=\"0\"\n max=\"10000\"\n step=\"100\"\n type=\"number\"\n label=\"Refresh Interval (ms)\"\n :value=\"refreshInterval\"\n @change=\"refreshInterval = $event\"\n />\n </div>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\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 api: null,\n title: 'CmdTlmServer',\n panel: 0,\n curTab: null,\n tabs: [\n {\n name: 'Interfaces',\n url: '/interfaces',\n },\n {\n name: 'Targets',\n url: '/targets',\n },\n {\n name: 'Cmd packets',\n url: '/cmd-packets',\n },\n {\n name: 'Tlm packets',\n url: '/tlm-packets',\n },\n {\n name: 'Routers',\n url: '/routers',\n },\n {\n name: 'Status',\n url: '/status',\n },\n ],\n updater: null,\n refreshInterval: 1000,\n optionsDialog: false,\n menus: [\n {\n label: 'File',\n items: [\n {\n label: 'Options',\n icon: 'mdi-cog',\n command: () => {\n this.optionsDialog = true\n },\n },\n {\n label: 'Clear Counters',\n icon: 'mdi-eraser',\n command: () => {\n this.clearCounters()\n },\n },\n ],\n },\n ],\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n methods: {\n clearCounters() {\n this.api.get_interface_names().then((response) => {\n for (var i = 0; i < response.length; i++) {\n this.api.interface_cmd(response[i], 'clear_counters')\n }\n })\n },\n },\n}\n<\/script>\n\n<style scoped>\n.v-expansion-panel-content :deep(.v-expansion-panel-content__wrap) {\n padding: 0px;\n}\n.v-list :deep(.v-label) {\n margin-left: 5px;\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n.v-expansion-panel-header {\n min-height: initial;\n padding: 0px;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"76cff3f3471b28d9dc01e4a9f9c74180b5cf1087"},l=t[a]||(t[a]={});l[e]&&l[e].hash===n||(l[e]=s);var o=l[e];return w=function(){return o},o}w();const S={components:{LogMessages:_,TopBar:k},data(){return w().f[0]++,w().s[0]++,{api:null,title:"CmdTlmServer",panel:0,curTab:null,tabs:[{name:"Interfaces",url:"/interfaces"},{name:"Targets",url:"/targets"},{name:"Cmd packets",url:"/cmd-packets"},{name:"Tlm packets",url:"/tlm-packets"},{name:"Routers",url:"/routers"},{name:"Status",url:"/status"}],updater:null,refreshInterval:1e3,optionsDialog:!1,menus:[{label:"File",items:[{label:"Options",icon:"mdi-cog",command:()=>{w().f[1]++,w().s[1]++,this.optionsDialog=!0}},{label:"Clear Counters",icon:"mdi-eraser",command:()=>{w().f[2]++,w().s[2]++,this.clearCounters()}}]}]}},created(){w().f[3]++,w().s[3]++,this.api=new o.x},methods:{clearCounters(){w().f[4]++,w().s[4]++,this.api.get_interface_names().then((e=>{w().f[5]++,w().s[5]++;for(var n=(w().s[6]++,0);n<e.length;n++)w().s[7]++,this.api.interface_cmd(e[n],"clear_counters")}))}}},T=S;t(6945);var I=(0,h.A)(T,s,l,!1,null,"17ad97d2",null);const R=I.exports},9353:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(6758),s=t.n(a),l=t(935),o=t.n(l),i=o()(s());i.push([e.id,".v-expansion-panel-content[data-v-17ad97d2] .v-expansion-panel-content__wrap{padding:0}.v-list[data-v-17ad97d2] .v-label{margin-left:5px}.v-list-item__icon[data-v-17ad97d2]{margin-right:15px!important}.v-list-item__title[data-v-17ad97d2]{color:#fff}.v-expansion-panel-header[data-v-17ad97d2]{min-height:auto;padding:0}",""]);const r=i},9808:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var a=t(6758),s=t.n(a),l=t(935),o=t.n(l),i=o()(s());i.push([e.id,".app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}",""]);const r=i},6945:(e,n,t)=>{var a=t(9353);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var s=t(4825).A;s("72dae64f",a,!0,{sourceMap:!1,shadowMode:!1})},1e3:(e,n,t)=>{var a=t(9808);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var s=t(4825).A;s("7de62207",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
2
  //# sourceMappingURL=348.js.map