openc3-tool-cmdtlmserver 5.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.md ADDED
@@ -0,0 +1,28 @@
1
+ ## OpenC3 Tool CmdTlmServer Plugin
2
+
3
+ [Documentation](https://openc3.com)
4
+
5
+ This plugin provides the CmdTlmServer user interface
6
+
7
+ ## Getting Started
8
+
9
+ 1. At the OpenC3 Admin - Plugins, upload the openc3-tool-cmdtlmserver.gem file
10
+
11
+ ## Contributing
12
+
13
+ We encourage you to contribute to OpenC3!
14
+
15
+ Contributing is easy.
16
+
17
+ 1. Fork the project
18
+ 2. Create a feature branch
19
+ 3. Make your changes
20
+ 4. Submit a pull request
21
+
22
+ Before any contributions can be incorporated we do require all contributors to agree to a Contributor License Agreement
23
+
24
+ This protects both you and us and you retain full rights to any code you write.
25
+
26
+ ## License
27
+
28
+ This OpenC3 plugin is released under the AGPLv3.0 with a few addendums. See [LICENSE.txt](LICENSE.txt)
data/Rakefile ADDED
@@ -0,0 +1,40 @@
1
+ # encoding: ascii-8bit
2
+
3
+ # Copyright 2022 Ball Aerospace & Technologies Corp.
4
+ # All Rights Reserved.
5
+ #
6
+ # This program is free software; you can modify and/or redistribute it
7
+ # under the terms of the GNU Affero General Public License
8
+ # as published by the Free Software Foundation; version 3 with
9
+ # attribution addendums as found in the LICENSE.txt
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU Affero General Public License for more details.
15
+
16
+ # Modified by OpenC3, Inc.
17
+ # All changes Copyright 2022, OpenC3, Inc.
18
+ # All Rights Reserved
19
+
20
+ PLUGIN_NAME = Dir['*.gemspec'][0].split('.')[0..-2].join('.')
21
+
22
+ task :require_version do
23
+ if ENV['VERSION']
24
+ if ENV['VERSION'] =~ /-/
25
+ # Add Timestamp to prerelease versions
26
+ ENV['VERSION'] = ENV['VERSION'] + "." + Time.now.utc.strftime("%Y%m%d%H%M%S")
27
+ end
28
+ else
29
+ puts "VERSION is required: rake <task> VERSION=X.X.X"
30
+ exit 1
31
+ end
32
+ end
33
+
34
+ task :build => [:require_version] do
35
+ _, platform, *_ = RUBY_PLATFORM.split("-")
36
+ if platform == 'mswin32' or platform == 'mingw32'
37
+ puts "Warning: Building gem on Windows will lose file permissions"
38
+ end
39
+ system("gem build #{PLUGIN_NAME}")
40
+ end
data/plugin.txt ADDED
@@ -0,0 +1,3 @@
1
+ TOOL cmdtlmserver CmdTlmServer
2
+ INLINE_URL js/app.js
3
+ ICON $astro-equipment
@@ -0,0 +1,4 @@
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/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/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>
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_openc3_tool_cmdtlmserver"]=self["webpackChunk_openc3_tool_cmdtlmserver"]||[]).push([[117],{8981:function(n,e,l){var t=l(1493);function o(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="8ca17c03f396bd33b473a0b159dc210a869d62ab",l=new Function("return this")(),t="__coverage__",c={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:29,column:4},end:{line:32,column:5}},1:{start:{line:35,column:4},end:{line:35,column:30}},2:{start:{line:38,column:4},end:{line:38,column:24}},3:{start:{line:41,column:4},end:{line:44,column:5}},4:{start:{line:42,column:6},end:{line:42,column:33}},5:{start:{line:43,column:6},end:{line:43,column:25}},6:{start:{line:49,column:6},end:{line:49,column:26}},7:{start:{line:54,column:6},end:{line:57,column:7}},8:{start:{line:55,column:8},end:{line:55,column:35}},9:{start:{line:56,column:8},end:{line:56,column:27}},10:{start:{line:58,column:6},end:{line:60,column:30}},11:{start:{line:59,column:8},end:{line:59,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:28,column:2},end:{line:28,column:3}},loc:{start:{line:28,column:9},end:{line:33,column:3}},line:28},1:{name:"(anonymous_1)",decl:{start:{line:34,column:2},end:{line:34,column:3}},loc:{start:{line:34,column:12},end:{line:36,column:3}},line:34},2:{name:"(anonymous_2)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:18},end:{line:45,column:3}},line:40},4:{name:"(anonymous_4)",decl:{start:{line:48,column:21},end:{line:48,column:22}},loc:{start:{line:48,column:47},end:{line:50,column:5}},line:48},5:{name:"(anonymous_5)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:20},end:{line:61,column:5}},line:53},6:{name:"(anonymous_6)",decl:{start:{line:58,column:33},end:{line:58,column:34}},loc:{start:{line:58,column:39},end:{line:60,column:7}},line:58}},branchMap:{0:{loc:{start:{line:41,column:4},end:{line:44,column:5}},type:"if",locations:[{start:{line:41,column:4},end:{line:44,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},1:{loc:{start:{line:54,column:6},end:{line:57,column:7}},type:"if",locations:[{start:{line:54,column:6},end:{line:57,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:54}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8ca17c03f396bd33b473a0b159dc210a869d62ab"},i=l[t]||(l[t]={});i[n]&&i[n].hash===e||(i[n]=c);var s=i[n];return o=function(){return s},s}o(),e["Z"]={props:{refreshInterval:{default:1e3}},data:function(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created:function(){o().f[1]++,o().s[1]++,this.api=new t.k},mounted:function(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy:function(){o().f[3]++,o().s[3]++,null!=this.updater?(o().b[0][0]++,o().s[4]++,clearInterval(this.updater),o().s[5]++,this.updater=null):o().b[0][1]++},watch:{refreshInterval:function(n,e){o().f[4]++,o().s[6]++,this.changeUpdater()}},methods:{changeUpdater:function(){var n=this;o().f[5]++,o().s[7]++,null!=this.updater?(o().b[1][0]++,o().s[8]++,clearInterval(this.updater),o().s[9]++,this.updater=null):o().b[1][1]++,o().s[10]++,this.updater=setInterval((function(){o().f[6]++,o().s[11]++,n.update()}),this.refreshInterval)}}}},3117:function(n,e,l){l.r(e),l.d(e,{default:function(){return A}});var t=function(){var n=this,e=n.$createElement,l=n._self._c||e;return l("v-card",[l("v-card-title",[n._v(" "+n._s(n.data.length)+" Routers "),l("v-spacer"),l("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){n.search=e},expression:"search"}})],1),l("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"custom-sort":n.sortTable,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"routers-table"},scopedSlots:n._u([{key:"item.connect",fn:function(e){var t=e.item;return[l("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return n.connectDisconnect(t)}}},[n._v(" "+n._s(t.connect)+" ")])]}},{key:"item.connected",fn:function(e){var t=e.item;return[l("span",{style:{color:t.connected_color}},[n._v(" "+n._s(t.connected)+" ")])]}}])})],1)},o=[],c=l(1150),i=(l(1245),l(3430),l(8981));function s(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",e="263bdc51f61dae1efc912820b282d7a3eb1fd168",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue",statementMap:{0:{start:{line:73,column:4},end:{line:94,column:5}},1:{start:{line:99,column:6},end:{line:146,column:8}},2:{start:{line:100,column:8},end:{line:145,column:9}},3:{start:{line:100,column:21},end:{line:100,column:22}},4:{start:{line:101,column:23},end:{line:101,column:31}},5:{start:{line:102,column:21},end:{line:102,column:30}},6:{start:{line:104,column:10},end:{line:144,column:11}},7:{start:{line:106,column:12},end:{line:108,column:13}},8:{start:{line:107,column:14},end:{line:107,column:22}},9:{start:{line:109,column:12},end:{line:121,column:13}},10:{start:{line:110,column:14},end:{line:114,column:15}},11:{start:{line:111,column:16},end:{line:111,column:25}},12:{start:{line:113,column:16},end:{line:113,column:24}},13:{start:{line:116,column:14},end:{line:120,column:15}},14:{start:{line:117,column:16},end:{line:117,column:24}},15:{start:{line:119,column:16},end:{line:119,column:25}},16:{start:{line:122,column:17},end:{line:144,column:11}},17:{start:{line:124,column:12},end:{line:126,column:13}},18:{start:{line:125,column:14},end:{line:125,column:22}},19:{start:{line:127,column:12},end:{line:132,column:13}},20:{start:{line:129,column:14},end:{line:129,column:55}},21:{start:{line:131,column:14},end:{line:131,column:55}},22:{start:{line:135,column:12},end:{line:137,column:13}},23:{start:{line:136,column:14},end:{line:136,column:22}},24:{start:{line:138,column:12},end:{line:143,column:13}},25:{start:{line:140,column:14},end:{line:140,column:42}},26:{start:{line:142,column:14},end:{line:142,column:42}},27:{start:{line:147,column:6},end:{line:147,column:18}},28:{start:{line:150,column:6},end:{line:150,column:33}},29:{start:{line:151,column:6},end:{line:155,column:7}},30:{start:{line:152,column:8},end:{line:152,column:42}},31:{start:{line:154,column:8},end:{line:154,column:45}},32:{start:{line:158,column:6},end:{line:158,column:43}},33:{start:{line:158,column:37},end:{line:158,column:43}},34:{start:{line:159,column:6},end:{line:189,column:8}},35:{start:{line:160,column:8},end:{line:160,column:22}},36:{start:{line:161,column:8},end:{line:187,column:9}},37:{start:{line:162,column:24},end:{line:162,column:28}},38:{start:{line:163,column:32},end:{line:163,column:36}},39:{start:{line:164,column:10},end:{line:173,column:11}},40:{start:{line:165,column:12},end:{line:165,column:31}},41:{start:{line:166,column:12},end:{line:166,column:37}},42:{start:{line:167,column:17},end:{line:173,column:11}},43:{start:{line:168,column:12},end:{line:168,column:34}},44:{start:{line:169,column:12},end:{line:169,column:37}},45:{start:{line:171,column:12},end:{line:171,column:30}},46:{start:{line:172,column:12},end:{line:172,column:35}},47:{start:{line:174,column:10},end:{line:186,column:12}},48:{start:{line:188,column:8},end:{line:188,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:72,column:2},end:{line:72,column:3}},loc:{start:{line:72,column:9},end:{line:95,column:3}},line:72},1:{name:"(anonymous_1)",decl:{start:{line:98,column:4},end:{line:98,column:5}},loc:{start:{line:98,column:36},end:{line:148,column:5}},line:98},2:{name:"(anonymous_2)",decl:{start:{line:99,column:17},end:{line:99,column:18}},loc:{start:{line:99,column:27},end:{line:146,column:7}},line:99},3:{name:"(anonymous_3)",decl:{start:{line:149,column:4},end:{line:149,column:5}},loc:{start:{line:149,column:28},end:{line:156,column:5}},line:149},4:{name:"(anonymous_4)",decl:{start:{line:157,column:4},end:{line:157,column:5}},loc:{start:{line:157,column:13},end:{line:190,column:5}},line:157},5:{name:"(anonymous_5)",decl:{start:{line:159,column:42},end:{line:159,column:43}},loc:{start:{line:159,column:52},end:{line:189,column:7}},line:159}},branchMap:{0:{loc:{start:{line:104,column:10},end:{line:144,column:11}},type:"if",locations:[{start:{line:104,column:10},end:{line:144,column:11}},{start:{line:122,column:17},end:{line:144,column:11}}],line:104},1:{loc:{start:{line:106,column:12},end:{line:108,column:13}},type:"if",locations:[{start:{line:106,column:12},end:{line:108,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:106},2:{loc:{start:{line:109,column:12},end:{line:121,column:13}},type:"if",locations:[{start:{line:109,column:12},end:{line:121,column:13}},{start:{line:115,column:19},end:{line:121,column:13}}],line:109},3:{loc:{start:{line:110,column:14},end:{line:114,column:15}},type:"if",locations:[{start:{line:110,column:14},end:{line:114,column:15}},{start:{line:112,column:21},end:{line:114,column:15}}],line:110},4:{loc:{start:{line:116,column:14},end:{line:120,column:15}},type:"if",locations:[{start:{line:116,column:14},end:{line:120,column:15}},{start:{line:118,column:21},end:{line:120,column:15}}],line:116},5:{loc:{start:{line:122,column:17},end:{line:144,column:11}},type:"if",locations:[{start:{line:122,column:17},end:{line:144,column:11}},{start:{line:133,column:17},end:{line:144,column:11}}],line:122},6:{loc:{start:{line:124,column:12},end:{line:126,column:13}},type:"if",locations:[{start:{line:124,column:12},end:{line:126,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:124},7:{loc:{start:{line:127,column:12},end:{line:132,column:13}},type:"if",locations:[{start:{line:127,column:12},end:{line:132,column:13}},{start:{line:130,column:19},end:{line:132,column:13}}],line:127},8:{loc:{start:{line:135,column:12},end:{line:137,column:13}},type:"if",locations:[{start:{line:135,column:12},end:{line:137,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:135},9:{loc:{start:{line:138,column:12},end:{line:143,column:13}},type:"if",locations:[{start:{line:138,column:12},end:{line:143,column:13}},{start:{line:141,column:19},end:{line:143,column:13}}],line:138},10:{loc:{start:{line:151,column:6},end:{line:155,column:7}},type:"if",locations:[{start:{line:151,column:6},end:{line:155,column:7}},{start:{line:153,column:13},end:{line:155,column:7}}],line:151},11:{loc:{start:{line:158,column:6},end:{line:158,column:43}},type:"if",locations:[{start:{line:158,column:6},end:{line:158,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:158},12:{loc:{start:{line:164,column:10},end:{line:173,column:11}},type:"if",locations:[{start:{line:164,column:10},end:{line:173,column:11}},{start:{line:167,column:17},end:{line:173,column:11}}],line:164},13:{loc:{start:{line:167,column:17},end:{line:173,column:11}},type:"if",locations:[{start:{line:167,column:17},end:{line:173,column:11}},{start:{line:170,column:17},end:{line:173,column:11}}],line:167}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0]},inputSourceMap:{version:3,sources:["RoutersTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"RoutersTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :style=\"{ color: item.connected_color }\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connected_color = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connected_color = 'white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connected_color = 'green'\n } else {\n connect = 'Cancel'\n connected_color = 'red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connected_color: connected_color,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"263bdc51f61dae1efc912820b282d7a3eb1fd168"},c=l[t]||(l[t]={});c[n]&&c[n].hash===e||(c[n]=o);var i=c[n];return s=function(){return i},i}s();var a={mixins:[i.Z],props:{tabId:Number,curTab:Number},data:function(){return s().f[0]++,s().s[0]++,{search:"",data:[],buttonsDisabled:!1,headers:[{text:"Name",value:"name"},{text:"Connect / Disconnect",value:"connect",sortable:!1,filterable:!1},{text:"Connected",value:"connected"},{text:"Clients",value:"clients"},{text:"Tx Q Size",value:"tx_q_size"},{text:"Rx Q Size",value:"rx_q_size"},{text:"Tx Bytes",value:"tx_bytes"},{text:"Rx Bytes",value:"rx_bytes"},{text:"Cmd Pkts",value:"cmd_pkts"},{text:"Tlm Pkts",value:"tlm_pkts"}]}},methods:{sortTable:function(n,e,l){return s().f[1]++,s().s[1]++,n.sort((function(n,t){s().f[2]++,s().s[2]++;for(var o=(s().s[3]++,0);o<e.length;o++){var c=(s().s[4]++,e[o]),i=(s().s[5]++,l[o]);if(s().s[6]++,"connected"===c){if(s().b[0][0]++,s().s[7]++,n[c]===t[c]){s().b[1][0]++,s().s[8]++;continue}return s().b[1][1]++,s().s[9]++,i?(s().b[2][1]++,s().s[13]++,"CONNECTED"===n[c]?(s().b[4][0]++,s().s[14]++,1):(s().b[4][1]++,s().s[15]++,-1)):(s().b[2][0]++,s().s[10]++,"CONNECTED"===n[c]?(s().b[3][0]++,s().s[11]++,-1):(s().b[3][1]++,s().s[12]++,1))}if(s().b[0][1]++,s().s[16]++,"name"===c){if(s().b[5][0]++,s().s[17]++,n[c]===t[c]){s().b[6][0]++,s().s[18]++;continue}return s().b[6][1]++,s().s[19]++,i?(s().b[7][1]++,s().s[21]++,t[c].localeCompare(n[c])):(s().b[7][0]++,s().s[20]++,n[c].localeCompare(t[c]))}if(s().b[5][1]++,s().s[22]++,n[c]!==t[c])return s().b[8][1]++,s().s[24]++,i?(s().b[9][1]++,s().s[26]++,t[c]-n[c]):(s().b[9][0]++,s().s[25]++,n[c]-t[c]);s().b[8][0]++,s().s[23]++}})),s().s[27]++,n},connectDisconnect:function(n){s().f[3]++,s().s[28]++,this.buttonsDisabled=!0,s().s[29]++,"DISCONNECTED"===n.connected?(s().b[10][0]++,s().s[30]++,this.api.connect_router(n.name)):(s().b[10][1]++,s().s[31]++,this.api.disconnect_router(n.name))},update:function(){var n=this;if(s().f[4]++,s().s[32]++,this.tabId!=this.curTab)return s().b[11][0]++,void s().s[33]++;s().b[11][1]++,s().s[34]++,this.api.get_all_router_info().then((function(e){s().f[5]++,s().s[35]++,n.data=[],s().s[36]++;var l,t=(0,c.Z)(e);try{for(t.s();!(l=t.n()).done;){var o=l.value,i=(s().s[37]++,null),a=(s().s[38]++,null);s().s[39]++,"DISCONNECTED"==o[1]?(s().b[12][0]++,s().s[40]++,i="Connect",s().s[41]++,a="white"):(s().b[12][1]++,s().s[42]++,"CONNECTED"==o[1]?(s().b[13][0]++,s().s[43]++,i="Disconnect",s().s[44]++,a="green"):(s().b[13][1]++,s().s[45]++,i="Cancel",s().s[46]++,a="red")),s().s[47]++,n.data.push({name:o[0],connect:i,connected_color:a,connected:o[1],clients:o[2],tx_q_size:o[3],rx_q_size:o[4],tx_bytes:o[5],rx_bytes:o[6],cmd_pkts:o[7],tlm_pkts:o[8]})}}catch(u){t.e(u)}finally{t.f()}s().s[48]++,n.buttonsDisabled=!1}))}}},u=a,r=l(3287),m=(0,r.Z)(u,t,o,!1,null,null,null),A=m.exports},1150: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(4963);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=117.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/117.js","mappings":"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","sources":["webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?1c71","webpack://@openc3/tool-cmdtlmserver/src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue?7bf7","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/RoutersTab.vue","webpack://@openc3/tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Routers \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"custom-sort\":_vm.sortTable,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"routers-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":_vm.buttonsDisabled},on:{\"click\":function($event){return _vm.connectDisconnect(item)}}},[_vm._v(\" \"+_vm._s(item.connect)+\" \")])]}},{key:\"item.connected\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{style:({ color: item.connected_color })},[_vm._v(\" \"+_vm._s(item.connected)+\" \")])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Routers\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"routers-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :style=\"{ color: item.connected_color }\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_router(item.name)\n } else {\n this.api.disconnect_router(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_router_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connected_color = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connected_color = 'white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connected_color = 'green'\n } else {\n connect = 'Cancel'\n connected_color = 'red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connected_color: connected_color,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RoutersTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoutersTab.vue?vue&type=template&id=22def5c2&\"\nimport script from \"./RoutersTab.vue?vue&type=script&lang=js&\"\nexport * from \"./RoutersTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["props","refreshInterval","default","data","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","methods","setInterval","update","render","_vm","_h","$createElement","_c","_self","_v","_s","length","attrs","model","value","callback","$$v","search","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","ref","item","buttonsDisabled","on","$event","connectDisconnect","connect","style","color","connected_color","connected","staticRenderFns","mixins","tabId","curTab","text","sortable","filterable","items","index","isDesc","info","name","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","component","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","done","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self["webpackChunk_openc3_tool_cmdtlmserver"]=self["webpackChunk_openc3_tool_cmdtlmserver"]||[]).push([[208],{8981:function(n,e,l){var t=l(1493);function o(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",e="8ca17c03f396bd33b473a0b159dc210a869d62ab",l=new Function("return this")(),t="__coverage__",c={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:29,column:4},end:{line:32,column:5}},1:{start:{line:35,column:4},end:{line:35,column:30}},2:{start:{line:38,column:4},end:{line:38,column:24}},3:{start:{line:41,column:4},end:{line:44,column:5}},4:{start:{line:42,column:6},end:{line:42,column:33}},5:{start:{line:43,column:6},end:{line:43,column:25}},6:{start:{line:49,column:6},end:{line:49,column:26}},7:{start:{line:54,column:6},end:{line:57,column:7}},8:{start:{line:55,column:8},end:{line:55,column:35}},9:{start:{line:56,column:8},end:{line:56,column:27}},10:{start:{line:58,column:6},end:{line:60,column:30}},11:{start:{line:59,column:8},end:{line:59,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:28,column:2},end:{line:28,column:3}},loc:{start:{line:28,column:9},end:{line:33,column:3}},line:28},1:{name:"(anonymous_1)",decl:{start:{line:34,column:2},end:{line:34,column:3}},loc:{start:{line:34,column:12},end:{line:36,column:3}},line:34},2:{name:"(anonymous_2)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},3:{name:"(anonymous_3)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:18},end:{line:45,column:3}},line:40},4:{name:"(anonymous_4)",decl:{start:{line:48,column:21},end:{line:48,column:22}},loc:{start:{line:48,column:47},end:{line:50,column:5}},line:48},5:{name:"(anonymous_5)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:20},end:{line:61,column:5}},line:53},6:{name:"(anonymous_6)",decl:{start:{line:58,column:33},end:{line:58,column:34}},loc:{start:{line:58,column:39},end:{line:60,column:7}},line:58}},branchMap:{0:{loc:{start:{line:41,column:4},end:{line:44,column:5}},type:"if",locations:[{start:{line:41,column:4},end:{line:44,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},1:{loc:{start:{line:54,column:6},end:{line:57,column:7}},type:"if",locations:[{start:{line:54,column:6},end:{line:57,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:54}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8ca17c03f396bd33b473a0b159dc210a869d62ab"},i=l[t]||(l[t]={});i[n]&&i[n].hash===e||(i[n]=c);var a=i[n];return o=function(){return a},a}o(),e["Z"]={props:{refreshInterval:{default:1e3}},data:function(){return o().f[0]++,o().s[0]++,{updater:null,api:null}},created:function(){o().f[1]++,o().s[1]++,this.api=new t.k},mounted:function(){o().f[2]++,o().s[2]++,this.changeUpdater()},beforeDestroy:function(){o().f[3]++,o().s[3]++,null!=this.updater?(o().b[0][0]++,o().s[4]++,clearInterval(this.updater),o().s[5]++,this.updater=null):o().b[0][1]++},watch:{refreshInterval:function(n,e){o().f[4]++,o().s[6]++,this.changeUpdater()}},methods:{changeUpdater:function(){var n=this;o().f[5]++,o().s[7]++,null!=this.updater?(o().b[1][0]++,o().s[8]++,clearInterval(this.updater),o().s[9]++,this.updater=null):o().b[1][1]++,o().s[10]++,this.updater=setInterval((function(){o().f[6]++,o().s[11]++,n.update()}),this.refreshInterval)}}}},9208:function(n,e,l){l.r(e),l.d(e,{default:function(){return A}});var t=function(){var n=this,e=n.$createElement,l=n._self._c||e;return l("v-card",[l("v-card-title",[n._v(" "+n._s(n.data.length)+" Interfaces "),l("v-spacer"),l("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){n.search=e},expression:"search"}})],1),l("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"custom-sort":n.sortTable,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"interfaces-table"},scopedSlots:n._u([{key:"item.connect",fn:function(e){var t=e.item;return[l("v-btn",{attrs:{block:"",color:"primary",disabled:n.buttonsDisabled},on:{click:function(e){return n.connectDisconnect(t)}}},[n._v(" "+n._s(t.connect)+" ")])]}},{key:"item.connected",fn:function(e){var t=e.item;return[l("span",{style:{color:t.connected_color}},[n._v(" "+n._s(t.connected)+" ")])]}}])})],1)},o=[],c=l(1150),i=(l(1245),l(3430),l(8981));function a(){var n="/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",e="8f28a930336b8a63380fa3f467635f4c5115c021",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue",statementMap:{0:{start:{line:73,column:4},end:{line:94,column:5}},1:{start:{line:99,column:6},end:{line:146,column:8}},2:{start:{line:100,column:8},end:{line:145,column:9}},3:{start:{line:100,column:21},end:{line:100,column:22}},4:{start:{line:101,column:23},end:{line:101,column:31}},5:{start:{line:102,column:21},end:{line:102,column:30}},6:{start:{line:104,column:10},end:{line:144,column:11}},7:{start:{line:106,column:12},end:{line:108,column:13}},8:{start:{line:107,column:14},end:{line:107,column:22}},9:{start:{line:109,column:12},end:{line:121,column:13}},10:{start:{line:110,column:14},end:{line:114,column:15}},11:{start:{line:111,column:16},end:{line:111,column:25}},12:{start:{line:113,column:16},end:{line:113,column:24}},13:{start:{line:116,column:14},end:{line:120,column:15}},14:{start:{line:117,column:16},end:{line:117,column:24}},15:{start:{line:119,column:16},end:{line:119,column:25}},16:{start:{line:122,column:17},end:{line:144,column:11}},17:{start:{line:124,column:12},end:{line:126,column:13}},18:{start:{line:125,column:14},end:{line:125,column:22}},19:{start:{line:127,column:12},end:{line:132,column:13}},20:{start:{line:129,column:14},end:{line:129,column:55}},21:{start:{line:131,column:14},end:{line:131,column:55}},22:{start:{line:135,column:12},end:{line:137,column:13}},23:{start:{line:136,column:14},end:{line:136,column:22}},24:{start:{line:138,column:12},end:{line:143,column:13}},25:{start:{line:140,column:14},end:{line:140,column:42}},26:{start:{line:142,column:14},end:{line:142,column:42}},27:{start:{line:147,column:6},end:{line:147,column:18}},28:{start:{line:150,column:6},end:{line:150,column:33}},29:{start:{line:151,column:6},end:{line:155,column:7}},30:{start:{line:152,column:8},end:{line:152,column:45}},31:{start:{line:154,column:8},end:{line:154,column:48}},32:{start:{line:158,column:6},end:{line:158,column:43}},33:{start:{line:158,column:37},end:{line:158,column:43}},34:{start:{line:159,column:6},end:{line:189,column:8}},35:{start:{line:160,column:8},end:{line:160,column:22}},36:{start:{line:161,column:8},end:{line:187,column:9}},37:{start:{line:162,column:24},end:{line:162,column:28}},38:{start:{line:163,column:32},end:{line:163,column:36}},39:{start:{line:164,column:10},end:{line:173,column:11}},40:{start:{line:165,column:12},end:{line:165,column:31}},41:{start:{line:166,column:12},end:{line:166,column:37}},42:{start:{line:167,column:17},end:{line:173,column:11}},43:{start:{line:168,column:12},end:{line:168,column:34}},44:{start:{line:169,column:12},end:{line:169,column:37}},45:{start:{line:171,column:12},end:{line:171,column:30}},46:{start:{line:172,column:12},end:{line:172,column:35}},47:{start:{line:174,column:10},end:{line:186,column:12}},48:{start:{line:188,column:8},end:{line:188,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:72,column:2},end:{line:72,column:3}},loc:{start:{line:72,column:9},end:{line:95,column:3}},line:72},1:{name:"(anonymous_1)",decl:{start:{line:98,column:4},end:{line:98,column:5}},loc:{start:{line:98,column:36},end:{line:148,column:5}},line:98},2:{name:"(anonymous_2)",decl:{start:{line:99,column:17},end:{line:99,column:18}},loc:{start:{line:99,column:27},end:{line:146,column:7}},line:99},3:{name:"(anonymous_3)",decl:{start:{line:149,column:4},end:{line:149,column:5}},loc:{start:{line:149,column:28},end:{line:156,column:5}},line:149},4:{name:"(anonymous_4)",decl:{start:{line:157,column:4},end:{line:157,column:5}},loc:{start:{line:157,column:13},end:{line:190,column:5}},line:157},5:{name:"(anonymous_5)",decl:{start:{line:159,column:45},end:{line:159,column:46}},loc:{start:{line:159,column:55},end:{line:189,column:7}},line:159}},branchMap:{0:{loc:{start:{line:104,column:10},end:{line:144,column:11}},type:"if",locations:[{start:{line:104,column:10},end:{line:144,column:11}},{start:{line:122,column:17},end:{line:144,column:11}}],line:104},1:{loc:{start:{line:106,column:12},end:{line:108,column:13}},type:"if",locations:[{start:{line:106,column:12},end:{line:108,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:106},2:{loc:{start:{line:109,column:12},end:{line:121,column:13}},type:"if",locations:[{start:{line:109,column:12},end:{line:121,column:13}},{start:{line:115,column:19},end:{line:121,column:13}}],line:109},3:{loc:{start:{line:110,column:14},end:{line:114,column:15}},type:"if",locations:[{start:{line:110,column:14},end:{line:114,column:15}},{start:{line:112,column:21},end:{line:114,column:15}}],line:110},4:{loc:{start:{line:116,column:14},end:{line:120,column:15}},type:"if",locations:[{start:{line:116,column:14},end:{line:120,column:15}},{start:{line:118,column:21},end:{line:120,column:15}}],line:116},5:{loc:{start:{line:122,column:17},end:{line:144,column:11}},type:"if",locations:[{start:{line:122,column:17},end:{line:144,column:11}},{start:{line:133,column:17},end:{line:144,column:11}}],line:122},6:{loc:{start:{line:124,column:12},end:{line:126,column:13}},type:"if",locations:[{start:{line:124,column:12},end:{line:126,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:124},7:{loc:{start:{line:127,column:12},end:{line:132,column:13}},type:"if",locations:[{start:{line:127,column:12},end:{line:132,column:13}},{start:{line:130,column:19},end:{line:132,column:13}}],line:127},8:{loc:{start:{line:135,column:12},end:{line:137,column:13}},type:"if",locations:[{start:{line:135,column:12},end:{line:137,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:135},9:{loc:{start:{line:138,column:12},end:{line:143,column:13}},type:"if",locations:[{start:{line:138,column:12},end:{line:143,column:13}},{start:{line:141,column:19},end:{line:143,column:13}}],line:138},10:{loc:{start:{line:151,column:6},end:{line:155,column:7}},type:"if",locations:[{start:{line:151,column:6},end:{line:155,column:7}},{start:{line:153,column:13},end:{line:155,column:7}}],line:151},11:{loc:{start:{line:158,column:6},end:{line:158,column:43}},type:"if",locations:[{start:{line:158,column:6},end:{line:158,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:158},12:{loc:{start:{line:164,column:10},end:{line:173,column:11}},type:"if",locations:[{start:{line:164,column:10},end:{line:173,column:11}},{start:{line:167,column:17},end:{line:173,column:11}}],line:164},13:{loc:{start:{line:167,column:17},end:{line:173,column:11}},type:"if",locations:[{start:{line:167,column:17},end:{line:173,column:11}},{start:{line:170,column:17},end:{line:173,column:11}}],line:167}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0]},inputSourceMap:{version:3,sources:["InterfacesTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"InterfacesTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Interfaces\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"interfaces-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :style=\"{ color: item.connected_color }\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_interface(item.name)\n } else {\n this.api.disconnect_interface(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_interface_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connected_color = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connected_color = 'white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connected_color = 'green'\n } else {\n connect = 'Cancel'\n connected_color = 'red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connected_color: connected_color,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8f28a930336b8a63380fa3f467635f4c5115c021"},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 s={mixins:[i.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,c.Z)(e);try{for(t.s();!(l=t.n()).done;){var o=l.value,i=(a().s[37]++,null),s=(a().s[38]++,null);a().s[39]++,"DISCONNECTED"==o[1]?(a().b[12][0]++,a().s[40]++,i="Connect",a().s[41]++,s="white"):(a().b[12][1]++,a().s[42]++,"CONNECTED"==o[1]?(a().b[13][0]++,a().s[43]++,i="Disconnect",a().s[44]++,s="green"):(a().b[13][1]++,a().s[45]++,i="Cancel",a().s[46]++,s="red")),a().s[47]++,n.data.push({name:o[0],connect:i,connected_color: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}))}}},u=s,r=l(3287),m=(0,r.Z)(u,t,o,!1,null,null,null),A=m.exports},1150: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(4963);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,a=!0,s=!1;return{s:function(){l=l.call(n)},n:function(){var n=l.next();return a=n.done,n},e:function(n){s=!0,i=n},f:function(){try{a||null==l["return"]||l["return"]()}finally{if(s)throw i}}}}}}]);
2
+ //# sourceMappingURL=208.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/208.js","mappings":"+xFAqBA,QACEA,MAAO,CACLC,gBAAiB,CACfC,QAAS,MAGbC,KANa,WAOX,OADK,sBACE,CACLC,QAAS,KACTC,IAAK,KAER,EACDC,QAZa,WAYH,sBACRC,KAAKF,IAAM,IAAIG,EAAAA,CAChB,EACDC,QAfa,WAeH,sBACRF,KAAKG,eACN,EACDC,cAlBa,WAkBG,sBACM,MAAhBJ,KAAKH,SAAiB,yBACxBQ,cAAcL,KAAKH,SADK,WAExBG,KAAKH,QAAU,MAFjB,aAID,EACDS,MAAO,CAELZ,gBAAiB,SAAUa,EAAQC,GAAQ,sBACzCR,KAAKG,eACN,GAEHM,QAAS,CACPN,cADO,WACS,iCACM,MAAhBH,KAAKH,SAAiB,yBACxBQ,cAAcL,KAAKH,SADK,WAExBG,KAAKH,QAAU,MAFjB,cADc,YAKdG,KAAKH,QAAUa,aAAY,WAAM,uBAC/B,EAAKC,QACN,GAAEX,KAAKN,gBACT,G,oEC5DL,IAAIkB,EAAS,WAAa,IAAIC,EAAIb,KAASc,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACA,EAAG,eAAe,CAACH,EAAIK,GAAG,IAAIL,EAAIM,GAAGN,EAAIjB,KAAKwB,QAAQ,gBAAgBJ,EAAG,YAAYA,EAAG,eAAe,CAACK,MAAM,CAAC,cAAc,cAAc,MAAQ,SAAS,cAAc,GAAG,eAAe,IAAIC,MAAM,CAACC,MAAOV,EAAU,OAAEW,SAAS,SAAUC,GAAMZ,EAAIa,OAAOD,CAAG,EAAEE,WAAW,aAAa,GAAGX,EAAG,eAAe,CAACK,MAAM,CAAC,QAAUR,EAAIe,QAAQ,MAAQf,EAAIjB,KAAK,OAASiB,EAAIa,OAAO,cAAcb,EAAIgB,UAAU,iBAAiB,GAAG,eAAe,CAAEC,oBAAqB,CAAC,GAAI,IAAK,IAAK,mBAAmB,GAAG,aAAa,GAAG,YAAY,oBAAoBC,YAAYlB,EAAImB,GAAG,CAAC,CAACC,IAAI,eAAeC,GAAG,SAASC,GAC/rB,IAAIC,EAAOD,EAAIC,KACf,MAAO,CAACpB,EAAG,QAAQ,CAACK,MAAM,CAAC,MAAQ,GAAG,MAAQ,UAAU,SAAWR,EAAIwB,iBAAiBC,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAO1B,EAAI2B,kBAAkBJ,EAAK,IAAI,CAACvB,EAAIK,GAAG,IAAIL,EAAIM,GAAGiB,EAAKK,SAAS,OAAO,GAAG,CAACR,IAAI,iBAAiBC,GAAG,SAASC,GACxO,IAAIC,EAAOD,EAAIC,KACf,MAAO,CAACpB,EAAG,OAAO,CAAC0B,MAAM,CAAGC,MAAOP,EAAKQ,kBAAoB,CAAC/B,EAAIK,GAAG,IAAIL,EAAIM,GAAGiB,EAAKS,WAAW,OAAO,QAAQ,EAAE,EAC5GC,EAAkB,G,qybC4DtB,OACAC,OAAAA,CAAAA,EAAAA,GACAtD,MAAAA,CACAuD,MAAAA,OACAC,OAAAA,QAEArD,KANA,WAOA,OADA,sBACA,CACA8B,OAAAA,GACA9B,KAAAA,GACAyC,iBAAAA,EACAT,QAAAA,CACA,CAAAsB,KAAAA,OAAA3B,MAAAA,QACA,CACA2B,KAAAA,uBACA3B,MAAAA,UACA4B,UAAAA,EACAC,YAAAA,GAEA,CAAAF,KAAAA,YAAA3B,MAAAA,aACA,CAAA2B,KAAAA,UAAA3B,MAAAA,WACA,CAAA2B,KAAAA,YAAA3B,MAAAA,aACA,CAAA2B,KAAAA,YAAA3B,MAAAA,aACA,CAAA2B,KAAAA,WAAA3B,MAAAA,YACA,CAAA2B,KAAAA,WAAA3B,MAAAA,YACA,CAAA2B,KAAAA,WAAA3B,MAAAA,YACA,CAAA2B,KAAAA,WAAA3B,MAAAA,aAGA,EACAd,QAAAA,CAEAoB,UAFA,SAEAwB,EAAAC,EAAAC,GAiDA,OAjDA,sBACAF,EAAAA,MAAAA,SAAAA,EAAAA,GAAA,sBACA,yCACA,wBACA,oBAEA,GAJA,WAIA,iBAEA,GAFA,yBAEA,sCACA,QACA,CACA,OAHA,cAFA,WAKA,GAMA,0BACA,8CACA,IACA,2BACA,KAVA,0BACA,+CACA,IACA,0BACA,GASA,0CAEA,GAFA,0BAEA,uCACA,QACA,CACA,OAHA,cAFA,YAKA,GAGA,0BACA,2BAJA,0BAEA,yBAIA,CAEA,GAFA,0BAEA,YAGA,OAHA,cAFA,YAKA,GAGA,0BACA,YAJA,0BAEA,WALA,yBAUA,CACA,IAhDA,YAiDA,CACA,EACAb,kBArDA,SAqDAJ,GAAA,uBACA,wBADA,YAEA,yDACA,qCACA,2BACA,sCAEA,EACAzB,OA7DA,WA6DA,WACA,GADA,uBACA,8EADA,YAEA,2EACA,UADA,gBAAI,EAAJ,UAEA6C,GAFA,IAEA,0CACA,qBACA,qBAFA,YAGA,iDACAf,EAAAA,UADA,YAEAG,EAAAA,UACA,yEACAH,EAAAA,aADA,YAEAG,EAAAA,UACA,2BACAH,EAAAA,SADA,YAEAG,EAAAA,QAXA,YAaA,aACAa,KAAAA,EAAAA,GACAhB,QAAAA,EACAG,gBAAAA,EACAC,UAAAA,EAAAA,GACAa,QAAAA,EAAAA,GACAC,UAAAA,EAAAA,GACAC,UAAAA,EAAAA,GACAC,SAAAA,EAAAA,GACAC,SAAAA,EAAAA,GACAC,SAAAA,EAAAA,GACAC,SAAAA,EAAAA,IAEA,CA5BA,2CA6BA,oBACA,GACA,IC7L4X,I,UCOxXC,GAAY,OACd,EACArD,EACAkC,GACA,EACA,KACA,KACA,MAIF,EAAemB,EAAiB,O,2HCjBjB,SAASC,EAA2BC,EAAGC,GACpD,IAAIC,EAAuB,qBAAXC,QAA0BH,EAAEG,OAAOC,WAAaJ,EAAE,cAElE,IAAKE,EAAI,CACP,GAAIG,MAAMC,QAAQN,KAAOE,GAAKK,EAAAA,EAAAA,GAA2BP,KAAOC,GAAkBD,GAAyB,kBAAbA,EAAE/C,OAAqB,CAC/GiD,IAAIF,EAAIE,GACZ,IAAIM,EAAI,EAEJC,EAAI,WAAe,EAEvB,MAAO,CACLC,EAAGD,EACHE,EAAG,WACD,OAAIH,GAAKR,EAAE/C,OAAe,CACxB2D,MAAM,GAED,CACLA,MAAM,EACNxD,MAAO4C,EAAEQ,KAEZ,EACDK,EAAG,SAAWC,GACZ,MAAMA,CACP,EACDC,EAAGN,EAEN,CAED,MAAM,IAAIO,UAAU,wIACrB,CAED,IAEIC,EAFAC,GAAmB,EACnBC,GAAS,EAEb,MAAO,CACLT,EAAG,WACDR,EAAKA,EAAGkB,KAAKpB,EACd,EACDW,EAAG,WACD,IAAIU,EAAOnB,EAAGoB,OAEd,OADAJ,EAAmBG,EAAKT,KACjBS,CACR,EACDR,EAAG,SAAWU,GACZJ,GAAS,EACTF,EAAMM,CACP,EACDR,EAAG,WACD,IACOG,GAAoC,MAAhBhB,EAAG,WAAmBA,EAAG,WAGnD,CAJD,QAGE,GAAIiB,EAAQ,MAAMF,CACnB,CACF,EAEJ,C","sources":["webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue?6862","webpack://@openc3/tool-cmdtlmserver/src/tools/CmdTlmServer/InterfacesTab.vue","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue?9601","webpack://@openc3/tool-cmdtlmserver/./src/tools/CmdTlmServer/InterfacesTab.vue","webpack://@openc3/tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n*/\n\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new OpenC3Api()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Interfaces \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"custom-sort\":_vm.sortTable,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"interfaces-table\"},scopedSlots:_vm._u([{key:\"item.connect\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":_vm.buttonsDisabled},on:{\"click\":function($event){return _vm.connectDisconnect(item)}}},[_vm._v(\" \"+_vm._s(item.connect)+\" \")])]}},{key:\"item.connected\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{style:({ color: item.connected_color })},[_vm._v(\" \"+_vm._s(item.connected)+\" \")])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Interfaces\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :custom-sort=\"sortTable\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"interfaces-table\"\n >\n <template v-slot:item.connect=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"buttonsDisabled\"\n @click=\"connectDisconnect(item)\"\n >\n {{ item.connect }}\n </v-btn>\n </template>\n <template v-slot:item.connected=\"{ item }\">\n <span :style=\"{ color: item.connected_color }\">\n {{ item.connected }}\n </span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n buttonsDisabled: false,\n headers: [\n { text: 'Name', value: 'name' },\n {\n text: 'Connect / Disconnect',\n value: 'connect',\n sortable: false,\n filterable: false,\n },\n { text: 'Connected', value: 'connected' },\n { text: 'Clients', value: 'clients' },\n { text: 'Tx Q Size', value: 'tx_q_size' },\n { text: 'Rx Q Size', value: 'rx_q_size' },\n { text: 'Tx Bytes', value: 'tx_bytes' },\n { text: 'Rx Bytes', value: 'rx_bytes' },\n { text: 'Cmd Pkts', value: 'cmd_pkts' },\n { text: 'Tlm Pkts', value: 'tlm_pkts' },\n ],\n }\n },\n methods: {\n // Custom sort algorithm to allow the connected column to be sorted by CONNECTED first\n sortTable(items, index, isDesc) {\n items.sort((a, b) => {\n for (let i = 0; i < index.length; i++) {\n let column = index[i]\n let desc = isDesc[i]\n\n if (column === 'connected') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n if (a[column] === 'CONNECTED') {\n return -1\n } else {\n return 1\n }\n } else {\n if (a[column] === 'CONNECTED') {\n return 1\n } else {\n return -1\n }\n }\n } else if (column === 'name') {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // Strings so use localeCompare to sort\n return a[column].localeCompare(b[column])\n } else {\n return b[column].localeCompare(a[column])\n }\n } else {\n // Items are the same so continue to let subsequent column sorts apply\n if (a[column] === b[column]) {\n continue\n }\n if (!desc) {\n // The rest of the columns are numbers so just subtract to sort\n return a[column] - b[column]\n } else {\n return b[column] - a[column]\n }\n }\n }\n })\n return items\n },\n connectDisconnect(item) {\n this.buttonsDisabled = true\n if (item.connected === 'DISCONNECTED') {\n this.api.connect_interface(item.name)\n } else {\n this.api.disconnect_interface(item.name)\n }\n },\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_interface_info().then((info) => {\n this.data = [] // Clear the old data\n for (let int of info) {\n let connect = null\n let connected_color = null\n if (int[1] == 'DISCONNECTED') {\n connect = 'Connect'\n connected_color = 'white'\n } else if (int[1] == 'CONNECTED') {\n connect = 'Disconnect'\n connected_color = 'green'\n } else {\n connect = 'Cancel'\n connected_color = 'red'\n }\n this.data.push({\n name: int[0],\n connect: connect,\n connected_color: connected_color,\n connected: int[1],\n clients: int[2],\n tx_q_size: int[3],\n rx_q_size: int[4],\n tx_bytes: int[5],\n rx_bytes: int[6],\n cmd_pkts: int[7],\n tlm_pkts: int[8],\n })\n }\n this.buttonsDisabled = false\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InterfacesTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InterfacesTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InterfacesTab.vue?vue&type=template&id=3611ecca&\"\nimport script from \"./InterfacesTab.vue?vue&type=script&lang=js&\"\nexport * from \"./InterfacesTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["props","refreshInterval","default","data","updater","api","created","this","OpenC3Api","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","methods","setInterval","update","render","_vm","_h","$createElement","_c","_self","_v","_s","length","attrs","model","value","callback","$$v","search","expression","headers","sortTable","itemsPerPageOptions","scopedSlots","_u","key","fn","ref","item","buttonsDisabled","on","$event","connectDisconnect","connect","style","color","connected_color","connected","staticRenderFns","mixins","tabId","curTab","text","sortable","filterable","items","index","isDesc","info","name","clients","tx_q_size","rx_q_size","tx_bytes","rx_bytes","cmd_pkts","tlm_pkts","component","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","done","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_tool_cmdtlmserver"]=self["webpackChunk_openc3_tool_cmdtlmserver"]||[]).push([[262],{6616:function(e,t,r){var n=r(6039),s=r(1787);e.exports=function(e,t,r){return r.get&&n(r.get,t,{getter:!0}),r.set&&n(r.set,t,{setter:!0}),s.f(e,t,r)}},7274:function(e,t,r){var n=r(4229),s=r(95),a=r(4231),i=s("iterator");e.exports=!n((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,r="";return e.pathname="c%20d",t.forEach((function(e,n){t["delete"]("b"),r+=n+e})),a&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[i]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host}))},7321:function(e,t,r){"use strict";var n=r(5968),s=2147483647,a=36,i=1,o=26,u=38,h=700,l=72,c=128,f="-",p=/[^\0-\u007E]/,g=/[.\u3002\uFF0E\uFF61]/g,m="Overflow: input needs wider integers to process",v=a-i,d=RangeError,w=n(g.exec),y=Math.floor,b=String.fromCharCode,U=n("".charCodeAt),P=n([].join),k=n([].push),R=n("".replace),S=n("".split),L=n("".toLowerCase),q=function(e){var t=[],r=0,n=e.length;while(r<n){var s=U(e,r++);if(s>=55296&&s<=56319&&r<n){var a=U(e,r++);56320==(64512&a)?k(t,((1023&s)<<10)+(1023&a)+65536):(k(t,s),r--)}else k(t,s)}return t},H=function(e){return e+22+75*(e<26)},B=function(e,t,r){var n=0;e=r?y(e/h):e>>1,e+=y(e/t);while(e>v*o>>1)e=y(e/v),n+=a;return y(n+(v+1)*e/(e+u))},x=function(e){var t=[];e=q(e);var r,n,u=e.length,h=c,p=0,g=l;for(r=0;r<e.length;r++)n=e[r],n<128&&k(t,b(n));var v=t.length,w=v;v&&k(t,f);while(w<u){var U=s;for(r=0;r<e.length;r++)n=e[r],n>=h&&n<U&&(U=n);var R=w+1;if(U-h>y((s-p)/R))throw d(m);for(p+=(U-h)*R,h=U,r=0;r<e.length;r++){if(n=e[r],n<h&&++p>s)throw d(m);if(n==h){var S=p,L=a;while(1){var x=L<=g?i:L>=g+o?o:L-g;if(S<x)break;var A=S-x,C=a-x;k(t,b(H(x+A%C))),S=y(A/C),L+=a}k(t,b(H(S))),g=B(p,R,w==v),p=0,w++}}p++,h++}return P(t,"")};e.exports=function(e){var t,r,n=[],s=S(R(L(e),g,"."),".");for(t=0;t<s.length;t++)r=s[t],k(n,w(p,r)?"xn--"+x(r):r);return P(n,".")}},3276:function(e,t,r){"use strict";r(5735);var n=r(3103),s=r(9859),a=r(266),i=r(5968),o=r(7400),u=r(7274),h=r(4768),l=r(8312),c=r(4555),f=r(3723),p=r(6407),g=r(7728),m=r(6733),v=r(8270),d=r(7636),w=r(1589),y=r(1176),b=r(5052),U=r(3326),P=r(2391),k=r(5358),R=r(8403),S=r(8830),L=r(7579),q=r(95),H=r(3867),B=q("iterator"),x="URLSearchParams",A=x+"Iterator",C=p.set,O=p.getterFor(x),j=p.getterFor(A),z=Object.getOwnPropertyDescriptor,E=function(e){if(!o)return s[e];var t=z(s,e);return t&&t.value},I=E("fetch"),F=E("Request"),_=E("Headers"),$=F&&F.prototype,M=_&&_.prototype,Q=s.RegExp,T=s.TypeError,D=s.decodeURIComponent,G=s.encodeURIComponent,J=i("".charAt),N=i([].join),K=i([].push),V=i("".replace),W=i([].shift),X=i([].splice),Y=i("".split),Z=i("".slice),ee=/\+/g,te=Array(4),re=function(e){return te[e-1]||(te[e-1]=Q("((?:%[\\da-f]{2}){"+e+"})","gi"))},ne=function(e){try{return D(e)}catch(t){return e}},se=function(e){var t=V(e,ee," "),r=4;try{return D(t)}catch(n){while(r)t=V(t,re(r--),ne);return t}},ae=/[!'()~]|%20/g,ie={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},oe=function(e){return ie[e]},ue=function(e){return V(G(e),ae,oe)},he=f((function(e,t){C(this,{type:A,iterator:R(O(e).entries),kind:t})}),"Iterator",(function(){var e=j(this),t=e.kind,r=e.iterator.next(),n=r.value;return r.done||(r.value="keys"===t?n.key:"values"===t?n.value:[n.key,n.value]),r}),!0),le=function(e){this.entries=[],this.url=null,void 0!==e&&(b(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===J(e,0)?Z(e,1):e:U(e)))};le.prototype={type:x,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,n,s,i,o,u,h=S(e);if(h){t=R(e,h),r=t.next;while(!(n=a(r,t)).done){if(s=R(y(n.value)),i=s.next,(o=a(i,s)).done||(u=a(i,s)).done||!a(i,s).done)throw T("Expected sequence with length 2");K(this.entries,{key:U(o.value),value:U(u.value)})}}else for(var l in e)v(e,l)&&K(this.entries,{key:l,value:U(e[l])})},parseQuery:function(e){if(e){var t,r,n=Y(e,"&"),s=0;while(s<n.length)t=n[s++],t.length&&(r=Y(t,"="),K(this.entries,{key:se(W(r)),value:se(N(r,"="))}))}},serialize:function(){var e,t=this.entries,r=[],n=0;while(n<t.length)e=t[n++],K(r,ue(e.key)+"="+ue(e.value));return N(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var ce=function(){g(this,fe);var e=arguments.length>0?arguments[0]:void 0;C(this,new le(e))},fe=ce.prototype;if(l(fe,{append:function(e,t){L(arguments.length,2);var r=O(this);K(r.entries,{key:U(e),value:U(t)}),r.updateURL()},delete:function(e){L(arguments.length,1);var t=O(this),r=t.entries,n=U(e),s=0;while(s<r.length)r[s].key===n?X(r,s,1):s++;t.updateURL()},get:function(e){L(arguments.length,1);for(var t=O(this).entries,r=U(e),n=0;n<t.length;n++)if(t[n].key===r)return t[n].value;return null},getAll:function(e){L(arguments.length,1);for(var t=O(this).entries,r=U(e),n=[],s=0;s<t.length;s++)t[s].key===r&&K(n,t[s].value);return n},has:function(e){L(arguments.length,1);var t=O(this).entries,r=U(e),n=0;while(n<t.length)if(t[n++].key===r)return!0;return!1},set:function(e,t){L(arguments.length,1);for(var r,n=O(this),s=n.entries,a=!1,i=U(e),o=U(t),u=0;u<s.length;u++)r=s[u],r.key===i&&(a?X(s,u--,1):(a=!0,r.value=o));a||K(s,{key:i,value:o}),n.updateURL()},sort:function(){var e=O(this);H(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){var t,r=O(this).entries,n=d(e,arguments.length>1?arguments[1]:void 0),s=0;while(s<r.length)t=r[s++],n(t.value,t.key,this)},keys:function(){return new he(this,"keys")},values:function(){return new he(this,"values")},entries:function(){return new he(this,"entries")}},{enumerable:!0}),h(fe,B,fe.entries,{name:"entries"}),h(fe,"toString",(function(){return O(this).serialize()}),{enumerable:!0}),c(ce,x),n({global:!0,constructor:!0,forced:!u},{URLSearchParams:ce}),!u&&m(_)){var pe=i(M.has),ge=i(M.set),me=function(e){if(b(e)){var t,r=e.body;if(w(r)===x)return t=e.headers?new _(e.headers):new _,pe(t,"content-type")||ge(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),P(e,{body:k(0,U(r)),headers:k(0,t)})}return e};if(m(I)&&n({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return I(e,arguments.length>1?me(arguments[1]):{})}}),m(F)){var ve=function(e){return g(this,$),new F(e,arguments.length>1?me(arguments[1]):{})};$.constructor=ve,ve.prototype=$,n({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:ve})}}e.exports={URLSearchParams:ce,getState:O}},523:function(e,t,r){r(3276)},5340:function(e,t,r){"use strict";r(8673);var n,s=r(3103),a=r(7400),i=r(7274),o=r(9859),u=r(7636),h=r(5968),l=r(4768),c=r(6616),f=r(7728),p=r(8270),g=r(47),m=r(507),v=r(9794),d=r(966).codeAt,w=r(7321),y=r(3326),b=r(4555),U=r(7579),P=r(3276),k=r(6407),R=k.set,S=k.getterFor("URL"),L=P.URLSearchParams,q=P.getState,H=o.URL,B=o.TypeError,x=o.parseInt,A=Math.floor,C=Math.pow,O=h("".charAt),j=h(/./.exec),z=h([].join),E=h(1..toString),I=h([].pop),F=h([].push),_=h("".replace),$=h([].shift),M=h("".split),Q=h("".slice),T=h("".toLowerCase),D=h([].unshift),G="Invalid authority",J="Invalid scheme",N="Invalid host",K="Invalid port",V=/[a-z]/i,W=/[\d+-.a-z]/i,X=/\d/,Y=/^0x/i,Z=/^[0-7]+$/,ee=/^\d+$/,te=/^[\da-f]+$/i,re=/[\0\t\n\r #%/:<>?@[\\\]^|]/,ne=/[\0\t\n\r #/:<>?@[\\\]^|]/,se=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,ae=/[\t\n\r]/g,ie=function(e){var t,r,n,s,a,i,o,u=M(e,".");if(u.length&&""==u[u.length-1]&&u.length--,t=u.length,t>4)return e;for(r=[],n=0;n<t;n++){if(s=u[n],""==s)return e;if(a=10,s.length>1&&"0"==O(s,0)&&(a=j(Y,s)?16:8,s=Q(s,8==a?1:2)),""===s)i=0;else{if(!j(10==a?ee:8==a?Z:te,s))return e;i=x(s,a)}F(r,i)}for(n=0;n<t;n++)if(i=r[n],n==t-1){if(i>=C(256,5-t))return null}else if(i>255)return null;for(o=I(r),n=0;n<r.length;n++)o+=r[n]*C(256,3-n);return o},oe=function(e){var t,r,n,s,a,i,o,u=[0,0,0,0,0,0,0,0],h=0,l=null,c=0,f=function(){return O(e,c)};if(":"==f()){if(":"!=O(e,1))return;c+=2,h++,l=h}while(f()){if(8==h)return;if(":"!=f()){t=r=0;while(r<4&&j(te,f()))t=16*t+x(f(),16),c++,r++;if("."==f()){if(0==r)return;if(c-=r,h>6)return;n=0;while(f()){if(s=null,n>0){if(!("."==f()&&n<4))return;c++}if(!j(X,f()))return;while(j(X,f())){if(a=x(f(),10),null===s)s=a;else{if(0==s)return;s=10*s+a}if(s>255)return;c++}u[h]=256*u[h]+s,n++,2!=n&&4!=n||h++}if(4!=n)return;break}if(":"==f()){if(c++,!f())return}else if(f())return;u[h++]=t}else{if(null!==l)return;c++,h++,l=h}}if(null!==l){i=h-l,h=7;while(0!=h&&i>0)o=u[h],u[h--]=u[l+i-1],u[l+--i]=o}else if(8!=h)return;return u},ue=function(e){for(var t=null,r=1,n=null,s=0,a=0;a<8;a++)0!==e[a]?(s>r&&(t=n,r=s),n=null,s=0):(null===n&&(n=a),++s);return s>r&&(t=n,r=s),t},he=function(e){var t,r,n,s;if("number"==typeof e){for(t=[],r=0;r<4;r++)D(t,e%256),e=A(e/256);return z(t,".")}if("object"==typeof e){for(t="",n=ue(e),r=0;r<8;r++)s&&0===e[r]||(s&&(s=!1),n===r?(t+=r?":":"::",s=!0):(t+=E(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},le={},ce=g({},le,{" ":1,'"':1,"<":1,">":1,"`":1}),fe=g({},ce,{"#":1,"?":1,"{":1,"}":1}),pe=g({},fe,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),ge=function(e,t){var r=d(e,0);return r>32&&r<127&&!p(t,e)?e:encodeURIComponent(e)},me={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ve=function(e,t){var r;return 2==e.length&&j(V,O(e,0))&&(":"==(r=O(e,1))||!t&&"|"==r)},de=function(e){var t;return e.length>1&&ve(Q(e,0,2))&&(2==e.length||"/"===(t=O(e,2))||"\\"===t||"?"===t||"#"===t)},we=function(e){return"."===e||"%2e"===T(e)},ye=function(e){return e=T(e),".."===e||"%2e."===e||".%2e"===e||"%2e%2e"===e},be={},Ue={},Pe={},ke={},Re={},Se={},Le={},qe={},He={},Be={},xe={},Ae={},Ce={},Oe={},je={},ze={},Ee={},Ie={},Fe={},_e={},$e={},Me=function(e,t,r){var n,s,a,i=y(e);if(t){if(s=this.parse(i),s)throw B(s);this.searchParams=null}else{if(void 0!==r&&(n=new Me(r,!0)),s=this.parse(i,null,n),s)throw B(s);a=q(new L),a.bindURL(this),this.searchParams=a}};Me.prototype={type:"URL",parse:function(e,t,r){var s,a,i,o,u=this,h=t||be,l=0,c="",f=!1,g=!1,d=!1;e=y(e),t||(u.scheme="",u.username="",u.password="",u.host=null,u.port=null,u.path=[],u.query=null,u.fragment=null,u.cannotBeABaseURL=!1,e=_(e,se,"")),e=_(e,ae,""),s=m(e);while(l<=s.length){switch(a=s[l],h){case be:if(!a||!j(V,a)){if(t)return J;h=Pe;continue}c+=T(a),h=Ue;break;case Ue:if(a&&(j(W,a)||"+"==a||"-"==a||"."==a))c+=T(a);else{if(":"!=a){if(t)return J;c="",h=Pe,l=0;continue}if(t&&(u.isSpecial()!=p(me,c)||"file"==c&&(u.includesCredentials()||null!==u.port)||"file"==u.scheme&&!u.host))return;if(u.scheme=c,t)return void(u.isSpecial()&&me[u.scheme]==u.port&&(u.port=null));c="","file"==u.scheme?h=Oe:u.isSpecial()&&r&&r.scheme==u.scheme?h=ke:u.isSpecial()?h=qe:"/"==s[l+1]?(h=Re,l++):(u.cannotBeABaseURL=!0,F(u.path,""),h=Fe)}break;case Pe:if(!r||r.cannotBeABaseURL&&"#"!=a)return J;if(r.cannotBeABaseURL&&"#"==a){u.scheme=r.scheme,u.path=v(r.path),u.query=r.query,u.fragment="",u.cannotBeABaseURL=!0,h=$e;break}h="file"==r.scheme?Oe:Se;continue;case ke:if("/"!=a||"/"!=s[l+1]){h=Se;continue}h=He,l++;break;case Re:if("/"==a){h=Be;break}h=Ie;continue;case Se:if(u.scheme=r.scheme,a==n)u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,u.path=v(r.path),u.query=r.query;else if("/"==a||"\\"==a&&u.isSpecial())h=Le;else if("?"==a)u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,u.path=v(r.path),u.query="",h=_e;else{if("#"!=a){u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,u.path=v(r.path),u.path.length--,h=Ie;continue}u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,u.path=v(r.path),u.query=r.query,u.fragment="",h=$e}break;case Le:if(!u.isSpecial()||"/"!=a&&"\\"!=a){if("/"!=a){u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,h=Ie;continue}h=Be}else h=He;break;case qe:if(h=He,"/"!=a||"/"!=O(c,l+1))continue;l++;break;case He:if("/"!=a&&"\\"!=a){h=Be;continue}break;case Be:if("@"==a){f&&(c="%40"+c),f=!0,i=m(c);for(var w=0;w<i.length;w++){var b=i[w];if(":"!=b||d){var U=ge(b,pe);d?u.password+=U:u.username+=U}else d=!0}c=""}else if(a==n||"/"==a||"?"==a||"#"==a||"\\"==a&&u.isSpecial()){if(f&&""==c)return G;l-=m(c).length+1,c="",h=xe}else c+=a;break;case xe:case Ae:if(t&&"file"==u.scheme){h=ze;continue}if(":"!=a||g){if(a==n||"/"==a||"?"==a||"#"==a||"\\"==a&&u.isSpecial()){if(u.isSpecial()&&""==c)return N;if(t&&""==c&&(u.includesCredentials()||null!==u.port))return;if(o=u.parseHost(c),o)return o;if(c="",h=Ee,t)return;continue}"["==a?g=!0:"]"==a&&(g=!1),c+=a}else{if(""==c)return N;if(o=u.parseHost(c),o)return o;if(c="",h=Ce,t==Ae)return}break;case Ce:if(!j(X,a)){if(a==n||"/"==a||"?"==a||"#"==a||"\\"==a&&u.isSpecial()||t){if(""!=c){var P=x(c,10);if(P>65535)return K;u.port=u.isSpecial()&&P===me[u.scheme]?null:P,c=""}if(t)return;h=Ee;continue}return K}c+=a;break;case Oe:if(u.scheme="file","/"==a||"\\"==a)h=je;else{if(!r||"file"!=r.scheme){h=Ie;continue}if(a==n)u.host=r.host,u.path=v(r.path),u.query=r.query;else if("?"==a)u.host=r.host,u.path=v(r.path),u.query="",h=_e;else{if("#"!=a){de(z(v(s,l),""))||(u.host=r.host,u.path=v(r.path),u.shortenPath()),h=Ie;continue}u.host=r.host,u.path=v(r.path),u.query=r.query,u.fragment="",h=$e}}break;case je:if("/"==a||"\\"==a){h=ze;break}r&&"file"==r.scheme&&!de(z(v(s,l),""))&&(ve(r.path[0],!0)?F(u.path,r.path[0]):u.host=r.host),h=Ie;continue;case ze:if(a==n||"/"==a||"\\"==a||"?"==a||"#"==a){if(!t&&ve(c))h=Ie;else if(""==c){if(u.host="",t)return;h=Ee}else{if(o=u.parseHost(c),o)return o;if("localhost"==u.host&&(u.host=""),t)return;c="",h=Ee}continue}c+=a;break;case Ee:if(u.isSpecial()){if(h=Ie,"/"!=a&&"\\"!=a)continue}else if(t||"?"!=a)if(t||"#"!=a){if(a!=n&&(h=Ie,"/"!=a))continue}else u.fragment="",h=$e;else u.query="",h=_e;break;case Ie:if(a==n||"/"==a||"\\"==a&&u.isSpecial()||!t&&("?"==a||"#"==a)){if(ye(c)?(u.shortenPath(),"/"==a||"\\"==a&&u.isSpecial()||F(u.path,"")):we(c)?"/"==a||"\\"==a&&u.isSpecial()||F(u.path,""):("file"==u.scheme&&!u.path.length&&ve(c)&&(u.host&&(u.host=""),c=O(c,0)+":"),F(u.path,c)),c="","file"==u.scheme&&(a==n||"?"==a||"#"==a))while(u.path.length>1&&""===u.path[0])$(u.path);"?"==a?(u.query="",h=_e):"#"==a&&(u.fragment="",h=$e)}else c+=ge(a,fe);break;case Fe:"?"==a?(u.query="",h=_e):"#"==a?(u.fragment="",h=$e):a!=n&&(u.path[0]+=ge(a,le));break;case _e:t||"#"!=a?a!=n&&("'"==a&&u.isSpecial()?u.query+="%27":u.query+="#"==a?"%23":ge(a,le)):(u.fragment="",h=$e);break;case $e:a!=n&&(u.fragment+=ge(a,ce));break}l++}},parseHost:function(e){var t,r,n;if("["==O(e,0)){if("]"!=O(e,e.length-1))return N;if(t=oe(Q(e,1,-1)),!t)return N;this.host=t}else if(this.isSpecial()){if(e=w(e),j(re,e))return N;if(t=ie(e),null===t)return N;this.host=t}else{if(j(ne,e))return N;for(t="",r=m(e),n=0;n<r.length;n++)t+=ge(r[n],le);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"==this.scheme},includesCredentials:function(){return""!=this.username||""!=this.password},isSpecial:function(){return p(me,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"==this.scheme&&1==t&&ve(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,n=e.password,s=e.host,a=e.port,i=e.path,o=e.query,u=e.fragment,h=t+":";return null!==s?(h+="//",e.includesCredentials()&&(h+=r+(n?":"+n:"")+"@"),h+=he(s),null!==a&&(h+=":"+a)):"file"==t&&(h+="//"),h+=e.cannotBeABaseURL?i[0]:i.length?"/"+z(i,"/"):"",null!==o&&(h+="?"+o),null!==u&&(h+="#"+u),h},setHref:function(e){var t=this.parse(e);if(t)throw B(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"==e)try{return new Qe(e.path[0]).origin}catch(r){return"null"}return"file"!=e&&this.isSpecial()?e+"://"+he(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(y(e)+":",be)},getUsername:function(){return this.username},setUsername:function(e){var t=m(y(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=ge(t[r],pe)}},getPassword:function(){return this.password},setPassword:function(e){var t=m(y(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=ge(t[r],pe)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?he(e):he(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,xe)},getHostname:function(){var e=this.host;return null===e?"":he(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,Ae)},getPort:function(){var e=this.port;return null===e?"":y(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(e=y(e),""==e?this.port=null:this.parse(e,Ce))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+z(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,Ee))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){e=y(e),""==e?this.query=null:("?"==O(e,0)&&(e=Q(e,1)),this.query="",this.parse(e,_e)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){e=y(e),""!=e?("#"==O(e,0)&&(e=Q(e,1)),this.fragment="",this.parse(e,$e)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Qe=function(e){var t=f(this,Te),r=U(arguments.length,1)>1?arguments[1]:void 0,n=R(t,new Me(e,!1,r));a||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},Te=Qe.prototype,De=function(e,t){return{get:function(){return S(this)[e]()},set:t&&function(e){return S(this)[t](e)},configurable:!0,enumerable:!0}};if(a&&(c(Te,"href",De("serialize","setHref")),c(Te,"origin",De("getOrigin")),c(Te,"protocol",De("getProtocol","setProtocol")),c(Te,"username",De("getUsername","setUsername")),c(Te,"password",De("getPassword","setPassword")),c(Te,"host",De("getHost","setHost")),c(Te,"hostname",De("getHostname","setHostname")),c(Te,"port",De("getPort","setPort")),c(Te,"pathname",De("getPathname","setPathname")),c(Te,"search",De("getSearch","setSearch")),c(Te,"searchParams",De("getSearchParams")),c(Te,"hash",De("getHash","setHash"))),l(Te,"toJSON",(function(){return S(this).serialize()}),{enumerable:!0}),l(Te,"toString",(function(){return S(this).serialize()}),{enumerable:!0}),H){var Ge=H.createObjectURL,Je=H.revokeObjectURL;Ge&&l(Qe,"createObjectURL",u(Ge,H)),Je&&l(Qe,"revokeObjectURL",u(Je,H))}b(Qe,"URL"),s({global:!0,constructor:!0,forced:!i,sham:!a},{URL:Qe})},4121:function(e,t,r){r(5340)}}]);
2
+ //# sourceMappingURL=262.js.map