openc3-cosmos-tool-cmdtlmserver 5.5.2 → 5.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/tools/cmdtlmserver/index.html +1 -4
  3. data/tools/cmdtlmserver/js/264.js +2 -0
  4. data/tools/cmdtlmserver/js/264.js.map +1 -0
  5. data/tools/cmdtlmserver/js/{390.js → 320.js} +2 -2
  6. data/tools/cmdtlmserver/js/{390.js.map → 320.js.map} +1 -1
  7. data/tools/cmdtlmserver/js/{755.js → 377.js} +2 -2
  8. data/tools/cmdtlmserver/js/377.js.map +1 -0
  9. data/tools/cmdtlmserver/js/{558.js → 398.js} +2 -2
  10. data/tools/cmdtlmserver/js/{558.js.map → 398.js.map} +1 -1
  11. data/tools/cmdtlmserver/js/49.js +2 -0
  12. data/tools/cmdtlmserver/js/49.js.map +1 -0
  13. data/tools/cmdtlmserver/js/{721.js → 493.js} +2 -2
  14. data/tools/cmdtlmserver/js/{721.js.map → 493.js.map} +1 -1
  15. data/tools/cmdtlmserver/js/{706.js → 830.js} +2 -2
  16. data/tools/cmdtlmserver/js/{706.js.map → 830.js.map} +1 -1
  17. data/tools/cmdtlmserver/js/872.js +1 -1
  18. data/tools/cmdtlmserver/js/872.js.map +1 -1
  19. data/tools/cmdtlmserver/js/916.js +2 -0
  20. data/tools/cmdtlmserver/js/916.js.map +1 -0
  21. data/tools/cmdtlmserver/js/931.js.map +1 -1
  22. data/tools/cmdtlmserver/js/{521.js → 96.js} +2 -2
  23. data/tools/cmdtlmserver/js/96.js.map +1 -0
  24. data/tools/cmdtlmserver/js/app.js +1 -1
  25. data/tools/cmdtlmserver/js/app.js.map +1 -1
  26. metadata +20 -20
  27. data/tools/cmdtlmserver/js/142.js +0 -2
  28. data/tools/cmdtlmserver/js/142.js.map +0 -1
  29. data/tools/cmdtlmserver/js/521.js.map +0 -1
  30. data/tools/cmdtlmserver/js/53.js +0 -2
  31. data/tools/cmdtlmserver/js/53.js.map +0 -1
  32. data/tools/cmdtlmserver/js/720.js +0 -2
  33. data/tools/cmdtlmserver/js/720.js.map +0 -1
  34. data/tools/cmdtlmserver/js/755.js.map +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90bb9c6d79a439561697dc718a975c399b3191d87969b6b8ff058988e1c6fefc
4
- data.tar.gz: e7826a3b7310c34efa8dbd796bf7fe181e18152315cca3a7782f3354435bad8d
3
+ metadata.gz: d123e63cd0ccce5b7cb5469bf832bfd6ef5cf23a2f309f1b979fd461d77f47dd
4
+ data.tar.gz: 16f21c7feddfbdede75fac83f983d2cddf499c7123852afa10d58ee16a9b55b7
5
5
  SHA512:
6
- metadata.gz: 7badfe56477d951ac9898ed4f44d9d5b109a5e65a0154d8e16859608b2b53d36059e69d490b8174ac51176e34e4206765a5a91874e7d39b04a10089de310e360
7
- data.tar.gz: a8de9bed1a725ea6ea0e6bd40b377c8d2f39ed362244b4b7e399689ca834fe3cf7618e8e1968cfe191eb57f10ede9aef297ba72bd121a92f533f7ff98a73cbb1
6
+ metadata.gz: 5361f1b3714feff64ade5254eb7d4d54dd303e0685d2091bc0b8c3ad902cb515d8929a4ced2111a71fe5ba21cad3da97ae620c19b42fb9c559fac6f66dfdf9ae
7
+ data.tar.gz: 2571dc31726cd2db5281c846fdaeac0ee1e1bafcd7a9c8ea89a0f9ae63a75aaf1d7e466d0b49b81b2fe6ee256e58f4a2044503a5a03d1b62c8ad26d643651ec8
@@ -1,4 +1 @@
1
- <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><main><h1>Your Microfrontend is not here</h1><p>The @openc3/cosmos-tool-cmdtlmserver microfrontend is running in "integrated" mode, since standalone-single-spa-webpack-plugin is disabled. This means that it does not work as a standalone application without changing configuration.</p><h2>How do I develop this microfrontend?</h2><p>To develop this microfrontend, try the following steps:</p><ol><li>Copy the following URL to your clipboard: <a target="_blank" rel="noopener" id="mf-url"></a></li><li>In a new browser tab, go to the your single-spa web app. This is where your "root config" is running. You do not have to run the root config locally if it is already running on a deployed environment - go to the deployed environment directly.</li><li>In the browser console, run <code>localStorage.setItem('devtools', true);</code> Refresh the page.</li><li>A yellowish rectangle should appear at the bottom right of your screen. Click on it. Find the name @openc3/cosmos-tool-cmdtlmserver and click on it. If it is not present, click on Add New Module.</li><li>Paste the URL above into the input that appears. Refresh the page.</li><li>Congrats, your local code is now being used!</li></ol><p></p><p>For further information about "integrated" mode, see the following links:</p><ul><li><a target="_blank" rel="noopener" href="https://single-spa.js.org/docs/recommended-setup#local-development">Local Development Overview</a></li><li><a target="_blank" rel="noopener" href="https://github.com/joeldenning/import-map-overrides">Import Map Overrides Documentation</a></li></ul><p></p><h2>If you prefer Standalone mode</h2><p>To run this microfrontend in "standalone" mode, the standalone-single-spa-webpack-plugin must not be disabled. In some cases, this is done by running <code>npm run start:standalone</code>. Alternatively, you can add <code>--env standalone</code> to your package.json start script if you are using webpack-config-single-spa.</p>If neither of those work for you, see more details about enabling standalone mode at <a target="_blank" rel="noopener" href="https://github.com/single-spa/standalone-single-spa-webpack-plugin">Standalone Plugin Documentation</a>.<p></p><script>const mfLink = document.getElementById('mf-url');
2
- const fullSrc = new URL('/tools/cmdtlmserver//tools/cmdtlmserver/js/app.js', window.location.href);
3
- mfLink.href = fullSrc;
4
- mfLink.textContent = fullSrc;</script></main></head><body><div id="app"></div></body></html>
1
+ <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><script defer="defer" src="/tools/cmdtlmserver/js/app.js"></script></head><body><div id="app"></div></body></html>
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[264],{4264:function(n,e,l){l.r(e),l.d(e,{default:function(){return d}});l(7950),l(4908);function t(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",e="d9f864e6a3b30e32285e633d123a60a00e05db4f",l=new Function("return this")(),o="__coverage__",c={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.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:1024}},4:{start:{line:1,column:323},end:{line:1,column:337}},5:{start:{line:1,column:684},end:{line:1,column:879}},6:{start:{line:1,column:801},end:{line:1,column:835}},7:{start:{line:1,column:926},end:{line:1,column:1014}},8:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:307},end:{line:1,column:308}},loc:{start:{line:1,column:322},end:{line:1,column:338}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:665},end:{line:1,column:666}},loc:{start:{line:1,column:683},end:{line:1,column:880}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:784},end:{line:1,column:785}},loc:{start:{line:1,column:800},end:{line:1,column:836}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:907},end:{line:1,column:908}},loc:{start:{line:1,column:925},end:{line:1,column:1015}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d9f864e6a3b30e32285e633d123a60a00e05db4f"},i=l[o]||(l[o]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return t=function(){return s},s}t(),t().s[0]++;var o=function(){t().f[0]++;var n=(t().s[1]++,this),e=(t().s[2]++,n._self._c);return t().s[3]++,e("v-card",[e("v-card-title",[n._v(" "+n._s(n.data.length)+" Interfaces "),e("v-spacer"),e("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){t().f[1]++,t().s[4]++,n.search=e},expression:"search"}})],1),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"custom-sort":n.sortTable,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"interfaces-table"},scopedSlots:n._u([{key:"item.connect",fn:function(l){var o=l.item;return t().f[2]++,t().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return t().f[3]++,t().s[6]++,n.connectDisconnect(o)}}},[n._v(" "+n._s(o.connect)+" ")])]}},{key:"item.connected",fn:function(l){var o=l.item;return t().f[4]++,t().s[7]++,[e("span",{class:o.connectedClass},[n._v(" "+n._s(o.connected)+" ")])]}}])})],1)},c=(t().s[8]++,[]),i=l(8081),s=(l(1245),l(3430),l(6728),l(4872));function a(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",e="72a4b8a08022c99e4823f1afea8d5a5e9403c090",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",statementMap:{0:{start:{line:11,column:4},end:{line:32,column:5}},1:{start:{line:37,column:6},end:{line:84,column:8}},2:{start:{line:38,column:8},end:{line:83,column:9}},3:{start:{line:38,column:21},end:{line:38,column:22}},4:{start:{line:39,column:23},end:{line:39,column:31}},5:{start:{line:40,column:21},end:{line:40,column:30}},6:{start:{line:42,column:10},end:{line:82,column:11}},7:{start:{line:44,column:12},end:{line:46,column:13}},8:{start:{line:45,column:14},end:{line:45,column:22}},9:{start:{line:47,column:12},end:{line:59,column:13}},10:{start:{line:48,column:14},end:{line:52,column:15}},11:{start:{line:49,column:16},end:{line:49,column:25}},12:{start:{line:51,column:16},end:{line:51,column:24}},13:{start:{line:54,column:14},end:{line:58,column:15}},14:{start:{line:55,column:16},end:{line:55,column:24}},15:{start:{line:57,column:16},end:{line:57,column:25}},16:{start:{line:60,column:17},end:{line:82,column:11}},17:{start:{line:62,column:12},end:{line:64,column:13}},18:{start:{line:63,column:14},end:{line:63,column:22}},19:{start:{line:65,column:12},end:{line:70,column:13}},20:{start:{line:67,column:14},end:{line:67,column:55}},21:{start:{line:69,column:14},end:{line:69,column:55}},22:{start:{line:73,column:12},end:{line:75,column:13}},23:{start:{line:74,column:14},end:{line:74,column:22}},24:{start:{line:76,column:12},end:{line:81,column:13}},25:{start:{line:78,column:14},end:{line:78,column:42}},26:{start:{line:80,column:14},end:{line:80,column:42}},27:{start:{line:85,column:6},end:{line:85,column:18}},28:{start:{line:88,column:6},end:{line:88,column:33}},29:{start:{line:89,column:6},end:{line:93,column:7}},30:{start:{line:90,column:8},end:{line:90,column:45}},31:{start:{line:92,column:8},end:{line:92,column:48}},32:{start:{line:96,column:6},end:{line:96,column:43}},33:{start:{line:96,column:37},end:{line:96,column:43}},34:{start:{line:97,column:6},end:{line:127,column:8}},35:{start:{line:98,column:8},end:{line:98,column:22}},36:{start:{line:99,column:8},end:{line:125,column:9}},37:{start:{line:100,column:24},end:{line:100,column:28}},38:{start:{line:101,column:31},end:{line:101,column:35}},39:{start:{line:102,column:10},end:{line:111,column:11}},40:{start:{line:103,column:12},end:{line:103,column:31}},41:{start:{line:104,column:12},end:{line:104,column:43}},42:{start:{line:105,column:17},end:{line:111,column:11}},43:{start:{line:106,column:12},end:{line:106,column:34}},44:{start:{line:107,column:12},end:{line:107,column:43}},45:{start:{line:109,column:12},end:{line:109,column:30}},46:{start:{line:110,column:12},end:{line:110,column:41}},47:{start:{line:112,column:10},end:{line:124,column:12}},48:{start:{line:126,column:8},end:{line:126,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:33,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:36},end:{line:86,column:5}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:37,column:17},end:{line:37,column:18}},loc:{start:{line:37,column:27},end:{line:84,column:7}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:87,column:4},end:{line:87,column:5}},loc:{start:{line:87,column:28},end:{line:94,column:5}},line:87},4:{name:"(anonymous_4)",decl:{start:{line:95,column:4},end:{line:95,column:5}},loc:{start:{line:95,column:13},end:{line:128,column:5}},line:95},5:{name:"(anonymous_5)",decl:{start:{line:97,column:45},end:{line:97,column:46}},loc:{start:{line:97,column:55},end:{line:127,column:7}},line:97}},branchMap:{0:{loc:{start:{line:42,column:10},end:{line:82,column:11}},type:"if",locations:[{start:{line:42,column:10},end:{line:82,column:11}},{start:{line:60,column:17},end:{line:82,column:11}}],line:42},1:{loc:{start:{line:44,column:12},end:{line:46,column:13}},type:"if",locations:[{start:{line:44,column:12},end:{line:46,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},2:{loc:{start:{line:47,column:12},end:{line:59,column:13}},type:"if",locations:[{start:{line:47,column:12},end:{line:59,column:13}},{start:{line:53,column:19},end:{line:59,column:13}}],line:47},3:{loc:{start:{line:48,column:14},end:{line:52,column:15}},type:"if",locations:[{start:{line:48,column:14},end:{line:52,column:15}},{start:{line:50,column:21},end:{line:52,column:15}}],line:48},4:{loc:{start:{line:54,column:14},end:{line:58,column:15}},type:"if",locations:[{start:{line:54,column:14},end:{line:58,column:15}},{start:{line:56,column:21},end:{line:58,column:15}}],line:54},5:{loc:{start:{line:60,column:17},end:{line:82,column:11}},type:"if",locations:[{start:{line:60,column:17},end:{line:82,column:11}},{start:{line:71,column:17},end:{line:82,column:11}}],line:60},6:{loc:{start:{line:62,column:12},end:{line:64,column:13}},type:"if",locations:[{start:{line:62,column:12},end:{line:64,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:62},7:{loc:{start:{line:65,column:12},end:{line:70,column:13}},type:"if",locations:[{start:{line:65,column:12},end:{line:70,column:13}},{start:{line:68,column:19},end:{line:70,column:13}}],line:65},8:{loc:{start:{line:73,column:12},end:{line:75,column:13}},type:"if",locations:[{start:{line:73,column:12},end:{line:75,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},9:{loc:{start:{line:76,column:12},end:{line:81,column:13}},type:"if",locations:[{start:{line:76,column:12},end:{line:81,column:13}},{start:{line:79,column:19},end:{line:81,column:13}}],line:76},10:{loc:{start:{line:89,column:6},end:{line:93,column:7}},type:"if",locations:[{start:{line:89,column:6},end:{line:93,column:7}},{start:{line:91,column:13},end:{line:93,column:7}}],line:89},11:{loc:{start:{line:96,column:6},end:{line:96,column:43}},type:"if",locations:[{start:{line:96,column:6},end:{line:96,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:96},12:{loc:{start:{line:102,column:10},end:{line:111,column:11}},type:"if",locations:[{start:{line:102,column:10},end:{line:111,column:11}},{start:{line:105,column:17},end:{line:111,column:11}}],line:102},13:{loc:{start:{line:105,column:17},end:{line:111,column:11}},type:"if",locations:[{start:{line:105,column:17},end:{line:111,column:11}},{start:{line:108,column:17},end:{line:111,column:11}}],line:105}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0]},inputSourceMap:{version:3,sources:["InterfacesTab.vue"],names:[],mappings:";AAkEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"InterfacesTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Interfaces\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"interfaces-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_interface(item.name)\n } else {\n this.api.disconnect_interface(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_interface_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"72a4b8a08022c99e4823f1afea8d5a5e9403c090"},c=l[t]||(l[t]={});c[n]&&c[n].hash===e||(c[n]=o);var i=c[n];return a=function(){return i},i}a();var u={mixins:[s.Z],props:{tabId:Number,curTab:Number},data:function(){return a().f[0]++,a().s[0]++,{search:"",data:[],buttonsDisabled:!1,headers:[{text:"Name",value:"name"},{text:"Connect / Disconnect",value:"connect",sortable:!1,filterable:!1},{text:"Connected",value:"connected"},{text:"Clients",value:"clients"},{text:"Tx Q Size",value:"tx_q_size"},{text:"Rx Q Size",value:"rx_q_size"},{text:"Tx Bytes",value:"tx_bytes"},{text:"Rx Bytes",value:"rx_bytes"},{text:"Cmd Pkts",value:"cmd_pkts"},{text:"Tlm Pkts",value:"tlm_pkts"}]}},methods:{sortTable:function(n,e,l){return a().f[1]++,a().s[1]++,n.sort((function(n,t){a().f[2]++,a().s[2]++;for(var o=(a().s[3]++,0);o<e.length;o++){var c=(a().s[4]++,e[o]),i=(a().s[5]++,l[o]);if(a().s[6]++,"connected"===c){if(a().b[0][0]++,a().s[7]++,n[c]===t[c]){a().b[1][0]++,a().s[8]++;continue}return a().b[1][1]++,a().s[9]++,i?(a().b[2][1]++,a().s[13]++,"CONNECTED"===n[c]?(a().b[4][0]++,a().s[14]++,1):(a().b[4][1]++,a().s[15]++,-1)):(a().b[2][0]++,a().s[10]++,"CONNECTED"===n[c]?(a().b[3][0]++,a().s[11]++,-1):(a().b[3][1]++,a().s[12]++,1))}if(a().b[0][1]++,a().s[16]++,"name"===c){if(a().b[5][0]++,a().s[17]++,n[c]===t[c]){a().b[6][0]++,a().s[18]++;continue}return a().b[6][1]++,a().s[19]++,i?(a().b[7][1]++,a().s[21]++,t[c].localeCompare(n[c])):(a().b[7][0]++,a().s[20]++,n[c].localeCompare(t[c]))}if(a().b[5][1]++,a().s[22]++,n[c]!==t[c])return a().b[8][1]++,a().s[24]++,i?(a().b[9][1]++,a().s[26]++,t[c]-n[c]):(a().b[9][0]++,a().s[25]++,n[c]-t[c]);a().b[8][0]++,a().s[23]++}})),a().s[27]++,n},connectDisconnect:function(n){a().f[3]++,a().s[28]++,this.buttonsDisabled=!0,a().s[29]++,"DISCONNECTED"===n.connected?(a().b[10][0]++,a().s[30]++,this.api.connect_interface(n.name)):(a().b[10][1]++,a().s[31]++,this.api.disconnect_interface(n.name))},update:function(){var n=this;if(a().f[4]++,a().s[32]++,this.tabId!=this.curTab)return a().b[11][0]++,void a().s[33]++;a().b[11][1]++,a().s[34]++,this.api.get_all_interface_info().then((function(e){a().f[5]++,a().s[35]++,n.data=[],a().s[36]++;var l,t=(0,i.Z)(e);try{for(t.s();!(l=t.n()).done;){var o=l.value,c=(a().s[37]++,null),s=(a().s[38]++,null);a().s[39]++,"DISCONNECTED"==o[1]?(a().b[12][0]++,a().s[40]++,c="Connect",a().s[41]++,s="openc3-white"):(a().b[12][1]++,a().s[42]++,"CONNECTED"==o[1]?(a().b[13][0]++,a().s[43]++,c="Disconnect",a().s[44]++,s="openc3-green"):(a().b[13][1]++,a().s[45]++,c="Cancel",a().s[46]++,s="openc3-red")),a().s[47]++,n.data.push({name:o[0],connect:c,connectedClass:s,connected:o[1],clients:o[2],tx_q_size:o[3],rx_q_size:o[4],tx_bytes:o[5],rx_bytes:o[6],cmd_pkts:o[7],tlm_pkts:o[8]})}}catch(u){t.e(u)}finally{t.f()}a().s[48]++,n.buttonsDisabled=!1}))}}},r=u,m=l(3483),A=(0,m.Z)(r,o,c,!1,null,null,null),d=A.exports},8081:function(n,e,l){l.d(e,{Z:function(){return o}});l(4115),l(634),l(8188),l(796),l(8673),l(6886),l(1372);var t=l(1059);function o(n,e){var l="undefined"!==typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!l){if(Array.isArray(n)||(l=(0,t.Z)(n))||e&&n&&"number"===typeof n.length){l&&(n=l);var o=0,c=function(){};return{s:c,n:function(){return o>=n.length?{done:!0}:{done:!1,value:n[o++]}},e:function(n){throw n},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,a=!1;return{s:function(){l=l.call(n)},n:function(){var n=l.next();return s=n.done,n},e:function(n){a=!0,i=n},f:function(){try{s||null==l["return"]||l["return"]()}finally{if(a)throw i}}}}}}]);
2
+ //# sourceMappingURL=264.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/264.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue?61cb","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue?cd05","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Interfaces \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"custom-sort\":_vm.sortTable,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"interfaces-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":_vm.buttonsDisabled},on:{\"click\":function($event){return _vm.connectDisconnect(item)}}},[_vm._v(\" \"+_vm._s(item.connect)+\" \")])]}},{key:\"item.connected\",fn:function({ item }){return [_c('span',{class:item.connectedClass},[_vm._v(\" \"+_vm._s(item.connected)+\" \")])]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Interfaces\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"interfaces-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :class=\"item.connectedClass\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_interface(item.name)\n } else {\n this.api.disconnect_interface(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_interface_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connectedClass = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connectedClass = 'openc3-white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connectedClass = 'openc3-green'\n } else {\n connect = 'Cancel'\n connectedClass = 'openc3-red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connectedClass: connectedClass,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InterfacesTab.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!./InterfacesTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterfacesTab.vue?vue&type=template&id=d28db9be&\"\nimport script from \"./InterfacesTab.vue?vue&type=script&lang=js&\"\nexport * from \"./InterfacesTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["cov_z1n112vt","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","attrs","model","value","search","callback","$$v","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","_ref","item","buttonsDisabled","on","$event","connectDisconnect","connect","_ref2","class","connectedClass","connected","staticRenderFns","mixins","Updater","props","tabId","Number","curTab","text","sortable","filterable","methods","items","index","isDesc","sort","a","b","i","column","desc","localeCompare","api","connect_interface","name","disconnect_interface","update","_this","get_all_interface_info","then","info","_step","_iterator","_createForOfIteratorHelper","n","done","int","push","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","err","e","component","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","F","_e","TypeError","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[390],{8390:function(n,e,t){"use strict";t.d(e,{Z:function(){return A}});t(4083);function l(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="853a91e0ae78f53288b053e75c6209d163e3e6d4",t=new Function("return this")(),i="__coverage__",o={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:2136}},4:{start:{line:1,column:137},end:{line:1,column:241}},5:{start:{line:1,column:229},end:{line:1,column:241}},6:{start:{line:1,column:241},end:{line:1,column:262}},7:{start:{line:1,column:319},end:{line:1,column:336}},8:{start:{line:1,column:493},end:{line:1,column:662}},9:{start:{line:1,column:874},end:{line:1,column:1042}},10:{start:{line:1,column:1268},end:{line:1,column:1463}},11:{start:{line:1,column:2084},end:{line:1,column:2099}},12:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:120},end:{line:1,column:121}},loc:{start:{line:1,column:136},end:{line:1,column:263}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:303},end:{line:1,column:304}},loc:{start:{line:1,column:318},end:{line:1,column:337}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:469},end:{line:1,column:470}},loc:{start:{line:1,column:492},end:{line:1,column:663}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:850},end:{line:1,column:851}},loc:{start:{line:1,column:873},end:{line:1,column:1043}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1244},end:{line:1,column:1245}},loc:{start:{line:1,column:1267},end:{line:1,column:1464}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2068},end:{line:1,column:2069}},loc:{start:{line:1,column:2083},end:{line:1,column:2100}},line:1}},branchMap:{0:{loc:{start:{line:1,column:137},end:{line:1,column:241}},type:"if",locations:[{start:{line:1,column:137},end:{line:1,column:241}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:1},1:{loc:{start:{line:1,column:140},end:{line:1,column:228}},type:"binary-expr",locations:[{start:{line:1,column:140},end:{line:1,column:167}},{start:{line:1,column:169},end:{line:1,column:228}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"853a91e0ae78f53288b053e75c6209d163e3e6d4"},a=t[i]||(t[i]={});a[n]&&a[n].hash===e||(a[n]=o);var c=a[n];return l=function(){return c},c}l(),l().s[0]++;var i=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("v-dialog",{attrs:{width:"790px"},on:{keydown:function(e){if(l().f[1]++,l().s[4]++,l().b[1][0]++,!e.type.indexOf("key")&&(l().b[1][1]++,n._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])))return l().b[0][0]++,l().s[5]++,null;l().b[0][1]++,l().s[6]++,n.isVisible=!1}},model:{value:n.isVisible,callback:function(e){l().f[2]++,l().s[7]++,n.isVisible=e},expression:"isVisible"}},[e("v-card",[e("v-system-bar",[e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return l().f[3]++,l().s[8]++,[e("div",n._g(n._b({},"div",o,!1),i),[e("v-icon",{attrs:{"data-test":"copy-icon"},on:{click:n.copyRawData}},[n._v(" mdi-content-copy ")])],1)]}}])},[e("span",[n._v(" Copy ")])]),e("v-spacer"),e("span",[n._v(" "+n._s(n.type)+" ")]),e("v-spacer"),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return l().f[4]++,l().s[9]++,[e("div",n._g(n._b({},"div",o,!1),i),[e("v-icon",{attrs:{"data-test":"download"},on:{click:n.downloadRawData}},[n._v(" mdi-download ")])],1)]}}])},[e("span",[n._v(" Download ")])])],1),e("v-card-title",[e("span",[n._v(" "+n._s(n.header)+" ")]),e("v-spacer"),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return l().f[5]++,l().s[10]++,[e("div",n._g(n._b({},"div",o,!1),i),[e("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:n.pause}},[e("v-icon",[n._v(" "+n._s(n.buttonIcon)+" ")])],1)],1)]}}])},[e("span",[n._v(" "+n._s(n.buttonLabel)+" ")])])],1),e("v-card-text",[e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Received Time: ")])]),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedTime)+" ")])])],1),e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Count: ")])]),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedCount)+" ")])])],1),e("v-textarea",{staticClass:"pa-0 ma-0",attrs:{"auto-grow":"",readonly:""},model:{value:n.rawData,callback:function(e){l().f[6]++,l().s[11]++,n.rawData=e},expression:"rawData"}})],1)],1)],1)},o=(l().s[12]++,[]),a=(t(8178),t(8188),t(8673),t(6886),t(4121),t(523),t(1939),t(7789),t(8233),t(9413)),c=t(4872);function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="5089fec28d4524bf316ed8efca2d3374b5072eee",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:15,column:4},end:{line:21,column:5}},1:{start:{line:25,column:6},end:{line:29,column:7}},2:{start:{line:26,column:8},end:{line:26,column:23}},3:{start:{line:28,column:8},end:{line:28,column:22}},4:{start:{line:32,column:6},end:{line:36,column:7}},5:{start:{line:33,column:8},end:{line:33,column:25}},6:{start:{line:35,column:8},end:{line:35,column:26}},7:{start:{line:40,column:8},end:{line:40,column:27}},8:{start:{line:44,column:8},end:{line:44,column:24}},9:{start:{line:45,column:8},end:{line:45,column:30}},10:{start:{line:46,column:8},end:{line:46,column:25}},11:{start:{line:47,column:8},end:{line:47,column:31}},12:{start:{line:48,column:8},end:{line:48,column:27}},13:{start:{line:49,column:8},end:{line:49,column:34}},14:{start:{line:50,column:8},end:{line:50,column:35}},15:{start:{line:56,column:6},end:{line:56,column:113}},16:{start:{line:59,column:6},end:{line:59,column:56}},17:{start:{line:62,column:19},end:{line:64,column:8}},18:{start:{line:66,column:19},end:{line:66,column:46}},19:{start:{line:67,column:6},end:{line:67,column:43}},20:{start:{line:68,column:17},end:{line:68,column:58}},21:{start:{line:69,column:6},end:{line:72,column:7}},22:{start:{line:73,column:6},end:{line:73,column:18}},23:{start:{line:76,column:6},end:{line:76,column:32}},24:{start:{line:79,column:6},end:{line:79,column:48}},25:{start:{line:79,column:42},end:{line:79,column:48}},26:{start:{line:80,column:6},end:{line:80,column:84}},27:{start:{line:82,column:6},end:{line:86,column:7}},28:{start:{line:83,column:8},end:{line:83,column:30}},29:{start:{line:85,column:8},end:{line:85,column:28}},30:{start:{line:89,column:6},end:{line:105,column:10}},31:{start:{line:92,column:28},end:{line:92,column:41}},32:{start:{line:93,column:10},end:{line:98,column:11}},33:{start:{line:94,column:12},end:{line:94,column:41}},34:{start:{line:96,column:29},end:{line:96,column:46}},35:{start:{line:97,column:12},end:{line:97,column:56}},36:{start:{line:99,column:10},end:{line:99,column:61}},37:{start:{line:100,column:10},end:{line:100,column:52}},38:{start:{line:101,column:10},end:{line:104,column:42}},39:{start:{line:108,column:6},end:{line:124,column:10}},40:{start:{line:111,column:28},end:{line:111,column:41}},41:{start:{line:112,column:10},end:{line:117,column:11}},42:{start:{line:113,column:12},end:{line:113,column:41}},43:{start:{line:115,column:29},end:{line:115,column:46}},44:{start:{line:116,column:12},end:{line:116,column:56}},45:{start:{line:118,column:10},end:{line:118,column:61}},46:{start:{line:119,column:10},end:{line:119,column:52}},47:{start:{line:120,column:10},end:{line:123,column:42}},48:{start:{line:128,column:19},end:{line:128,column:21}},49:{start:{line:129,column:18},end:{line:129,column:19}},50:{start:{line:130,column:18},end:{line:130,column:20}},51:{start:{line:131,column:6},end:{line:152,column:8}},52:{start:{line:132,column:8},end:{line:134,column:9}},53:{start:{line:133,column:10},end:{line:133,column:48}},54:{start:{line:135,column:8},end:{line:135,column:35}},55:{start:{line:138,column:8},end:{line:142,column:9}},56:{start:{line:139,column:10},end:{line:139,column:44}},57:{start:{line:141,column:10},end:{line:141,column:22}},58:{start:{line:144,column:8},end:{line:144,column:15}},59:{start:{line:146,column:8},end:{line:151,column:9}},60:{start:{line:147,column:10},end:{line:147,column:39}},61:{start:{line:148,column:10},end:{line:148,column:20}},62:{start:{line:150,column:10},end:{line:150,column:23}},63:{start:{line:157,column:6},end:{line:163,column:7}},64:{start:{line:158,column:30},end:{line:158,column:65}},65:{start:{line:160,column:21},end:{line:160,column:53}},66:{start:{line:161,column:27},end:{line:161,column:56}},67:{start:{line:162,column:8},end:{line:162,column:54}},68:{start:{line:164,column:6},end:{line:164,column:19}},69:{start:{line:167,column:16},end:{line:167,column:32}},70:{start:{line:168,column:6},end:{line:168,column:49}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:9},end:{line:22,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:24,column:17},end:{line:24,column:18}},loc:{start:{line:24,column:29},end:{line:30,column:5}},line:24},2:{name:"(anonymous_2)",decl:{start:{line:31,column:16},end:{line:31,column:17}},loc:{start:{line:31,column:28},end:{line:37,column:5}},line:31},3:{name:"(anonymous_3)",decl:{start:{line:39,column:11},end:{line:39,column:12}},loc:{start:{line:39,column:23},end:{line:41,column:7}},line:39},4:{name:"(anonymous_4)",decl:{start:{line:43,column:11},end:{line:43,column:12}},loc:{start:{line:43,column:27},end:{line:51,column:7}},line:43},5:{name:"(anonymous_5)",decl:{start:{line:55,column:18},end:{line:55,column:19}},loc:{start:{line:55,column:30},end:{line:57,column:5}},line:55},6:{name:"(anonymous_6)",decl:{start:{line:58,column:17},end:{line:58,column:18}},loc:{start:{line:58,column:29},end:{line:60,column:5}},line:58},7:{name:"(anonymous_7)",decl:{start:{line:61,column:21},end:{line:61,column:22}},loc:{start:{line:61,column:33},end:{line:74,column:5}},line:61},8:{name:"(anonymous_8)",decl:{start:{line:75,column:11},end:{line:75,column:12}},loc:{start:{line:75,column:23},end:{line:77,column:5}},line:75},9:{name:"(anonymous_9)",decl:{start:{line:78,column:12},end:{line:78,column:13}},loc:{start:{line:78,column:24},end:{line:87,column:5}},line:78},10:{name:"(anonymous_10)",decl:{start:{line:88,column:21},end:{line:88,column:22}},loc:{start:{line:88,column:33},end:{line:106,column:5}},line:88},11:{name:"(anonymous_11)",decl:{start:{line:91,column:14},end:{line:91,column:15}},loc:{start:{line:91,column:26},end:{line:105,column:9}},line:91},12:{name:"(anonymous_12)",decl:{start:{line:107,column:19},end:{line:107,column:20}},loc:{start:{line:107,column:31},end:{line:125,column:5}},line:107},13:{name:"(anonymous_13)",decl:{start:{line:110,column:14},end:{line:110,column:15}},loc:{start:{line:110,column:26},end:{line:124,column:9}},line:110},14:{name:"(anonymous_14)",decl:{start:{line:127,column:18},end:{line:127,column:19}},loc:{start:{line:127,column:36},end:{line:165,column:5}},line:127},15:{name:"(anonymous_15)",decl:{start:{line:131,column:21},end:{line:131,column:22}},loc:{start:{line:131,column:31},end:{line:152,column:7}},line:131},16:{name:"(anonymous_16)",decl:{start:{line:166,column:4},end:{line:166,column:5}},loc:{start:{line:166,column:27},end:{line:169,column:5}},line:166}},branchMap:{0:{loc:{start:{line:25,column:6},end:{line:29,column:7}},type:"if",locations:[{start:{line:25,column:6},end:{line:29,column:7}},{start:{line:27,column:13},end:{line:29,column:7}}],line:25},1:{loc:{start:{line:32,column:6},end:{line:36,column:7}},type:"if",locations:[{start:{line:32,column:6},end:{line:36,column:7}},{start:{line:34,column:13},end:{line:36,column:7}}],line:32},2:{loc:{start:{line:79,column:6},end:{line:79,column:48}},type:"if",locations:[{start:{line:79,column:6},end:{line:79,column:48}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:79},3:{loc:{start:{line:79,column:10},end:{line:79,column:40}},type:"binary-expr",locations:[{start:{line:79,column:10},end:{line:79,column:25}},{start:{line:79,column:29},end:{line:79,column:40}}],line:79},4:{loc:{start:{line:82,column:6},end:{line:86,column:7}},type:"if",locations:[{start:{line:82,column:6},end:{line:86,column:7}},{start:{line:84,column:13},end:{line:86,column:7}}],line:82},5:{loc:{start:{line:93,column:10},end:{line:98,column:11}},type:"if",locations:[{start:{line:93,column:10},end:{line:98,column:11}},{start:{line:95,column:17},end:{line:98,column:11}}],line:93},6:{loc:{start:{line:112,column:10},end:{line:117,column:11}},type:"if",locations:[{start:{line:112,column:10},end:{line:117,column:11}},{start:{line:114,column:17},end:{line:117,column:11}}],line:112},7:{loc:{start:{line:132,column:8},end:{line:134,column:9}},type:"if",locations:[{start:{line:132,column:8},end:{line:134,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:132},8:{loc:{start:{line:138,column:8},end:{line:142,column:9}},type:"if",locations:[{start:{line:138,column:8},end:{line:142,column:9}},{start:{line:140,column:15},end:{line:142,column:9}}],line:138},9:{loc:{start:{line:138,column:12},end:{line:138,column:37}},type:"binary-expr",locations:[{start:{line:138,column:12},end:{line:138,column:22}},{start:{line:138,column:26},end:{line:138,column:37}}],line:138},10:{loc:{start:{line:146,column:8},end:{line:151,column:9}},type:"if",locations:[{start:{line:146,column:8},end:{line:151,column:9}},{start:{line:149,column:15},end:{line:151,column:9}}],line:146},11:{loc:{start:{line:157,column:6},end:{line:163,column:7}},type:"if",locations:[{start:{line:157,column:6},end:{line:163,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:157},12:{loc:{start:{line:166,column:16},end:{line:166,column:25}},type:"default-arg",locations:[{start:{line:166,column:24},end:{line:166,column:25}}],line:166}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0]},inputSourceMap:{version:3,sources:["RawDialog.vue"],names:[],mappings:";AAwFA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RawDialog.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-dialog v-model=\"isVisible\" @keydown.esc=\"isVisible = false\" width=\"790px\">\n <v-card>\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n },\n methods: {\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n 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.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"5089fec28d4524bf316ed8efca2d3374b5072eee"},o=t[l]||(t[l]={});o[n]&&o[n].hash===e||(o[n]=i);var a=o[n];return s=function(){return a},a}s();var u={mixins:[c.Z],props:{type:String,visible:Boolean,targetName:String,packetName:String},data:function(){return s().f[0]++,s().s[0]++,{header:"",receivedTime:"",rawData:"",paused:!1,receivedCount:""}},computed:{buttonLabel:function(){return s().f[1]++,s().s[1]++,this.paused?(s().b[0][0]++,s().s[2]++,"Resume"):(s().b[0][1]++,s().s[3]++,"Pause")},buttonIcon:function(){return s().f[2]++,s().s[4]++,this.paused?(s().b[1][0]++,s().s[5]++,"mdi-play"):(s().b[1][1]++,s().s[6]++,"mdi-pause")},isVisible:{get:function(){return s().f[3]++,s().s[7]++,this.visible},set:function(n){s().f[4]++,s().s[8]++,this.header="",s().s[9]++,this.receivedTime="",s().s[10]++,this.rawData="",s().s[11]++,this.receivedCount="",s().s[12]++,this.paused=!1,s().s[13]++,this.buttonLabel="Pause",s().s[14]++,this.$emit("display",n)}}},methods:{buildRawData:function(){return s().f[5]++,s().s[15]++,"".concat(this.header,"\nReceived Time: ").concat(this.receivedTime,"\nCount: ").concat(this.receivedCount,"\n").concat(this.rawData)},copyRawData:function(){s().f[6]++,s().s[16]++,navigator.clipboard.writeText(this.buildRawData())},downloadRawData:function(){s().f[7]++;var n=(s().s[17]++,new Blob([this.buildRawData()],{type:"plain/text"})),e=(s().s[18]++,document.createElement("a"));s().s[19]++,e.href=URL.createObjectURL(n);var t=(s().s[20]++,(0,a.Z)(Date.now(),"yyyy_MM_dd_HH_mm_ss"));s().s[21]++,e.setAttribute("download","".concat(t,"_").concat(this.targetName,"_").concat(this.packetName,".txt")),s().s[22]++,e.click()},pause:function(){s().f[8]++,s().s[23]++,this.paused=!this.paused},update:function(){if(s().f[9]++,s().s[24]++,s().b[3][0]++,!this.isVisible||(s().b[3][1]++,this.paused))return s().b[2][0]++,void s().s[25]++;s().b[2][1]++,s().s[26]++,this.header="Raw ".concat(this.type," Packet: ").concat(this.targetName," ").concat(this.packetName),s().s[27]++,"Telemetry"===this.type?(s().b[4][0]++,s().s[28]++,this.updateTelemetry()):(s().b[4][1]++,s().s[29]++,this.updateCommand())},updateTelemetry:function(){var n=this;s().f[10]++,s().s[30]++,this.api.get_tlm_buffer(this.targetName,this.packetName).then((function(e){s().f[11]++;var t=(s().s[31]++,e.buffer);if(s().s[32]++,void 0!==t.raw)s().b[5][0]++,s().s[33]++,t=t.raw;else{s().b[5][1]++;var l=(s().s[34]++,new TextEncoder);s().s[35]++,t=l.encode(t)}s().s[36]++,n.receivedTime=new Date(e.time/1e6),s().s[37]++,n.receivedCount=e.received_count,s().s[38]++,n.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+n.formatBuffer(t)}))},updateCommand:function(){var n=this;s().f[12]++,s().s[39]++,this.api.get_cmd_buffer(this.targetName,this.packetName).then((function(e){s().f[13]++;var t=(s().s[40]++,e.buffer);if(s().s[41]++,void 0!==t.raw)s().b[6][0]++,s().s[42]++,t=t.raw;else{s().b[6][1]++;var l=(s().s[43]++,new TextEncoder);s().s[44]++,t=l.encode(t)}s().s[45]++,n.receivedTime=new Date(e.time/1e6),s().s[46]++,n.receivedCount=e.received_count,s().s[47]++,n.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+n.formatBuffer(t)}))},formatBuffer:function(n){var e=this;s().f[14]++;var t=(s().s[48]++,""),l=(s().s[49]++,0),i=(s().s[50]++,"");if(s().s[51]++,n.forEach((function(n){s().f[15]++,s().s[52]++,l%16===0?(s().b[7][0]++,s().s[53]++,t+=e.numHex(l,8)+": "):s().b[7][1]++,s().s[54]++,t+=e.numHex(n),s().s[55]++,s().b[9][0]++,n>=32&&(s().b[9][1]++,n<=126)?(s().b[8][0]++,s().s[56]++,i+=String.fromCharCode(n)):(s().b[8][1]++,s().s[57]++,i+=" "),s().s[58]++,l++,s().s[59]++,l%16===0?(s().b[10][0]++,s().s[60]++,t+=" "+i+"\n",s().s[61]++,i=""):(s().b[10][1]++,s().s[62]++,t+=" ")})),s().s[63]++,l%16!=0){s().b[11][0]++;var o=(s().s[64]++,l%16-1+l%16*2),a=(s().s[65]++," ".repeat(47-o)),c=(s().s[66]++," ".repeat(16-i.length));s().s[67]++,t+=a+" "+i+c}else s().b[11][1]++;return s().s[68]++,t},numHex:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(s().b[12][0]++,2);s().f[16]++;var t=(s().s[69]++,n.toString(16));return s().s[70]++,"0".repeat(e-t.length)+t}}},r=u,m=(t(4269),t(3287)),d=(0,m.Z)(r,i,o,!1,null,"7b88fb20",null),A=d.exports},2482:function(n,e,t){"use strict";t.r(e);var l=t(3467),i=t.n(l),o=t(8715),a=t.n(o),c=a()(i());c.push([n.id,".v-textarea[data-v-7b88fb20] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}",""]),e["default"]=c},4269:function(n,e,t){var l=t(2482);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[n.id,l,""]]),l.locals&&(n.exports=l.locals);var i=t(3514).Z;i("99dd9964",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
- //# sourceMappingURL=390.js.map
1
+ (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[320],{1320:function(n,e,t){"use strict";t.d(e,{Z:function(){return A}});t(4083);function l(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="853a91e0ae78f53288b053e75c6209d163e3e6d4",t=new Function("return this")(),i="__coverage__",o={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:2136}},4:{start:{line:1,column:137},end:{line:1,column:241}},5:{start:{line:1,column:229},end:{line:1,column:241}},6:{start:{line:1,column:241},end:{line:1,column:262}},7:{start:{line:1,column:319},end:{line:1,column:336}},8:{start:{line:1,column:493},end:{line:1,column:662}},9:{start:{line:1,column:874},end:{line:1,column:1042}},10:{start:{line:1,column:1268},end:{line:1,column:1463}},11:{start:{line:1,column:2084},end:{line:1,column:2099}},12:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:120},end:{line:1,column:121}},loc:{start:{line:1,column:136},end:{line:1,column:263}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:303},end:{line:1,column:304}},loc:{start:{line:1,column:318},end:{line:1,column:337}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:469},end:{line:1,column:470}},loc:{start:{line:1,column:492},end:{line:1,column:663}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:850},end:{line:1,column:851}},loc:{start:{line:1,column:873},end:{line:1,column:1043}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1244},end:{line:1,column:1245}},loc:{start:{line:1,column:1267},end:{line:1,column:1464}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2068},end:{line:1,column:2069}},loc:{start:{line:1,column:2083},end:{line:1,column:2100}},line:1}},branchMap:{0:{loc:{start:{line:1,column:137},end:{line:1,column:241}},type:"if",locations:[{start:{line:1,column:137},end:{line:1,column:241}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:1},1:{loc:{start:{line:1,column:140},end:{line:1,column:228}},type:"binary-expr",locations:[{start:{line:1,column:140},end:{line:1,column:167}},{start:{line:1,column:169},end:{line:1,column:228}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"853a91e0ae78f53288b053e75c6209d163e3e6d4"},a=t[i]||(t[i]={});a[n]&&a[n].hash===e||(a[n]=o);var c=a[n];return l=function(){return c},c}l(),l().s[0]++;var i=function(){l().f[0]++;var n=(l().s[1]++,this),e=(l().s[2]++,n._self._c);return l().s[3]++,e("v-dialog",{attrs:{width:"790px"},on:{keydown:function(e){if(l().f[1]++,l().s[4]++,l().b[1][0]++,!e.type.indexOf("key")&&(l().b[1][1]++,n._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])))return l().b[0][0]++,l().s[5]++,null;l().b[0][1]++,l().s[6]++,n.isVisible=!1}},model:{value:n.isVisible,callback:function(e){l().f[2]++,l().s[7]++,n.isVisible=e},expression:"isVisible"}},[e("v-card",[e("v-system-bar",[e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return l().f[3]++,l().s[8]++,[e("div",n._g(n._b({},"div",o,!1),i),[e("v-icon",{attrs:{"data-test":"copy-icon"},on:{click:n.copyRawData}},[n._v(" mdi-content-copy ")])],1)]}}])},[e("span",[n._v(" Copy ")])]),e("v-spacer"),e("span",[n._v(" "+n._s(n.type)+" ")]),e("v-spacer"),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return l().f[4]++,l().s[9]++,[e("div",n._g(n._b({},"div",o,!1),i),[e("v-icon",{attrs:{"data-test":"download"},on:{click:n.downloadRawData}},[n._v(" mdi-download ")])],1)]}}])},[e("span",[n._v(" Download ")])])],1),e("v-card-title",[e("span",[n._v(" "+n._s(n.header)+" ")]),e("v-spacer"),e("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(t){var i=t.on,o=t.attrs;return l().f[5]++,l().s[10]++,[e("div",n._g(n._b({},"div",o,!1),i),[e("v-btn",{attrs:{icon:"","data-test":"pause"},on:{click:n.pause}},[e("v-icon",[n._v(" "+n._s(n.buttonIcon)+" ")])],1)],1)]}}])},[e("span",[n._v(" "+n._s(n.buttonLabel)+" ")])])],1),e("v-card-text",[e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Received Time: ")])]),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedTime)+" ")])])],1),e("v-row",{attrs:{dense:""}},[e("v-col",{attrs:{cols:"4"}},[e("span",[n._v(" Count: ")])]),e("v-col",{staticClass:"text-right"},[e("span",[n._v(" "+n._s(n.receivedCount)+" ")])])],1),e("v-textarea",{staticClass:"pa-0 ma-0",attrs:{"auto-grow":"",readonly:""},model:{value:n.rawData,callback:function(e){l().f[6]++,l().s[11]++,n.rawData=e},expression:"rawData"}})],1)],1)],1)},o=(l().s[12]++,[]),a=(t(8178),t(8188),t(8673),t(6886),t(4121),t(523),t(1939),t(7789),t(8233),t(9413)),c=t(4872);function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",e="5089fec28d4524bf316ed8efca2d3374b5072eee",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue",statementMap:{0:{start:{line:15,column:4},end:{line:21,column:5}},1:{start:{line:25,column:6},end:{line:29,column:7}},2:{start:{line:26,column:8},end:{line:26,column:23}},3:{start:{line:28,column:8},end:{line:28,column:22}},4:{start:{line:32,column:6},end:{line:36,column:7}},5:{start:{line:33,column:8},end:{line:33,column:25}},6:{start:{line:35,column:8},end:{line:35,column:26}},7:{start:{line:40,column:8},end:{line:40,column:27}},8:{start:{line:44,column:8},end:{line:44,column:24}},9:{start:{line:45,column:8},end:{line:45,column:30}},10:{start:{line:46,column:8},end:{line:46,column:25}},11:{start:{line:47,column:8},end:{line:47,column:31}},12:{start:{line:48,column:8},end:{line:48,column:27}},13:{start:{line:49,column:8},end:{line:49,column:34}},14:{start:{line:50,column:8},end:{line:50,column:35}},15:{start:{line:56,column:6},end:{line:56,column:113}},16:{start:{line:59,column:6},end:{line:59,column:56}},17:{start:{line:62,column:19},end:{line:64,column:8}},18:{start:{line:66,column:19},end:{line:66,column:46}},19:{start:{line:67,column:6},end:{line:67,column:43}},20:{start:{line:68,column:17},end:{line:68,column:58}},21:{start:{line:69,column:6},end:{line:72,column:7}},22:{start:{line:73,column:6},end:{line:73,column:18}},23:{start:{line:76,column:6},end:{line:76,column:32}},24:{start:{line:79,column:6},end:{line:79,column:48}},25:{start:{line:79,column:42},end:{line:79,column:48}},26:{start:{line:80,column:6},end:{line:80,column:84}},27:{start:{line:82,column:6},end:{line:86,column:7}},28:{start:{line:83,column:8},end:{line:83,column:30}},29:{start:{line:85,column:8},end:{line:85,column:28}},30:{start:{line:89,column:6},end:{line:105,column:10}},31:{start:{line:92,column:28},end:{line:92,column:41}},32:{start:{line:93,column:10},end:{line:98,column:11}},33:{start:{line:94,column:12},end:{line:94,column:41}},34:{start:{line:96,column:29},end:{line:96,column:46}},35:{start:{line:97,column:12},end:{line:97,column:56}},36:{start:{line:99,column:10},end:{line:99,column:61}},37:{start:{line:100,column:10},end:{line:100,column:52}},38:{start:{line:101,column:10},end:{line:104,column:42}},39:{start:{line:108,column:6},end:{line:124,column:10}},40:{start:{line:111,column:28},end:{line:111,column:41}},41:{start:{line:112,column:10},end:{line:117,column:11}},42:{start:{line:113,column:12},end:{line:113,column:41}},43:{start:{line:115,column:29},end:{line:115,column:46}},44:{start:{line:116,column:12},end:{line:116,column:56}},45:{start:{line:118,column:10},end:{line:118,column:61}},46:{start:{line:119,column:10},end:{line:119,column:52}},47:{start:{line:120,column:10},end:{line:123,column:42}},48:{start:{line:128,column:19},end:{line:128,column:21}},49:{start:{line:129,column:18},end:{line:129,column:19}},50:{start:{line:130,column:18},end:{line:130,column:20}},51:{start:{line:131,column:6},end:{line:152,column:8}},52:{start:{line:132,column:8},end:{line:134,column:9}},53:{start:{line:133,column:10},end:{line:133,column:48}},54:{start:{line:135,column:8},end:{line:135,column:35}},55:{start:{line:138,column:8},end:{line:142,column:9}},56:{start:{line:139,column:10},end:{line:139,column:44}},57:{start:{line:141,column:10},end:{line:141,column:22}},58:{start:{line:144,column:8},end:{line:144,column:15}},59:{start:{line:146,column:8},end:{line:151,column:9}},60:{start:{line:147,column:10},end:{line:147,column:39}},61:{start:{line:148,column:10},end:{line:148,column:20}},62:{start:{line:150,column:10},end:{line:150,column:23}},63:{start:{line:157,column:6},end:{line:163,column:7}},64:{start:{line:158,column:30},end:{line:158,column:65}},65:{start:{line:160,column:21},end:{line:160,column:53}},66:{start:{line:161,column:27},end:{line:161,column:56}},67:{start:{line:162,column:8},end:{line:162,column:54}},68:{start:{line:164,column:6},end:{line:164,column:19}},69:{start:{line:167,column:16},end:{line:167,column:32}},70:{start:{line:168,column:6},end:{line:168,column:49}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:9},end:{line:22,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:24,column:17},end:{line:24,column:18}},loc:{start:{line:24,column:29},end:{line:30,column:5}},line:24},2:{name:"(anonymous_2)",decl:{start:{line:31,column:16},end:{line:31,column:17}},loc:{start:{line:31,column:28},end:{line:37,column:5}},line:31},3:{name:"(anonymous_3)",decl:{start:{line:39,column:11},end:{line:39,column:12}},loc:{start:{line:39,column:23},end:{line:41,column:7}},line:39},4:{name:"(anonymous_4)",decl:{start:{line:43,column:11},end:{line:43,column:12}},loc:{start:{line:43,column:27},end:{line:51,column:7}},line:43},5:{name:"(anonymous_5)",decl:{start:{line:55,column:18},end:{line:55,column:19}},loc:{start:{line:55,column:30},end:{line:57,column:5}},line:55},6:{name:"(anonymous_6)",decl:{start:{line:58,column:17},end:{line:58,column:18}},loc:{start:{line:58,column:29},end:{line:60,column:5}},line:58},7:{name:"(anonymous_7)",decl:{start:{line:61,column:21},end:{line:61,column:22}},loc:{start:{line:61,column:33},end:{line:74,column:5}},line:61},8:{name:"(anonymous_8)",decl:{start:{line:75,column:11},end:{line:75,column:12}},loc:{start:{line:75,column:23},end:{line:77,column:5}},line:75},9:{name:"(anonymous_9)",decl:{start:{line:78,column:12},end:{line:78,column:13}},loc:{start:{line:78,column:24},end:{line:87,column:5}},line:78},10:{name:"(anonymous_10)",decl:{start:{line:88,column:21},end:{line:88,column:22}},loc:{start:{line:88,column:33},end:{line:106,column:5}},line:88},11:{name:"(anonymous_11)",decl:{start:{line:91,column:14},end:{line:91,column:15}},loc:{start:{line:91,column:26},end:{line:105,column:9}},line:91},12:{name:"(anonymous_12)",decl:{start:{line:107,column:19},end:{line:107,column:20}},loc:{start:{line:107,column:31},end:{line:125,column:5}},line:107},13:{name:"(anonymous_13)",decl:{start:{line:110,column:14},end:{line:110,column:15}},loc:{start:{line:110,column:26},end:{line:124,column:9}},line:110},14:{name:"(anonymous_14)",decl:{start:{line:127,column:18},end:{line:127,column:19}},loc:{start:{line:127,column:36},end:{line:165,column:5}},line:127},15:{name:"(anonymous_15)",decl:{start:{line:131,column:21},end:{line:131,column:22}},loc:{start:{line:131,column:31},end:{line:152,column:7}},line:131},16:{name:"(anonymous_16)",decl:{start:{line:166,column:4},end:{line:166,column:5}},loc:{start:{line:166,column:27},end:{line:169,column:5}},line:166}},branchMap:{0:{loc:{start:{line:25,column:6},end:{line:29,column:7}},type:"if",locations:[{start:{line:25,column:6},end:{line:29,column:7}},{start:{line:27,column:13},end:{line:29,column:7}}],line:25},1:{loc:{start:{line:32,column:6},end:{line:36,column:7}},type:"if",locations:[{start:{line:32,column:6},end:{line:36,column:7}},{start:{line:34,column:13},end:{line:36,column:7}}],line:32},2:{loc:{start:{line:79,column:6},end:{line:79,column:48}},type:"if",locations:[{start:{line:79,column:6},end:{line:79,column:48}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:79},3:{loc:{start:{line:79,column:10},end:{line:79,column:40}},type:"binary-expr",locations:[{start:{line:79,column:10},end:{line:79,column:25}},{start:{line:79,column:29},end:{line:79,column:40}}],line:79},4:{loc:{start:{line:82,column:6},end:{line:86,column:7}},type:"if",locations:[{start:{line:82,column:6},end:{line:86,column:7}},{start:{line:84,column:13},end:{line:86,column:7}}],line:82},5:{loc:{start:{line:93,column:10},end:{line:98,column:11}},type:"if",locations:[{start:{line:93,column:10},end:{line:98,column:11}},{start:{line:95,column:17},end:{line:98,column:11}}],line:93},6:{loc:{start:{line:112,column:10},end:{line:117,column:11}},type:"if",locations:[{start:{line:112,column:10},end:{line:117,column:11}},{start:{line:114,column:17},end:{line:117,column:11}}],line:112},7:{loc:{start:{line:132,column:8},end:{line:134,column:9}},type:"if",locations:[{start:{line:132,column:8},end:{line:134,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:132},8:{loc:{start:{line:138,column:8},end:{line:142,column:9}},type:"if",locations:[{start:{line:138,column:8},end:{line:142,column:9}},{start:{line:140,column:15},end:{line:142,column:9}}],line:138},9:{loc:{start:{line:138,column:12},end:{line:138,column:37}},type:"binary-expr",locations:[{start:{line:138,column:12},end:{line:138,column:22}},{start:{line:138,column:26},end:{line:138,column:37}}],line:138},10:{loc:{start:{line:146,column:8},end:{line:151,column:9}},type:"if",locations:[{start:{line:146,column:8},end:{line:151,column:9}},{start:{line:149,column:15},end:{line:151,column:9}}],line:146},11:{loc:{start:{line:157,column:6},end:{line:163,column:7}},type:"if",locations:[{start:{line:157,column:6},end:{line:163,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:157},12:{loc:{start:{line:166,column:16},end:{line:166,column:25}},type:"default-arg",locations:[{start:{line:166,column:24},end:{line:166,column:25}}],line:166}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0]},inputSourceMap:{version:3,sources:["RawDialog.vue"],names:[],mappings:";AAwFA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RawDialog.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-dialog v-model=\"isVisible\" @keydown.esc=\"isVisible = false\" width=\"790px\">\n <v-card>\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n },\n methods: {\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n 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.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"5089fec28d4524bf316ed8efca2d3374b5072eee"},o=t[l]||(t[l]={});o[n]&&o[n].hash===e||(o[n]=i);var a=o[n];return s=function(){return a},a}s();var u={mixins:[c.Z],props:{type:String,visible:Boolean,targetName:String,packetName:String},data:function(){return s().f[0]++,s().s[0]++,{header:"",receivedTime:"",rawData:"",paused:!1,receivedCount:""}},computed:{buttonLabel:function(){return s().f[1]++,s().s[1]++,this.paused?(s().b[0][0]++,s().s[2]++,"Resume"):(s().b[0][1]++,s().s[3]++,"Pause")},buttonIcon:function(){return s().f[2]++,s().s[4]++,this.paused?(s().b[1][0]++,s().s[5]++,"mdi-play"):(s().b[1][1]++,s().s[6]++,"mdi-pause")},isVisible:{get:function(){return s().f[3]++,s().s[7]++,this.visible},set:function(n){s().f[4]++,s().s[8]++,this.header="",s().s[9]++,this.receivedTime="",s().s[10]++,this.rawData="",s().s[11]++,this.receivedCount="",s().s[12]++,this.paused=!1,s().s[13]++,this.buttonLabel="Pause",s().s[14]++,this.$emit("display",n)}}},methods:{buildRawData:function(){return s().f[5]++,s().s[15]++,"".concat(this.header,"\nReceived Time: ").concat(this.receivedTime,"\nCount: ").concat(this.receivedCount,"\n").concat(this.rawData)},copyRawData:function(){s().f[6]++,s().s[16]++,navigator.clipboard.writeText(this.buildRawData())},downloadRawData:function(){s().f[7]++;var n=(s().s[17]++,new Blob([this.buildRawData()],{type:"plain/text"})),e=(s().s[18]++,document.createElement("a"));s().s[19]++,e.href=URL.createObjectURL(n);var t=(s().s[20]++,(0,a.Z)(Date.now(),"yyyy_MM_dd_HH_mm_ss"));s().s[21]++,e.setAttribute("download","".concat(t,"_").concat(this.targetName,"_").concat(this.packetName,".txt")),s().s[22]++,e.click()},pause:function(){s().f[8]++,s().s[23]++,this.paused=!this.paused},update:function(){if(s().f[9]++,s().s[24]++,s().b[3][0]++,!this.isVisible||(s().b[3][1]++,this.paused))return s().b[2][0]++,void s().s[25]++;s().b[2][1]++,s().s[26]++,this.header="Raw ".concat(this.type," Packet: ").concat(this.targetName," ").concat(this.packetName),s().s[27]++,"Telemetry"===this.type?(s().b[4][0]++,s().s[28]++,this.updateTelemetry()):(s().b[4][1]++,s().s[29]++,this.updateCommand())},updateTelemetry:function(){var n=this;s().f[10]++,s().s[30]++,this.api.get_tlm_buffer(this.targetName,this.packetName).then((function(e){s().f[11]++;var t=(s().s[31]++,e.buffer);if(s().s[32]++,void 0!==t.raw)s().b[5][0]++,s().s[33]++,t=t.raw;else{s().b[5][1]++;var l=(s().s[34]++,new TextEncoder);s().s[35]++,t=l.encode(t)}s().s[36]++,n.receivedTime=new Date(e.time/1e6),s().s[37]++,n.receivedCount=e.received_count,s().s[38]++,n.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+n.formatBuffer(t)}))},updateCommand:function(){var n=this;s().f[12]++,s().s[39]++,this.api.get_cmd_buffer(this.targetName,this.packetName).then((function(e){s().f[13]++;var t=(s().s[40]++,e.buffer);if(s().s[41]++,void 0!==t.raw)s().b[6][0]++,s().s[42]++,t=t.raw;else{s().b[6][1]++;var l=(s().s[43]++,new TextEncoder);s().s[44]++,t=l.encode(t)}s().s[45]++,n.receivedTime=new Date(e.time/1e6),s().s[46]++,n.receivedCount=e.received_count,s().s[47]++,n.rawData="Address Data Ascii\n---------------------------------------------------------------------------\n"+n.formatBuffer(t)}))},formatBuffer:function(n){var e=this;s().f[14]++;var t=(s().s[48]++,""),l=(s().s[49]++,0),i=(s().s[50]++,"");if(s().s[51]++,n.forEach((function(n){s().f[15]++,s().s[52]++,l%16===0?(s().b[7][0]++,s().s[53]++,t+=e.numHex(l,8)+": "):s().b[7][1]++,s().s[54]++,t+=e.numHex(n),s().s[55]++,s().b[9][0]++,n>=32&&(s().b[9][1]++,n<=126)?(s().b[8][0]++,s().s[56]++,i+=String.fromCharCode(n)):(s().b[8][1]++,s().s[57]++,i+=" "),s().s[58]++,l++,s().s[59]++,l%16===0?(s().b[10][0]++,s().s[60]++,t+=" "+i+"\n",s().s[61]++,i=""):(s().b[10][1]++,s().s[62]++,t+=" ")})),s().s[63]++,l%16!=0){s().b[11][0]++;var o=(s().s[64]++,l%16-1+l%16*2),a=(s().s[65]++," ".repeat(47-o)),c=(s().s[66]++," ".repeat(16-i.length));s().s[67]++,t+=a+" "+i+c}else s().b[11][1]++;return s().s[68]++,t},numHex:function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(s().b[12][0]++,2);s().f[16]++;var t=(s().s[69]++,n.toString(16));return s().s[70]++,"0".repeat(e-t.length)+t}}},r=u,m=(t(298),t(3483)),d=(0,m.Z)(r,i,o,!1,null,"7b88fb20",null),A=d.exports},5910:function(n,e,t){"use strict";t.r(e);var l=t(9601),i=t.n(l),o=t(2609),a=t.n(o),c=a()(i());c.push([n.id,".v-textarea[data-v-7b88fb20] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}",""]),e["default"]=c},298:function(n,e,t){var l=t(5910);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[n.id,l,""]]),l.locals&&(n.exports=l.locals);var i=t(3514).Z;i("0af063f9",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=320.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/390.js","mappings":"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","sources":["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?52c2","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?e1b7","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?be5a","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?4f62"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"790px\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;_vm.isVisible = false}},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-system-bar',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"copy-icon\"},on:{\"click\":_vm.copyRawData}},[_vm._v(\" mdi-content-copy \")])],1)]}}])},[_c('span',[_vm._v(\" Copy \")])]),_c('v-spacer'),_c('span',[_vm._v(\" \"+_vm._s(_vm.type)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"download\"},on:{\"click\":_vm.downloadRawData}},[_vm._v(\" mdi-download \")])],1)]}}])},[_c('span',[_vm._v(\" Download \")])])],1),_c('v-card-title',[_c('span',[_vm._v(\" \"+_vm._s(_vm.header)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])])],1),_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Received Time: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedTime)+\" \")])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Count: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedCount)+\" \")])])],1),_c('v-textarea',{staticClass:\"pa-0 ma-0\",attrs:{\"auto-grow\":\"\",\"readonly\":\"\"},model:{value:(_vm.rawData),callback:function ($$v) {_vm.rawData=$$v},expression:\"rawData\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"isVisible\" @keydown.esc=\"isVisible = false\" width=\"790px\">\n <v-card>\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n },\n methods: {\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n 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.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/cli-service/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/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/cli-service/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=7b88fb20&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=7b88fb20&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b88fb20\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-textarea[data-v-7b88fb20] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}\", \"\"]);\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/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=style&index=0&id=7b88fb20&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(\"99dd9964\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_2gt25r962d","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","on","$event","b","type","indexOf","_k","keyCode","key","isVisible","model","value","callback","$$v","expression","scopedSlots","_u","fn","_ref","_g","_b","copyRawData","_v","_s","_ref2","downloadRawData","header","_ref3","pause","buttonIcon","buttonLabel","staticClass","receivedTime","receivedCount","rawData","staticRenderFns","mixins","Updater","props","String","visible","Boolean","targetName","packetName","data","paused","computed","get","set","bool","$emit","methods","buildRawData","concat","navigator","clipboard","writeText","blob","Blob","link","document","createElement","href","URL","createObjectURL","dt","format","Date","now","setAttribute","click","update","updateTelemetry","updateCommand","_this","api","get_tlm_buffer","then","result","buffer_data","buffer","undefined","raw","utf8Encode","TextEncoder","encode","time","received_count","formatBuffer","_this2","get_cmd_buffer","_this3","string","index","ascii","forEach","byte","numHex","fromCharCode","existing_length","filler","repeat","ascii_filler","length","num","width","arguments","hex","toString","component","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","default","locals","exports","add"],"sourceRoot":""}
1
+ {"version":3,"file":"js/320.js","mappings":"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","sources":["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?82a1","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?b7f3","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?8e5d","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?fab9"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"790px\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;_vm.isVisible = false}},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-system-bar',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"copy-icon\"},on:{\"click\":_vm.copyRawData}},[_vm._v(\" mdi-content-copy \")])],1)]}}])},[_c('span',[_vm._v(\" Copy \")])]),_c('v-spacer'),_c('span',[_vm._v(\" \"+_vm._s(_vm.type)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"download\"},on:{\"click\":_vm.downloadRawData}},[_vm._v(\" mdi-download \")])],1)]}}])},[_c('span',[_vm._v(\" Download \")])])],1),_c('v-card-title',[_c('span',[_vm._v(\" \"+_vm._s(_vm.header)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])])],1),_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Received Time: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedTime)+\" \")])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Count: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedCount)+\" \")])])],1),_c('v-textarea',{staticClass:\"pa-0 ma-0\",attrs:{\"auto-grow\":\"\",\"readonly\":\"\"},model:{value:(_vm.rawData),callback:function ($$v) {_vm.rawData=$$v},expression:\"rawData\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"isVisible\" @keydown.esc=\"isVisible = false\" width=\"790px\">\n <v-card>\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n },\n methods: {\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n 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.v-textarea :deep(textarea) {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@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=7b88fb20&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=7b88fb20&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 \"7b88fb20\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-textarea[data-v-7b88fb20] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}\", \"\"]);\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=7b88fb20&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(\"0af063f9\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_2gt25r962d","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","on","$event","b","type","indexOf","_k","keyCode","key","isVisible","model","value","callback","$$v","expression","scopedSlots","_u","fn","_ref","_g","_b","copyRawData","_v","_s","_ref2","downloadRawData","header","_ref3","pause","buttonIcon","buttonLabel","staticClass","receivedTime","receivedCount","rawData","staticRenderFns","mixins","Updater","props","String","visible","Boolean","targetName","packetName","data","paused","computed","get","set","bool","$emit","methods","buildRawData","concat","navigator","clipboard","writeText","blob","Blob","link","document","createElement","href","URL","createObjectURL","dt","format","Date","now","setAttribute","click","update","updateTelemetry","updateCommand","_this","api","get_tlm_buffer","then","result","buffer_data","buffer","undefined","raw","utf8Encode","TextEncoder","encode","time","received_count","formatBuffer","_this2","get_cmd_buffer","_this3","string","index","ascii","forEach","byte","numHex","fromCharCode","existing_length","filler","repeat","ascii_filler","length","num","width","arguments","hex","toString","component","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","default","locals","exports","add"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[755],{7146:function(t,e,n){"use strict";n.d(e,{ju:function(){return c},zD:function(){return w}});var i={logger:self.console,WebSocket:self.WebSocket},s={log(...t){this.enabled&&(t.push(Date.now()),i.logger.log("[ActionCable]",...t))}};const r=()=>(new Date).getTime(),o=t=>(r()-t)/1e3;class c{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=r(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),s.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=r(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),s.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=r()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,s.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=r(),s.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){const{staleThreshold:t,reconnectionBackoffRate:e}=this.constructor,n=Math.pow(1+e,Math.min(this.reconnectAttempts,10)),i=0===this.reconnectAttempts?1:e,s=i*Math.random();return 1e3*t*n*(1+s)}reconnectIfStale(){this.connectionIsStale()&&(s.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${o(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?s.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${o(this.disconnectedAt)} s`):(s.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return o(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&o(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){"visible"===document.visibilityState&&setTimeout((()=>{!this.connectionIsStale()&&this.connection.isOpen()||(s.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}}c.staleThreshold=6,c.reconnectionBackoffRate=.15;var a={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]};const{message_types:u,protocols:l}=a,h=l.slice(0,l.length-1),d=[].indexOf;class p{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new c(this),this.disconnected=!0}send(t){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(t)),!0)}open(){return this.isActive()?(s.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1):(s.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${l}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new i.WebSocket(this.consumer.url,l),this.installEventHandlers(),this.monitor.start(),!0)}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(s.log(`Reopening WebSocket, current state is ${this.getState()}`),!this.isActive())return this.open();try{return this.close()}catch(t){s.log("Failed to reopen WebSocket",t)}finally{s.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}isProtocolSupported(){return d.call(h,this.getProtocol())>=0}isState(...t){return d.call(t,this.getState())>=0}getState(){if(this.webSocket)for(let t in i.WebSocket)if(i.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase();return null}installEventHandlers(){for(let t in this.events){const e=this.events[t].bind(this);this.webSocket[`on${t}`]=e}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}}p.reopenDelay=500,p.prototype.events={message(t){if(!this.isProtocolSupported())return;const{identifier:e,message:n,reason:i,reconnect:r,type:o}=JSON.parse(t.data);switch(o){case u.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case u.disconnect:return s.log(`Disconnecting. Reason: ${i}`),this.close({allowReconnect:r});case u.ping:return this.monitor.recordPing();case u.confirmation:return this.subscriptions.confirmSubscription(e),this.subscriptions.notify(e,"connected");case u.rejection:return this.subscriptions.reject(e);default:return this.subscriptions.notify(e,"received",n)}},open(){if(s.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return s.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(t){if(s.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){s.log("WebSocket onerror event")}};const g=function(t,e){if(null!=e)for(let n in e){const i=e[n];t[n]=i}return t};class f{constructor(t,e={},n){this.consumer=t,this.identifier=JSON.stringify(e),g(this,n)}perform(t,e={}){return e.action=t,this.send(e)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class m{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){-1==this.pendingSubscriptions.indexOf(t)?(s.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):s.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){s.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((e=>e!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&"function"===typeof this.subscriptions.subscribe&&this.pendingSubscriptions.map((t=>{s.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}}class b{constructor(t){this.consumer=t,this.guarantor=new m(this),this.subscriptions=[]}create(t,e){const n=t,i="object"===typeof n?n:{channel:n},s=new f(this.consumer,i,e);return this.add(s)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((t=>(this.forget(t),this.notify(t,"rejected"),t)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((e=>e!==t)),t}findAll(t){return this.subscriptions.filter((e=>e.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...e){return this.subscriptions.map((n=>this.notify(n,t,...e)))}notify(t,e,...n){let i;return i="string"===typeof t?this.findAll(t):[t],i.map((t=>"function"===typeof t[e]?t[e](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){s.log(`Subscription confirmed ${t}`),this.findAll(t).map((t=>this.guarantor.forget(t)))}sendCommand(t,e){const{identifier:n}=t;return this.consumer.send({command:e,identifier:n})}}class v{constructor(t){this._url=t,this.subscriptions=new b(this),this.connection=new p(this)}get url(){return S(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}}function S(t){if("function"===typeof t&&(t=t()),t&&!/^wss?:/i.test(t)){const e=document.createElement("a");return e.href=t,e.href=e.href,e.protocol=e.protocol.replace("http","ws"),e.href}return t}function w(t=y("url")||a.default_mount_path){return new v(t)}function y(t){const e=document.head.querySelector(`meta[name='action-cable-${t}']`);if(e)return e.getAttribute("content")}},2101:function(t){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},1639:function(t,e,n){"use strict";var i=n(3103),s=n(266),r=n(5968),o=n(8885),c=n(6733),a=n(9650),u=n(8311),l=n(3326),h=n(5300),d=n(3349),p=n(17),g=n(95),f=n(4231),m=g("replace"),b=TypeError,v=r("".indexOf),S=r("".replace),w=r("".slice),y=Math.max,A=function(t,e,n){return n>t.length?-1:""===e?n:v(t,e,n)};i({target:"String",proto:!0},{replaceAll:function(t,e){var n,i,r,g,D,C,T,N,k,$=o(this),_=0,R=0,M="";if(!a(t)){if(n=u(t),n&&(i=l(o(d(t))),!~v(i,"g")))throw b("`.replaceAll` does not allow non-global regexes");if(r=h(t,m),r)return s(r,t,$,e);if(f&&n)return S(l($),t,e)}g=l($),D=l(t),C=c(e),C||(e=l(e)),T=D.length,N=y(1,T),_=A(g,D,0);while(-1!==_)k=C?l(e(D,_,g)):p(D,g,_,[],void 0,e),M+=w(g,R,_)+k,R=_+T,_=A(g,D,_+N);return R<g.length&&(M+=w(g,R)),M}})},4908:function(t,e,n){"use strict";var i=n(266),s=n(4954),r=n(1176),o=n(9650),c=n(8885),a=n(2101),u=n(3326),l=n(5300),h=n(8115);s("search",(function(t,e,n){return[function(e){var n=c(this),s=o(e)?void 0:l(e,t);return s?i(s,e,n):new RegExp(e)[t](u(n))},function(t){var i=r(this),s=u(t),o=n(e,i,s);if(o.done)return o.value;var c=i.lastIndex;a(c,0)||(i.lastIndex=0);var l=h(i,s);return a(i.lastIndex,c)||(i.lastIndex=c),null===l?-1:l.index}]}))},5488:function(t,e,n){"use strict";n.d(e,{Z:function(){return c}});Math.pow(10,8);var i=6e4,s=36e5,r=n(9785),o=n(2765);function c(t,e){var n;(0,r.Z)(1,arguments);var i=(0,o.Z)(null!==(n=null===e||void 0===e?void 0:e.additionalDigits)&&void 0!==n?n:2);if(2!==i&&1!==i&&0!==i)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var s,c=d(t);if(c.date){var a=p(c.date,i);s=g(a.restDateString,a.year)}if(!s||isNaN(s.getTime()))return new Date(NaN);var u,l=s.getTime(),h=0;if(c.time&&(h=m(c.time),isNaN(h)))return new Date(NaN);if(!c.timezone){var f=new Date(l+h),b=new Date(0);return b.setFullYear(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate()),b.setHours(f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds(),f.getUTCMilliseconds()),b}return u=v(c.timezone),isNaN(u)?new Date(NaN):new Date(l+h+u)}var a={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},u=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,l=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,h=/^([+-])(\d{2})(?::?(\d{2}))?$/;function d(t){var e,n={},i=t.split(a.dateTimeDelimiter);if(i.length>2)return n;if(/:/.test(i[0])?e=i[0]:(n.date=i[0],e=i[1],a.timeZoneDelimiter.test(n.date)&&(n.date=t.split(a.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var s=a.timezone.exec(e);s?(n.time=e.replace(s[1],""),n.timezone=s[1]):n.time=e}return n}function p(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),i=t.match(n);if(!i)return{year:NaN,restDateString:""};var s=i[1]?parseInt(i[1]):null,r=i[2]?parseInt(i[2]):null;return{year:null===r?s:100*r,restDateString:t.slice((i[1]||i[2]).length)}}function g(t,e){if(null===e)return new Date(NaN);var n=t.match(u);if(!n)return new Date(NaN);var i=!!n[4],s=f(n[1]),r=f(n[2])-1,o=f(n[3]),c=f(n[4]),a=f(n[5])-1;if(i)return C(e,c,a)?S(e,c,a):new Date(NaN);var l=new Date(0);return A(e,r,o)&&D(e,s)?(l.setUTCFullYear(e,r,Math.max(s,o)),l):new Date(NaN)}function f(t){return t?parseInt(t):1}function m(t){var e=t.match(l);if(!e)return NaN;var n=b(e[1]),r=b(e[2]),o=b(e[3]);return T(n,r,o)?n*s+r*i+1e3*o:NaN}function b(t){return t&&parseFloat(t.replace(",","."))||0}function v(t){if("Z"===t)return 0;var e=t.match(h);if(!e)return 0;var n="+"===e[1]?-1:1,r=parseInt(e[2]),o=e[3]&&parseInt(e[3])||0;return N(r,o)?n*(r*s+o*i):NaN}function S(t,e,n){var i=new Date(0);i.setUTCFullYear(t,0,4);var s=i.getUTCDay()||7,r=7*(e-1)+n+1-s;return i.setUTCDate(i.getUTCDate()+r),i}var w=[31,null,31,30,31,30,31,31,30,31,30,31];function y(t){return t%400===0||t%4===0&&t%100!==0}function A(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(w[e]||(y(t)?29:28))}function D(t,e){return e>=1&&e<=(y(t)?366:365)}function C(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function T(t,e,n){return 24===t?0===e&&0===n:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function N(t,e){return e>=0&&e<=59}}}]);
2
- //# sourceMappingURL=755.js.map
1
+ (self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[377],{7146:function(t,e,n){"use strict";n.d(e,{ju:function(){return c},zD:function(){return w}});var i={logger:self.console,WebSocket:self.WebSocket},s={log(...t){this.enabled&&(t.push(Date.now()),i.logger.log("[ActionCable]",...t))}};const r=()=>(new Date).getTime(),o=t=>(r()-t)/1e3;class c{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=r(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),s.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=r(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),s.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=r()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,s.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=r(),s.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){const{staleThreshold:t,reconnectionBackoffRate:e}=this.constructor,n=Math.pow(1+e,Math.min(this.reconnectAttempts,10)),i=0===this.reconnectAttempts?1:e,s=i*Math.random();return 1e3*t*n*(1+s)}reconnectIfStale(){this.connectionIsStale()&&(s.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${o(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?s.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${o(this.disconnectedAt)} s`):(s.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return o(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&o(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){"visible"===document.visibilityState&&setTimeout((()=>{!this.connectionIsStale()&&this.connection.isOpen()||(s.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}}c.staleThreshold=6,c.reconnectionBackoffRate=.15;var a={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]};const{message_types:u,protocols:l}=a,h=l.slice(0,l.length-1),d=[].indexOf;class p{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new c(this),this.disconnected=!0}send(t){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(t)),!0)}open(){return this.isActive()?(s.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1):(s.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${l}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new i.WebSocket(this.consumer.url,l),this.installEventHandlers(),this.monitor.start(),!0)}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(s.log(`Reopening WebSocket, current state is ${this.getState()}`),!this.isActive())return this.open();try{return this.close()}catch(t){s.log("Failed to reopen WebSocket",t)}finally{s.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}isProtocolSupported(){return d.call(h,this.getProtocol())>=0}isState(...t){return d.call(t,this.getState())>=0}getState(){if(this.webSocket)for(let t in i.WebSocket)if(i.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase();return null}installEventHandlers(){for(let t in this.events){const e=this.events[t].bind(this);this.webSocket[`on${t}`]=e}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}}p.reopenDelay=500,p.prototype.events={message(t){if(!this.isProtocolSupported())return;const{identifier:e,message:n,reason:i,reconnect:r,type:o}=JSON.parse(t.data);switch(o){case u.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case u.disconnect:return s.log(`Disconnecting. Reason: ${i}`),this.close({allowReconnect:r});case u.ping:return this.monitor.recordPing();case u.confirmation:return this.subscriptions.confirmSubscription(e),this.subscriptions.notify(e,"connected");case u.rejection:return this.subscriptions.reject(e);default:return this.subscriptions.notify(e,"received",n)}},open(){if(s.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return s.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(t){if(s.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){s.log("WebSocket onerror event")}};const g=function(t,e){if(null!=e)for(let n in e){const i=e[n];t[n]=i}return t};class f{constructor(t,e={},n){this.consumer=t,this.identifier=JSON.stringify(e),g(this,n)}perform(t,e={}){return e.action=t,this.send(e)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class m{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){-1==this.pendingSubscriptions.indexOf(t)?(s.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):s.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){s.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((e=>e!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&"function"===typeof this.subscriptions.subscribe&&this.pendingSubscriptions.map((t=>{s.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}}class b{constructor(t){this.consumer=t,this.guarantor=new m(this),this.subscriptions=[]}create(t,e){const n=t,i="object"===typeof n?n:{channel:n},s=new f(this.consumer,i,e);return this.add(s)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((t=>(this.forget(t),this.notify(t,"rejected"),t)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((e=>e!==t)),t}findAll(t){return this.subscriptions.filter((e=>e.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...e){return this.subscriptions.map((n=>this.notify(n,t,...e)))}notify(t,e,...n){let i;return i="string"===typeof t?this.findAll(t):[t],i.map((t=>"function"===typeof t[e]?t[e](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){s.log(`Subscription confirmed ${t}`),this.findAll(t).map((t=>this.guarantor.forget(t)))}sendCommand(t,e){const{identifier:n}=t;return this.consumer.send({command:e,identifier:n})}}class v{constructor(t){this._url=t,this.subscriptions=new b(this),this.connection=new p(this)}get url(){return S(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}}function S(t){if("function"===typeof t&&(t=t()),t&&!/^wss?:/i.test(t)){const e=document.createElement("a");return e.href=t,e.href=e.href,e.protocol=e.protocol.replace("http","ws"),e.href}return t}function w(t=y("url")||a.default_mount_path){return new v(t)}function y(t){const e=document.head.querySelector(`meta[name='action-cable-${t}']`);if(e)return e.getAttribute("content")}},2101:function(t){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},9805:function(t,e,n){"use strict";var i=n(3103),s=n(2991),r=n(3231),o=n(3329),c=n(9646),a=n(6554),u=n(3064),l=n(7501),h=n(2324),d=n(9563),p=n(1460),g=p("splice"),f=Math.max,m=Math.min;i({target:"Array",proto:!0,forced:!g},{splice:function(t,e){var n,i,p,g,b,v,S=s(this),w=c(S),y=r(t,w),A=arguments.length;for(0===A?n=i=0:1===A?(n=0,i=w-y):(n=A-2,i=m(f(o(e),0),w-y)),u(w+n-i),p=l(S,i),g=0;g<i;g++)b=y+g,b in S&&h(p,g,S[b]);if(p.length=i,n<i){for(g=y;g<w-i;g++)b=g+i,v=g+n,b in S?S[v]=S[b]:d(S,v);for(g=w;g>w-i+n;g--)d(S,g-1)}else if(n>i)for(g=w-i;g>y;g--)b=g+i-1,v=g+n-1,b in S?S[v]=S[b]:d(S,v);for(g=0;g<n;g++)S[g+y]=arguments[g+2];return a(S,w-i+n),p}})},1639:function(t,e,n){"use strict";var i=n(3103),s=n(266),r=n(5968),o=n(8885),c=n(6733),a=n(9650),u=n(8311),l=n(3326),h=n(5300),d=n(3349),p=n(17),g=n(95),f=n(4231),m=g("replace"),b=TypeError,v=r("".indexOf),S=r("".replace),w=r("".slice),y=Math.max,A=function(t,e,n){return n>t.length?-1:""===e?n:v(t,e,n)};i({target:"String",proto:!0},{replaceAll:function(t,e){var n,i,r,g,D,C,T,N,k,$=o(this),_=0,R=0,M="";if(!a(t)){if(n=u(t),n&&(i=l(o(d(t))),!~v(i,"g")))throw b("`.replaceAll` does not allow non-global regexes");if(r=h(t,m),r)return s(r,t,$,e);if(f&&n)return S(l($),t,e)}g=l($),D=l(t),C=c(e),C||(e=l(e)),T=D.length,N=y(1,T),_=A(g,D,0);while(-1!==_)k=C?l(e(D,_,g)):p(D,g,_,[],void 0,e),M+=w(g,R,_)+k,R=_+T,_=A(g,D,_+N);return R<g.length&&(M+=w(g,R)),M}})},4908:function(t,e,n){"use strict";var i=n(266),s=n(4954),r=n(1176),o=n(9650),c=n(8885),a=n(2101),u=n(3326),l=n(5300),h=n(8115);s("search",(function(t,e,n){return[function(e){var n=c(this),s=o(e)?void 0:l(e,t);return s?i(s,e,n):new RegExp(e)[t](u(n))},function(t){var i=r(this),s=u(t),o=n(e,i,s);if(o.done)return o.value;var c=i.lastIndex;a(c,0)||(i.lastIndex=0);var l=h(i,s);return a(i.lastIndex,c)||(i.lastIndex=c),null===l?-1:l.index}]}))},5488:function(t,e,n){"use strict";n.d(e,{Z:function(){return c}});Math.pow(10,8);var i=6e4,s=36e5,r=n(9785),o=n(2765);function c(t,e){var n;(0,r.Z)(1,arguments);var i=(0,o.Z)(null!==(n=null===e||void 0===e?void 0:e.additionalDigits)&&void 0!==n?n:2);if(2!==i&&1!==i&&0!==i)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var s,c=d(t);if(c.date){var a=p(c.date,i);s=g(a.restDateString,a.year)}if(!s||isNaN(s.getTime()))return new Date(NaN);var u,l=s.getTime(),h=0;if(c.time&&(h=m(c.time),isNaN(h)))return new Date(NaN);if(!c.timezone){var f=new Date(l+h),b=new Date(0);return b.setFullYear(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate()),b.setHours(f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds(),f.getUTCMilliseconds()),b}return u=v(c.timezone),isNaN(u)?new Date(NaN):new Date(l+h+u)}var a={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},u=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,l=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,h=/^([+-])(\d{2})(?::?(\d{2}))?$/;function d(t){var e,n={},i=t.split(a.dateTimeDelimiter);if(i.length>2)return n;if(/:/.test(i[0])?e=i[0]:(n.date=i[0],e=i[1],a.timeZoneDelimiter.test(n.date)&&(n.date=t.split(a.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var s=a.timezone.exec(e);s?(n.time=e.replace(s[1],""),n.timezone=s[1]):n.time=e}return n}function p(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),i=t.match(n);if(!i)return{year:NaN,restDateString:""};var s=i[1]?parseInt(i[1]):null,r=i[2]?parseInt(i[2]):null;return{year:null===r?s:100*r,restDateString:t.slice((i[1]||i[2]).length)}}function g(t,e){if(null===e)return new Date(NaN);var n=t.match(u);if(!n)return new Date(NaN);var i=!!n[4],s=f(n[1]),r=f(n[2])-1,o=f(n[3]),c=f(n[4]),a=f(n[5])-1;if(i)return C(e,c,a)?S(e,c,a):new Date(NaN);var l=new Date(0);return A(e,r,o)&&D(e,s)?(l.setUTCFullYear(e,r,Math.max(s,o)),l):new Date(NaN)}function f(t){return t?parseInt(t):1}function m(t){var e=t.match(l);if(!e)return NaN;var n=b(e[1]),r=b(e[2]),o=b(e[3]);return T(n,r,o)?n*s+r*i+1e3*o:NaN}function b(t){return t&&parseFloat(t.replace(",","."))||0}function v(t){if("Z"===t)return 0;var e=t.match(h);if(!e)return 0;var n="+"===e[1]?-1:1,r=parseInt(e[2]),o=e[3]&&parseInt(e[3])||0;return N(r,o)?n*(r*s+o*i):NaN}function S(t,e,n){var i=new Date(0);i.setUTCFullYear(t,0,4);var s=i.getUTCDay()||7,r=7*(e-1)+n+1-s;return i.setUTCDate(i.getUTCDate()+r),i}var w=[31,null,31,30,31,30,31,31,30,31,30,31];function y(t){return t%400===0||t%4===0&&t%100!==0}function A(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(w[e]||(y(t)?29:28))}function D(t,e){return e>=1&&e<=(y(t)?366:365)}function C(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function T(t,e,n){return 24===t?0===e&&0===n:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function N(t,e){return e>=0&&e<=59}}}]);
2
+ //# sourceMappingURL=377.js.map