openc3-cosmos-tool-cmdtlmserver 5.14.2 → 5.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/tools/cmdtlmserver/js/{592.js → 195.js} +2 -2
- data/tools/cmdtlmserver/js/{592.js.map → 195.js.map} +1 -1
- data/tools/cmdtlmserver/js/{767.js → 206.js} +2 -2
- data/tools/cmdtlmserver/js/{767.js.map → 206.js.map} +1 -1
- data/tools/cmdtlmserver/js/{123.js → 229.js} +2 -2
- data/tools/cmdtlmserver/js/{123.js.map → 229.js.map} +1 -1
- data/tools/cmdtlmserver/js/235.js +2 -0
- data/tools/cmdtlmserver/js/235.js.map +1 -0
- data/tools/cmdtlmserver/js/272.js +2 -0
- data/tools/cmdtlmserver/js/{508.js.map → 272.js.map} +1 -1
- data/tools/cmdtlmserver/js/{188.js → 275.js} +2 -2
- data/tools/cmdtlmserver/js/{188.js.map → 275.js.map} +1 -1
- data/tools/cmdtlmserver/js/{292.js → 303.js} +2 -2
- data/tools/cmdtlmserver/js/{292.js.map → 303.js.map} +1 -1
- data/tools/cmdtlmserver/js/{356.js → 305.js} +2 -2
- data/tools/cmdtlmserver/js/{356.js.map → 305.js.map} +1 -1
- data/tools/cmdtlmserver/js/328.js +2 -0
- data/tools/cmdtlmserver/js/{536.js.map → 328.js.map} +1 -1
- data/tools/cmdtlmserver/js/348.js +2 -0
- data/tools/cmdtlmserver/js/{544.js.map → 348.js.map} +1 -1
- data/tools/cmdtlmserver/js/{408.js → 739.js} +2 -2
- data/tools/cmdtlmserver/js/{408.js.map → 739.js.map} +1 -1
- data/tools/cmdtlmserver/js/802.js +2 -0
- data/tools/cmdtlmserver/js/802.js.map +1 -0
- data/tools/cmdtlmserver/js/904.js +2 -0
- data/tools/cmdtlmserver/js/{264.js.map → 904.js.map} +1 -1
- data/tools/cmdtlmserver/js/app.js +1 -1
- data/tools/cmdtlmserver/js/app.js.map +1 -1
- metadata +28 -28
- data/tools/cmdtlmserver/js/116.js +0 -2
- data/tools/cmdtlmserver/js/116.js.map +0 -1
- data/tools/cmdtlmserver/js/264.js +0 -2
- data/tools/cmdtlmserver/js/508.js +0 -2
- data/tools/cmdtlmserver/js/536.js +0 -2
- data/tools/cmdtlmserver/js/544.js +0 -2
- data/tools/cmdtlmserver/js/744.js +0 -2
- data/tools/cmdtlmserver/js/744.js.map +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c0e080ad43f991226c546571e07e326a53535031b44bcf5652bdc2b2de768e57
|
|
4
|
+
data.tar.gz: 92b22ea1582c903ca725e3760071dc63d19268d73b1cb707d4b1813b53b7659c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a714ae2bbb0e833036536ff2ac61c8f224fa8cb6bf49ba2ab179a3d7d6bde62f8489d17530d1de3adcfea220c84d11bb667fb52bcdc772af281aa2065a5db145
|
|
7
|
+
data.tar.gz: 4b5427688b7869c4313a0f98d926fbb21602237b88d5b2700aa9b534c9172b548961f5423541dd443a0f1e7abf879b9b89573cd3be6823299f32cdfa64a599b2
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[592],{6592:(n,e,l)=>{function t(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",e="50da0d76dc6340037a3236b5a291f8bc4b533635",l=new Function("return this")(),a="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:5,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:4,column:1214}},4:{start:{line:1,column:420},end:{line:1,column:434}},5:{start:{line:4,column:202},end:{line:4,column:416}},6:{start:{line:4,column:314},end:{line:4,column:372}},7:{start:{line:4,column:472},end:{line:4,column:865}},8:{start:{line:4,column:671},end:{line:4,column:731}},9:{start:{line:4,column:920},end:{line:4,column:1208}},10:{start:{line:4,column:1130},end:{line:4,column:1158}},11:{start:{line:4,column:1185},end:{line:4,column:1204}},12:{start:{line:6,column:22},end:{line:6,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:5,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:404},end:{line:1,column:405}},loc:{start:{line:1,column:419},end:{line:1,column:435}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:4,column:183},end:{line:4,column:184}},loc:{start:{line:4,column:201},end:{line:4,column:417}},line:4},3:{name:"(anonymous_3)",decl:{start:{line:4,column:297},end:{line:4,column:298}},loc:{start:{line:4,column:313},end:{line:4,column:373}},line:4},4:{name:"(anonymous_4)",decl:{start:{line:4,column:453},end:{line:4,column:454}},loc:{start:{line:4,column:471},end:{line:4,column:866}},line:4},5:{name:"(anonymous_5)",decl:{start:{line:4,column:654},end:{line:4,column:655}},loc:{start:{line:4,column:670},end:{line:4,column:732}},line:4},6:{name:"(anonymous_6)",decl:{start:{line:4,column:908},end:{line:4,column:909}},loc:{start:{line:4,column:919},end:{line:4,column:1209}},line:4},7:{name:"(anonymous_7)",decl:{start:{line:4,column:1113},end:{line:4,column:1114}},loc:{start:{line:4,column:1129},end:{line:4,column:1159}},line:4},8:{name:"(anonymous_8)",decl:{start:{line:4,column:1168},end:{line:4,column:1169}},loc:{start:{line:4,column:1184},end:{line:4,column:1205}},line:4}},branchMap:{0:{loc:{start:{line:4,column:480},end:{line:4,column:548}},type:"cond-expr",locations:[{start:{line:4,column:513},end:{line:4,column:539}},{start:{line:4,column:540},end:{line:4,column:548}}],line:4},1:{loc:{start:{line:4,column:561},end:{line:4,column:864}},type:"cond-expr",locations:[{start:{line:4,column:593},end:{line:4,column:855}},{start:{line:4,column:856},end:{line:4,column:864}}],line:4}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"50da0d76dc6340037a3236b5a291f8bc4b533635"},o=l[a]||(l[a]={});o[n]&&o[n].hash===e||(o[n]=i);var c=o[n];return t=function(){return c},c}l.r(e),l.d(e,{default:()=>A}),t(),t().s[0]++;var a=function(){t().f[0]++;var n=(t().s[1]++,this),e=(t().s[2]++,n._self._c);return t().s[3]++,e("v-card",[e("v-card-title",[n._v("\n "+n._s(n.data.length)+" Telemetry Packets\n "),e("v-spacer"),n._v(" "),e("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){t().f[1]++,t().s[4]++,n.search=e},expression:"search"}})],1),n._v(" "),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100],showFirstLastPage:!0},"sort-by":"target_name","calculate-widths":"","multi-sort":"","data-test":"tlm-packets-table"},on:{"current-items":n.currentItems},scopedSlots:n._u([{key:"item.view_raw",fn:function({item:l}){return t().f[2]++,t().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:l.count<1},on:{click:function(e){return t().f[3]++,t().s[6]++,n.openViewRaw(l.target_name,l.packet_name)}}},[n._v("\n View Raw\n ")])]}},{key:"item.view_in_pkt_viewer",fn:function({item:l}){return t().f[4]++,t().s[7]++,["UNKNOWN"===l.target_name?(t().b[0][0]++,e("span",[n._v("N/A")])):(t().b[0][1]++,n._e()),n._v(" "),"UNKNOWN"!=l.target_name?(t().b[1][0]++,e("v-btn",{attrs:{block:"",color:"primary"},on:{click:function(e){return t().f[5]++,t().s[8]++,n.openPktViewer(l.target_name,l.packet_name)}}},[n._v("\n View In Packet Viewer\n "),e("v-icon",{attrs:{right:""}},[n._v(" mdi-open-in-new ")])],1)):(t().b[1][1]++,n._e())]}}])}),n._v(" "),n._l(n.rawDialogs,(function(l){return t().f[6]++,t().s[9]++,e("raw-dialog",{key:l.target_name+"_"+l.packet_name,attrs:{type:"Telemetry","target-name":l.target_name,"packet-name":l.packet_name,visible:!0,"z-index":l.zIndex},on:{close:function(e){return t().f[7]++,t().s[10]++,n.closeRawDialog(l)},focus:function(e){return t().f[8]++,t().s[11]++,n.focus(l)}}})}))],2)},i=(t().s[12]++,[]),o=l(2500),c=l(9536);function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",e="e256e94680806af814e3995bd427af2054aa8563",l=new Function("return this")(),t="__coverage__",a={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",statementMap:{0:{start:{line:15,column:4},end:{line:27,column:5}},1:{start:{line:30,column:4},end:{line:40,column:6}},2:{start:{line:31,column:6},end:{line:39,column:8}},3:{start:{line:32,column:8},end:{line:38,column:10}},4:{start:{line:33,column:10},end:{line:37,column:11}},5:{start:{line:35,column:14},end:{line:35,column:75}},6:{start:{line:44,column:6},end:{line:46,column:8}},7:{start:{line:45,column:8},end:{line:45,column:25}},8:{start:{line:47,column:14},end:{line:47,column:45}},9:{start:{line:48,column:6},end:{line:48,column:35}},10:{start:{line:51,column:6},end:{line:53,column:8}},11:{start:{line:52,column:8},end:{line:52,column:25}},12:{start:{line:54,column:6},end:{line:58,column:8}},13:{start:{line:61,column:14},end:{line:61,column:45}},14:{start:{line:62,column:6},end:{line:62,column:34}},15:{start:{line:65,column:6},end:{line:65,column:80}},16:{start:{line:68,column:6},end:{line:70,column:8}},17:{start:{line:69,column:8},end:{line:69,column:45}},18:{start:{line:73,column:6},end:{line:73,column:43}},19:{start:{line:73,column:37},end:{line:73,column:43}},20:{start:{line:74,column:6},end:{line:74,column:44}},21:{start:{line:74,column:38},end:{line:74,column:44}},22:{start:{line:75,column:6},end:{line:84,column:8}},23:{start:{line:76,column:8},end:{line:83,column:9}},24:{start:{line:76,column:21},end:{line:76,column:22}},25:{start:{line:77,column:22},end:{line:81,column:11}},26:{start:{line:79,column:14},end:{line:80,column:53}},27:{start:{line:82,column:10},end:{line:82,column:44}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:9},end:{line:28,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:29,column:2},end:{line:29,column:3}},loc:{start:{line:29,column:12},end:{line:41,column:3}},line:29},2:{name:"(anonymous_2)",decl:{start:{line:30,column:37},end:{line:30,column:38}},loc:{start:{line:30,column:50},end:{line:40,column:5}},line:30},3:{name:"(anonymous_3)",decl:{start:{line:31,column:18},end:{line:31,column:19}},loc:{start:{line:31,column:30},end:{line:39,column:7}},line:31},4:{name:"(anonymous_4)",decl:{start:{line:32,column:48},end:{line:32,column:49}},loc:{start:{line:32,column:59},end:{line:38,column:9}},line:32},5:{name:"(anonymous_5)",decl:{start:{line:34,column:22},end:{line:34,column:23}},loc:{start:{line:34,column:34},end:{line:36,column:13}},line:34},6:{name:"(anonymous_6)",decl:{start:{line:43,column:4},end:{line:43,column:5}},loc:{start:{line:43,column:18},end:{line:49,column:5}},line:43},7:{name:"(anonymous_7)",decl:{start:{line:44,column:26},end:{line:44,column:27}},loc:{start:{line:44,column:38},end:{line:46,column:7}},line:44},8:{name:"(anonymous_8)",decl:{start:{line:50,column:4},end:{line:50,column:5}},loc:{start:{line:50,column:42},end:{line:59,column:5}},line:50},9:{name:"(anonymous_9)",decl:{start:{line:51,column:26},end:{line:51,column:27}},loc:{start:{line:51,column:38},end:{line:53,column:7}},line:51},10:{name:"(anonymous_10)",decl:{start:{line:60,column:4},end:{line:60,column:5}},loc:{start:{line:60,column:27},end:{line:63,column:5}},line:60},11:{name:"(anonymous_11)",decl:{start:{line:64,column:4},end:{line:64,column:5}},loc:{start:{line:64,column:44},end:{line:66,column:5}},line:64},12:{name:"(anonymous_12)",decl:{start:{line:67,column:4},end:{line:67,column:5}},loc:{start:{line:67,column:24},end:{line:71,column:5}},line:67},13:{name:"(anonymous_13)",decl:{start:{line:68,column:31},end:{line:68,column:32}},loc:{start:{line:68,column:38},end:{line:70,column:7}},line:68},14:{name:"(anonymous_14)",decl:{start:{line:72,column:4},end:{line:72,column:5}},loc:{start:{line:72,column:13},end:{line:85,column:5}},line:72},15:{name:"(anonymous_15)",decl:{start:{line:75,column:47},end:{line:75,column:48}},loc:{start:{line:75,column:59},end:{line:84,column:7}},line:75},16:{name:"(anonymous_16)",decl:{start:{line:78,column:12},end:{line:78,column:13}},loc:{start:{line:79,column:14},end:{line:80,column:53}},line:79}},branchMap:{0:{loc:{start:{line:73,column:6},end:{line:73,column:43}},type:"if",locations:[{start:{line:73,column:6},end:{line:73,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},1:{loc:{start:{line:74,column:6},end:{line:74,column:44}},type:"if",locations:[{start:{line:74,column:6},end:{line:74,column:44}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:74},2:{loc:{start:{line:79,column:14},end:{line:80,column:53}},type:"binary-expr",locations:[{start:{line:79,column:14},end:{line:79,column:53}},{start:{line:80,column:14},end:{line:80,column:53}}],line:79}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["TlmPacketsTab.vue"],names:[],mappings:";AA4FA;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",file:"TlmPacketsTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Telemetry Packets\n <v-spacer />\n <v-text-field\n v-model="search"\n label="Search"\n prepend-inner-icon="mdi-magnify"\n clearable\n outlined\n dense\n single-line\n hide-details\n class="search"\n />\n </v-card-title>\n <v-data-table\n :headers="headers"\n :items="data"\n :search="search"\n :items-per-page="10"\n :footer-props="{\n itemsPerPageOptions: [10, 20, 50, 100],\n showFirstLastPage: true,\n }"\n sort-by="target_name"\n @current-items="currentItems"\n calculate-widths\n multi-sort\n data-test="tlm-packets-table"\n >\n <template v-slot:item.view_raw="{ item }">\n <v-btn\n block\n color="primary"\n :disabled="item.count < 1"\n @click="openViewRaw(item.target_name, item.packet_name)"\n >\n View Raw\n </v-btn>\n </template>\n <template v-slot:item.view_in_pkt_viewer="{ item }">\n <span v-if="item.target_name === \'UNKNOWN\'">N/A</span>\n <v-btn\n v-if="item.target_name != \'UNKNOWN\'"\n block\n color="primary"\n @click="openPktViewer(item.target_name, item.packet_name)"\n >\n View In Packet Viewer\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <raw-dialog\n v-for="d in rawDialogs"\n :key="d.target_name + \'_\' + d.packet_name"\n type="Telemetry"\n :target-name="d.target_name"\n :packet-name="d.packet_name"\n :visible="true"\n :z-index="d.zIndex"\n @close="closeRawDialog(d)"\n @focus="focus(d)"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from \'./Updater\'\nimport RawDialog from \'./RawDialog\'\n\nexport default {\n components: {\n RawDialog,\n },\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: \'\',\n data: [],\n headers: [\n { text: \'Target Name\', value: \'target_name\' },\n { text: \'Packet Name\', value: \'packet_name\' },\n { text: \'Packet Count\', value: \'count\' },\n { text: \'View Raw\', value: \'view_raw\' },\n { text: \'View In Packet Viewer\', value: \'view_in_pkt_viewer\' },\n ],\n rawDialogs: [],\n visible: null,\n }\n },\n created() {\n this.api.get_target_names().then((targets) => {\n targets.map((target) => {\n this.api.get_all_tlm_names(target).then((names) => {\n this.data = this.data.concat(\n names.map((packet) => {\n return { target_name: target, packet_name: packet, count: 0 }\n }),\n )\n })\n })\n })\n },\n methods: {\n focus(dialog) {\n this.rawDialogs.map((dialog) => {\n dialog.zIndex = 1\n })\n let i = this.rawDialogs.indexOf(dialog)\n this.rawDialogs[i].zIndex = 2\n },\n openViewRaw(target_name, packet_name) {\n this.rawDialogs.map((dialog) => {\n dialog.zIndex = 1\n })\n this.rawDialogs = this.rawDialogs.concat({\n target_name: target_name,\n packet_name: packet_name,\n zIndex: 2,\n })\n },\n closeRawDialog(dialog) {\n let i = this.rawDialogs.indexOf(dialog)\n this.rawDialogs.splice(i, 1)\n },\n openPktViewer(target_name, packet_name) {\n window.open(`/tools/packetviewer/${target_name}/${packet_name}`, \'_blank\')\n },\n currentItems(event) {\n this.visible = event.map((i) => {\n return [i.target_name, i.packet_name]\n })\n },\n update() {\n if (this.tabId != this.curTab) return\n if (this.currentItems === null) return\n this.api.get_tlm_cnts(this.visible).then((counts) => {\n for (let i = 0; i < counts.length; i++) {\n let index = this.data.findIndex(\n (item) =>\n item.target_name === this.visible[i][0] &&\n item.packet_name === this.visible[i][1],\n )\n this.data[index].count = counts[i]\n }\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"e256e94680806af814e3995bd427af2054aa8563"},i=l[t]||(l[t]={});i[n]&&i[n].hash===e||(i[n]=a);var o=i[n];return s=function(){return o},o}s();const m={components:{RawDialog:c.c},mixins:[o.c],props:{tabId:Number,curTab:Number},data(){return s().f[0]++,s().s[0]++,{search:"",data:[],headers:[{text:"Target Name",value:"target_name"},{text:"Packet Name",value:"packet_name"},{text:"Packet Count",value:"count"},{text:"View Raw",value:"view_raw"},{text:"View In Packet Viewer",value:"view_in_pkt_viewer"}],rawDialogs:[],visible:null}},created(){s().f[1]++,s().s[1]++,this.api.get_target_names().then((n=>{s().f[2]++,s().s[2]++,n.map((n=>{s().f[3]++,s().s[3]++,this.api.get_all_tlm_names(n).then((e=>{s().f[4]++,s().s[4]++,this.data=this.data.concat(e.map((e=>(s().f[5]++,s().s[5]++,{target_name:n,packet_name:e,count:0}))))}))}))}))},methods:{focus(n){s().f[6]++,s().s[6]++,this.rawDialogs.map((n=>{s().f[7]++,s().s[7]++,n.zIndex=1}));let e=(s().s[8]++,this.rawDialogs.indexOf(n));s().s[9]++,this.rawDialogs[e].zIndex=2},openViewRaw(n,e){s().f[8]++,s().s[10]++,this.rawDialogs.map((n=>{s().f[9]++,s().s[11]++,n.zIndex=1})),s().s[12]++,this.rawDialogs=this.rawDialogs.concat({target_name:n,packet_name:e,zIndex:2})},closeRawDialog(n){s().f[10]++;let e=(s().s[13]++,this.rawDialogs.indexOf(n));s().s[14]++,this.rawDialogs.splice(e,1)},openPktViewer(n,e){s().f[11]++,s().s[15]++,window.open(`/tools/packetviewer/${n}/${e}`,"_blank")},currentItems(n){s().f[12]++,s().s[16]++,this.visible=n.map((n=>(s().f[13]++,s().s[17]++,[n.target_name,n.packet_name])))},update(){return s().f[14]++,s().s[18]++,this.tabId!=this.curTab?(s().b[0][0]++,void s().s[19]++):(s().b[0][1]++,s().s[20]++,null===this.currentItems?(s().b[1][0]++,void s().s[21]++):(s().b[1][1]++,s().s[22]++,void this.api.get_tlm_cnts(this.visible).then((n=>{s().f[15]++,s().s[23]++;for(let e=(s().s[24]++,0);e<n.length;e++){let l=(s().s[25]++,this.data.findIndex((n=>(s().f[16]++,s().s[26]++,s().b[2][0]++,n.target_name===this.visible[e][0]&&(s().b[2][1]++,n.packet_name===this.visible[e][1])))));s().s[27]++,this.data[l].count=n[e]}}))))}}},r=m;var u=l(3552),d=(0,u.c)(r,a,i,!1,null,null,null);const A=d.exports}}]);
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
"use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[195],{4195:(n,e,l)=>{function t(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",e="50da0d76dc6340037a3236b5a291f8bc4b533635",l=new Function("return this")(),a="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:5,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:4,column:1214}},4:{start:{line:1,column:420},end:{line:1,column:434}},5:{start:{line:4,column:202},end:{line:4,column:416}},6:{start:{line:4,column:314},end:{line:4,column:372}},7:{start:{line:4,column:472},end:{line:4,column:865}},8:{start:{line:4,column:671},end:{line:4,column:731}},9:{start:{line:4,column:920},end:{line:4,column:1208}},10:{start:{line:4,column:1130},end:{line:4,column:1158}},11:{start:{line:4,column:1185},end:{line:4,column:1204}},12:{start:{line:6,column:22},end:{line:6,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:5,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:404},end:{line:1,column:405}},loc:{start:{line:1,column:419},end:{line:1,column:435}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:4,column:183},end:{line:4,column:184}},loc:{start:{line:4,column:201},end:{line:4,column:417}},line:4},3:{name:"(anonymous_3)",decl:{start:{line:4,column:297},end:{line:4,column:298}},loc:{start:{line:4,column:313},end:{line:4,column:373}},line:4},4:{name:"(anonymous_4)",decl:{start:{line:4,column:453},end:{line:4,column:454}},loc:{start:{line:4,column:471},end:{line:4,column:866}},line:4},5:{name:"(anonymous_5)",decl:{start:{line:4,column:654},end:{line:4,column:655}},loc:{start:{line:4,column:670},end:{line:4,column:732}},line:4},6:{name:"(anonymous_6)",decl:{start:{line:4,column:908},end:{line:4,column:909}},loc:{start:{line:4,column:919},end:{line:4,column:1209}},line:4},7:{name:"(anonymous_7)",decl:{start:{line:4,column:1113},end:{line:4,column:1114}},loc:{start:{line:4,column:1129},end:{line:4,column:1159}},line:4},8:{name:"(anonymous_8)",decl:{start:{line:4,column:1168},end:{line:4,column:1169}},loc:{start:{line:4,column:1184},end:{line:4,column:1205}},line:4}},branchMap:{0:{loc:{start:{line:4,column:480},end:{line:4,column:548}},type:"cond-expr",locations:[{start:{line:4,column:513},end:{line:4,column:539}},{start:{line:4,column:540},end:{line:4,column:548}}],line:4},1:{loc:{start:{line:4,column:561},end:{line:4,column:864}},type:"cond-expr",locations:[{start:{line:4,column:593},end:{line:4,column:855}},{start:{line:4,column:856},end:{line:4,column:864}}],line:4}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"50da0d76dc6340037a3236b5a291f8bc4b533635"},o=l[a]||(l[a]={});o[n]&&o[n].hash===e||(o[n]=i);var c=o[n];return t=function(){return c},c}l.r(e),l.d(e,{default:()=>A}),t(),t().s[0]++;var a=function(){t().f[0]++;var n=(t().s[1]++,this),e=(t().s[2]++,n._self._c);return t().s[3]++,e("v-card",[e("v-card-title",[n._v("\n "+n._s(n.data.length)+" Telemetry Packets\n "),e("v-spacer"),n._v(" "),e("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":""},model:{value:n.search,callback:function(e){t().f[1]++,t().s[4]++,n.search=e},expression:"search"}})],1),n._v(" "),e("v-data-table",{attrs:{headers:n.headers,items:n.data,search:n.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,50,100],showFirstLastPage:!0},"sort-by":"target_name","calculate-widths":"","multi-sort":"","data-test":"tlm-packets-table"},on:{"current-items":n.currentItems},scopedSlots:n._u([{key:"item.view_raw",fn:function({item:l}){return t().f[2]++,t().s[5]++,[e("v-btn",{attrs:{block:"",color:"primary",disabled:l.count<1},on:{click:function(e){return t().f[3]++,t().s[6]++,n.openViewRaw(l.target_name,l.packet_name)}}},[n._v("\n View Raw\n ")])]}},{key:"item.view_in_pkt_viewer",fn:function({item:l}){return t().f[4]++,t().s[7]++,["UNKNOWN"===l.target_name?(t().b[0][0]++,e("span",[n._v("N/A")])):(t().b[0][1]++,n._e()),n._v(" "),"UNKNOWN"!=l.target_name?(t().b[1][0]++,e("v-btn",{attrs:{block:"",color:"primary"},on:{click:function(e){return t().f[5]++,t().s[8]++,n.openPktViewer(l.target_name,l.packet_name)}}},[n._v("\n View In Packet Viewer\n "),e("v-icon",{attrs:{right:""}},[n._v(" mdi-open-in-new ")])],1)):(t().b[1][1]++,n._e())]}}])}),n._v(" "),n._l(n.rawDialogs,(function(l){return t().f[6]++,t().s[9]++,e("raw-dialog",{key:l.target_name+"_"+l.packet_name,attrs:{type:"Telemetry","target-name":l.target_name,"packet-name":l.packet_name,visible:!0,"z-index":l.zIndex},on:{close:function(e){return t().f[7]++,t().s[10]++,n.closeRawDialog(l)},focus:function(e){return t().f[8]++,t().s[11]++,n.focus(l)}}})}))],2)},i=(t().s[12]++,[]),o=l(8474),c=l(6328);function s(){var n="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",e="e256e94680806af814e3995bd427af2054aa8563",l=new Function("return this")(),t="__coverage__",a={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue",statementMap:{0:{start:{line:15,column:4},end:{line:27,column:5}},1:{start:{line:30,column:4},end:{line:40,column:6}},2:{start:{line:31,column:6},end:{line:39,column:8}},3:{start:{line:32,column:8},end:{line:38,column:10}},4:{start:{line:33,column:10},end:{line:37,column:11}},5:{start:{line:35,column:14},end:{line:35,column:75}},6:{start:{line:44,column:6},end:{line:46,column:8}},7:{start:{line:45,column:8},end:{line:45,column:25}},8:{start:{line:47,column:14},end:{line:47,column:45}},9:{start:{line:48,column:6},end:{line:48,column:35}},10:{start:{line:51,column:6},end:{line:53,column:8}},11:{start:{line:52,column:8},end:{line:52,column:25}},12:{start:{line:54,column:6},end:{line:58,column:8}},13:{start:{line:61,column:14},end:{line:61,column:45}},14:{start:{line:62,column:6},end:{line:62,column:34}},15:{start:{line:65,column:6},end:{line:65,column:80}},16:{start:{line:68,column:6},end:{line:70,column:8}},17:{start:{line:69,column:8},end:{line:69,column:45}},18:{start:{line:73,column:6},end:{line:73,column:43}},19:{start:{line:73,column:37},end:{line:73,column:43}},20:{start:{line:74,column:6},end:{line:74,column:44}},21:{start:{line:74,column:38},end:{line:74,column:44}},22:{start:{line:75,column:6},end:{line:84,column:8}},23:{start:{line:76,column:8},end:{line:83,column:9}},24:{start:{line:76,column:21},end:{line:76,column:22}},25:{start:{line:77,column:22},end:{line:81,column:11}},26:{start:{line:79,column:14},end:{line:80,column:53}},27:{start:{line:82,column:10},end:{line:82,column:44}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:9},end:{line:28,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:29,column:2},end:{line:29,column:3}},loc:{start:{line:29,column:12},end:{line:41,column:3}},line:29},2:{name:"(anonymous_2)",decl:{start:{line:30,column:37},end:{line:30,column:38}},loc:{start:{line:30,column:50},end:{line:40,column:5}},line:30},3:{name:"(anonymous_3)",decl:{start:{line:31,column:18},end:{line:31,column:19}},loc:{start:{line:31,column:30},end:{line:39,column:7}},line:31},4:{name:"(anonymous_4)",decl:{start:{line:32,column:48},end:{line:32,column:49}},loc:{start:{line:32,column:59},end:{line:38,column:9}},line:32},5:{name:"(anonymous_5)",decl:{start:{line:34,column:22},end:{line:34,column:23}},loc:{start:{line:34,column:34},end:{line:36,column:13}},line:34},6:{name:"(anonymous_6)",decl:{start:{line:43,column:4},end:{line:43,column:5}},loc:{start:{line:43,column:18},end:{line:49,column:5}},line:43},7:{name:"(anonymous_7)",decl:{start:{line:44,column:26},end:{line:44,column:27}},loc:{start:{line:44,column:38},end:{line:46,column:7}},line:44},8:{name:"(anonymous_8)",decl:{start:{line:50,column:4},end:{line:50,column:5}},loc:{start:{line:50,column:42},end:{line:59,column:5}},line:50},9:{name:"(anonymous_9)",decl:{start:{line:51,column:26},end:{line:51,column:27}},loc:{start:{line:51,column:38},end:{line:53,column:7}},line:51},10:{name:"(anonymous_10)",decl:{start:{line:60,column:4},end:{line:60,column:5}},loc:{start:{line:60,column:27},end:{line:63,column:5}},line:60},11:{name:"(anonymous_11)",decl:{start:{line:64,column:4},end:{line:64,column:5}},loc:{start:{line:64,column:44},end:{line:66,column:5}},line:64},12:{name:"(anonymous_12)",decl:{start:{line:67,column:4},end:{line:67,column:5}},loc:{start:{line:67,column:24},end:{line:71,column:5}},line:67},13:{name:"(anonymous_13)",decl:{start:{line:68,column:31},end:{line:68,column:32}},loc:{start:{line:68,column:38},end:{line:70,column:7}},line:68},14:{name:"(anonymous_14)",decl:{start:{line:72,column:4},end:{line:72,column:5}},loc:{start:{line:72,column:13},end:{line:85,column:5}},line:72},15:{name:"(anonymous_15)",decl:{start:{line:75,column:47},end:{line:75,column:48}},loc:{start:{line:75,column:59},end:{line:84,column:7}},line:75},16:{name:"(anonymous_16)",decl:{start:{line:78,column:12},end:{line:78,column:13}},loc:{start:{line:79,column:14},end:{line:80,column:53}},line:79}},branchMap:{0:{loc:{start:{line:73,column:6},end:{line:73,column:43}},type:"if",locations:[{start:{line:73,column:6},end:{line:73,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},1:{loc:{start:{line:74,column:6},end:{line:74,column:44}},type:"if",locations:[{start:{line:74,column:6},end:{line:74,column:44}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:74},2:{loc:{start:{line:79,column:14},end:{line:80,column:53}},type:"binary-expr",locations:[{start:{line:79,column:14},end:{line:79,column:53}},{start:{line:80,column:14},end:{line:80,column:53}}],line:79}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,sources:["TlmPacketsTab.vue"],names:[],mappings:";AA4FA;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",file:"TlmPacketsTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Telemetry Packets\n <v-spacer />\n <v-text-field\n v-model="search"\n label="Search"\n prepend-inner-icon="mdi-magnify"\n clearable\n outlined\n dense\n single-line\n hide-details\n class="search"\n />\n </v-card-title>\n <v-data-table\n :headers="headers"\n :items="data"\n :search="search"\n :items-per-page="10"\n :footer-props="{\n itemsPerPageOptions: [10, 20, 50, 100],\n showFirstLastPage: true,\n }"\n sort-by="target_name"\n @current-items="currentItems"\n calculate-widths\n multi-sort\n data-test="tlm-packets-table"\n >\n <template v-slot:item.view_raw="{ item }">\n <v-btn\n block\n color="primary"\n :disabled="item.count < 1"\n @click="openViewRaw(item.target_name, item.packet_name)"\n >\n View Raw\n </v-btn>\n </template>\n <template v-slot:item.view_in_pkt_viewer="{ item }">\n <span v-if="item.target_name === \'UNKNOWN\'">N/A</span>\n <v-btn\n v-if="item.target_name != \'UNKNOWN\'"\n block\n color="primary"\n @click="openPktViewer(item.target_name, item.packet_name)"\n >\n View In Packet Viewer\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <raw-dialog\n v-for="d in rawDialogs"\n :key="d.target_name + \'_\' + d.packet_name"\n type="Telemetry"\n :target-name="d.target_name"\n :packet-name="d.packet_name"\n :visible="true"\n :z-index="d.zIndex"\n @close="closeRawDialog(d)"\n @focus="focus(d)"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from \'./Updater\'\nimport RawDialog from \'./RawDialog\'\n\nexport default {\n components: {\n RawDialog,\n },\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: \'\',\n data: [],\n headers: [\n { text: \'Target Name\', value: \'target_name\' },\n { text: \'Packet Name\', value: \'packet_name\' },\n { text: \'Packet Count\', value: \'count\' },\n { text: \'View Raw\', value: \'view_raw\' },\n { text: \'View In Packet Viewer\', value: \'view_in_pkt_viewer\' },\n ],\n rawDialogs: [],\n visible: null,\n }\n },\n created() {\n this.api.get_target_names().then((targets) => {\n targets.map((target) => {\n this.api.get_all_tlm_names(target).then((names) => {\n this.data = this.data.concat(\n names.map((packet) => {\n return { target_name: target, packet_name: packet, count: 0 }\n }),\n )\n })\n })\n })\n },\n methods: {\n focus(dialog) {\n this.rawDialogs.map((dialog) => {\n dialog.zIndex = 1\n })\n let i = this.rawDialogs.indexOf(dialog)\n this.rawDialogs[i].zIndex = 2\n },\n openViewRaw(target_name, packet_name) {\n this.rawDialogs.map((dialog) => {\n dialog.zIndex = 1\n })\n this.rawDialogs = this.rawDialogs.concat({\n target_name: target_name,\n packet_name: packet_name,\n zIndex: 2,\n })\n },\n closeRawDialog(dialog) {\n let i = this.rawDialogs.indexOf(dialog)\n this.rawDialogs.splice(i, 1)\n },\n openPktViewer(target_name, packet_name) {\n window.open(`/tools/packetviewer/${target_name}/${packet_name}`, \'_blank\')\n },\n currentItems(event) {\n this.visible = event.map((i) => {\n return [i.target_name, i.packet_name]\n })\n },\n update() {\n if (this.tabId != this.curTab) return\n if (this.currentItems === null) return\n this.api.get_tlm_cnts(this.visible).then((counts) => {\n for (let i = 0; i < counts.length; i++) {\n let index = this.data.findIndex(\n (item) =>\n item.target_name === this.visible[i][0] &&\n item.packet_name === this.visible[i][1],\n )\n this.data[index].count = counts[i]\n }\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"e256e94680806af814e3995bd427af2054aa8563"},i=l[t]||(l[t]={});i[n]&&i[n].hash===e||(i[n]=a);var o=i[n];return s=function(){return o},o}s();const m={components:{RawDialog:c.A},mixins:[o.A],props:{tabId:Number,curTab:Number},data(){return s().f[0]++,s().s[0]++,{search:"",data:[],headers:[{text:"Target Name",value:"target_name"},{text:"Packet Name",value:"packet_name"},{text:"Packet Count",value:"count"},{text:"View Raw",value:"view_raw"},{text:"View In Packet Viewer",value:"view_in_pkt_viewer"}],rawDialogs:[],visible:null}},created(){s().f[1]++,s().s[1]++,this.api.get_target_names().then((n=>{s().f[2]++,s().s[2]++,n.map((n=>{s().f[3]++,s().s[3]++,this.api.get_all_tlm_names(n).then((e=>{s().f[4]++,s().s[4]++,this.data=this.data.concat(e.map((e=>(s().f[5]++,s().s[5]++,{target_name:n,packet_name:e,count:0}))))}))}))}))},methods:{focus(n){s().f[6]++,s().s[6]++,this.rawDialogs.map((n=>{s().f[7]++,s().s[7]++,n.zIndex=1}));let e=(s().s[8]++,this.rawDialogs.indexOf(n));s().s[9]++,this.rawDialogs[e].zIndex=2},openViewRaw(n,e){s().f[8]++,s().s[10]++,this.rawDialogs.map((n=>{s().f[9]++,s().s[11]++,n.zIndex=1})),s().s[12]++,this.rawDialogs=this.rawDialogs.concat({target_name:n,packet_name:e,zIndex:2})},closeRawDialog(n){s().f[10]++;let e=(s().s[13]++,this.rawDialogs.indexOf(n));s().s[14]++,this.rawDialogs.splice(e,1)},openPktViewer(n,e){s().f[11]++,s().s[15]++,window.open(`/tools/packetviewer/${n}/${e}`,"_blank")},currentItems(n){s().f[12]++,s().s[16]++,this.visible=n.map((n=>(s().f[13]++,s().s[17]++,[n.target_name,n.packet_name])))},update(){return s().f[14]++,s().s[18]++,this.tabId!=this.curTab?(s().b[0][0]++,void s().s[19]++):(s().b[0][1]++,s().s[20]++,null===this.currentItems?(s().b[1][0]++,void s().s[21]++):(s().b[1][1]++,s().s[22]++,void this.api.get_tlm_cnts(this.visible).then((n=>{s().f[15]++,s().s[23]++;for(let e=(s().s[24]++,0);e<n.length;e++){let l=(s().s[25]++,this.data.findIndex((n=>(s().f[16]++,s().s[26]++,s().b[2][0]++,n.target_name===this.visible[e][0]&&(s().b[2][1]++,n.packet_name===this.visible[e][1])))));s().s[27]++,this.data[l].count=n[e]}}))))}}},r=m;var u=l(2401),d=(0,u.A)(r,a,i,!1,null,null,null);const A=d.exports}}]);
|
|
2
|
+
//# sourceMappingURL=195.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js/592.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/TlmPacketsTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/TlmPacketsTab.vue?3a70","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/TlmPacketsTab.vue?4c57"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Telemetry Packets\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{staticClass:\"search\",attrs:{\"label\":\"Search\",\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n itemsPerPageOptions: [10, 20, 50, 100],\n showFirstLastPage: true,\n },\"sort-by\":\"target_name\",\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"tlm-packets-table\"},on:{\"current-items\":_vm.currentItems},scopedSlots:_vm._u([{key:\"item.view_raw\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":item.count < 1},on:{\"click\":function($event){return _vm.openViewRaw(item.target_name, item.packet_name)}}},[_vm._v(\"\\n View Raw\\n \")])]}},{key:\"item.view_in_pkt_viewer\",fn:function({ item }){return [(item.target_name === 'UNKNOWN')?_c('span',[_vm._v(\"N/A\")]):_vm._e(),_vm._v(\" \"),(item.target_name != 'UNKNOWN')?_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.openPktViewer(item.target_name, item.packet_name)}}},[_vm._v(\"\\n View In Packet Viewer\\n \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-open-in-new \")])],1):_vm._e()]}}])}),_vm._v(\" \"),_vm._l((_vm.rawDialogs),function(d){return _c('raw-dialog',{key:d.target_name + '_' + d.packet_name,attrs:{\"type\":\"Telemetry\",\"target-name\":d.target_name,\"packet-name\":d.packet_name,\"visible\":true,\"z-index\":d.zIndex},on:{\"close\":function($event){return _vm.closeRawDialog(d)},\"focus\":function($event){return _vm.focus(d)}}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Telemetry Packets\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100],\n showFirstLastPage: true,\n }\"\n sort-by=\"target_name\"\n @current-items=\"currentItems\"\n calculate-widths\n multi-sort\n data-test=\"tlm-packets-table\"\n >\n <template v-slot:item.view_raw=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"item.count < 1\"\n @click=\"openViewRaw(item.target_name, item.packet_name)\"\n >\n View Raw\n </v-btn>\n </template>\n <template v-slot:item.view_in_pkt_viewer=\"{ item }\">\n <span v-if=\"item.target_name === 'UNKNOWN'\">N/A</span>\n <v-btn\n v-if=\"item.target_name != 'UNKNOWN'\"\n block\n color=\"primary\"\n @click=\"openPktViewer(item.target_name, item.packet_name)\"\n >\n View In Packet Viewer\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <raw-dialog\n v-for=\"d in rawDialogs\"\n :key=\"d.target_name + '_' + d.packet_name\"\n type=\"Telemetry\"\n :target-name=\"d.target_name\"\n :packet-name=\"d.packet_name\"\n :visible=\"true\"\n :z-index=\"d.zIndex\"\n @close=\"closeRawDialog(d)\"\n @focus=\"focus(d)\"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport RawDialog from './RawDialog'\n\nexport default {\n components: {\n RawDialog,\n },\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n headers: [\n { text: 'Target Name', value: 'target_name' },\n { text: 'Packet Name', value: 'packet_name' },\n { text: 'Packet Count', value: 'count' },\n { text: 'View Raw', value: 'view_raw' },\n { text: 'View In Packet Viewer', value: 'view_in_pkt_viewer' },\n ],\n rawDialogs: [],\n visible: null,\n }\n },\n created() {\n this.api.get_target_names().then((targets) => {\n targets.map((target) => {\n this.api.get_all_tlm_names(target).then((names) => {\n this.data = this.data.concat(\n names.map((packet) => {\n return { target_name: target, packet_name: packet, count: 0 }\n }),\n )\n })\n })\n })\n },\n methods: {\n focus(dialog) {\n this.rawDialogs.map((dialog) => {\n dialog.zIndex = 1\n })\n let i = this.rawDialogs.indexOf(dialog)\n this.rawDialogs[i].zIndex = 2\n },\n openViewRaw(target_name, packet_name) {\n this.rawDialogs.map((dialog) => {\n dialog.zIndex = 1\n })\n this.rawDialogs = this.rawDialogs.concat({\n target_name: target_name,\n packet_name: packet_name,\n zIndex: 2,\n })\n },\n closeRawDialog(dialog) {\n let i = this.rawDialogs.indexOf(dialog)\n this.rawDialogs.splice(i, 1)\n },\n openPktViewer(target_name, packet_name) {\n window.open(`/tools/packetviewer/${target_name}/${packet_name}`, '_blank')\n },\n currentItems(event) {\n this.visible = event.map((i) => {\n return [i.target_name, i.packet_name]\n })\n },\n update() {\n if (this.tabId != this.curTab) return\n if (this.currentItems === null) return\n this.api.get_tlm_cnts(this.visible).then((counts) => {\n for (let i = 0; i < counts.length; i++) {\n let index = this.data.findIndex(\n (item) =>\n item.target_name === this.visible[i][0] &&\n item.packet_name === this.visible[i][1],\n )\n this.data[index].count = counts[i]\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmPacketsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmPacketsTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TlmPacketsTab.vue?vue&type=template&id=57e09e14\"\nimport script from \"./TlmPacketsTab.vue?vue&type=script&lang=js\"\nexport * from \"./TlmPacketsTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["cov_1olbwcttzg","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","staticClass","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","showFirstLastPage","on","currentItems","scopedSlots","_u","key","fn","item","count","$event","openViewRaw","target_name","packet_name","b","_e","openPktViewer","_l","rawDialogs","d","zIndex","closeRawDialog","focus","staticRenderFns","components","RawDialog","mixins","Updater","props","tabId","Number","curTab","text","visible","created","api","get_target_names","then","targets","map","target","get_all_tlm_names","names","concat","packet","methods","dialog","i","indexOf","splice","window","open","event","update","get_tlm_cnts","counts","index","findIndex","component"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"js/195.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/TlmPacketsTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TlmPacketsTab.vue","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/TlmPacketsTab.vue?3a70","webpack://@openc3/cosmos-tool-cmdtlmserver/./src/tools/CmdTlmServer/TlmPacketsTab.vue?4c57"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"\\n \"+_vm._s(_vm.data.length)+\" Telemetry Packets\\n \"),_c('v-spacer'),_vm._v(\" \"),_c('v-text-field',{staticClass:\"search\",attrs:{\"label\":\"Search\",\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n itemsPerPageOptions: [10, 20, 50, 100],\n showFirstLastPage: true,\n },\"sort-by\":\"target_name\",\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"tlm-packets-table\"},on:{\"current-items\":_vm.currentItems},scopedSlots:_vm._u([{key:\"item.view_raw\",fn:function({ item }){return [_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"disabled\":item.count < 1},on:{\"click\":function($event){return _vm.openViewRaw(item.target_name, item.packet_name)}}},[_vm._v(\"\\n View Raw\\n \")])]}},{key:\"item.view_in_pkt_viewer\",fn:function({ item }){return [(item.target_name === 'UNKNOWN')?_c('span',[_vm._v(\"N/A\")]):_vm._e(),_vm._v(\" \"),(item.target_name != 'UNKNOWN')?_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.openPktViewer(item.target_name, item.packet_name)}}},[_vm._v(\"\\n View In Packet Viewer\\n \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-open-in-new \")])],1):_vm._e()]}}])}),_vm._v(\" \"),_vm._l((_vm.rawDialogs),function(d){return _c('raw-dialog',{key:d.target_name + '_' + d.packet_name,attrs:{\"type\":\"Telemetry\",\"target-name\":d.target_name,\"packet-name\":d.packet_name,\"visible\":true,\"z-index\":d.zIndex},on:{\"close\":function($event){return _vm.closeRawDialog(d)},\"focus\":function($event){return _vm.focus(d)}}})})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Telemetry Packets\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n outlined\n dense\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{\n itemsPerPageOptions: [10, 20, 50, 100],\n showFirstLastPage: true,\n }\"\n sort-by=\"target_name\"\n @current-items=\"currentItems\"\n calculate-widths\n multi-sort\n data-test=\"tlm-packets-table\"\n >\n <template v-slot:item.view_raw=\"{ item }\">\n <v-btn\n block\n color=\"primary\"\n :disabled=\"item.count < 1\"\n @click=\"openViewRaw(item.target_name, item.packet_name)\"\n >\n View Raw\n </v-btn>\n </template>\n <template v-slot:item.view_in_pkt_viewer=\"{ item }\">\n <span v-if=\"item.target_name === 'UNKNOWN'\">N/A</span>\n <v-btn\n v-if=\"item.target_name != 'UNKNOWN'\"\n block\n color=\"primary\"\n @click=\"openPktViewer(item.target_name, item.packet_name)\"\n >\n View In Packet Viewer\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <raw-dialog\n v-for=\"d in rawDialogs\"\n :key=\"d.target_name + '_' + d.packet_name\"\n type=\"Telemetry\"\n :target-name=\"d.target_name\"\n :packet-name=\"d.packet_name\"\n :visible=\"true\"\n :z-index=\"d.zIndex\"\n @close=\"closeRawDialog(d)\"\n @focus=\"focus(d)\"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\nimport RawDialog from './RawDialog'\n\nexport default {\n components: {\n RawDialog,\n },\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n headers: [\n { text: 'Target Name', value: 'target_name' },\n { text: 'Packet Name', value: 'packet_name' },\n { text: 'Packet Count', value: 'count' },\n { text: 'View Raw', value: 'view_raw' },\n { text: 'View In Packet Viewer', value: 'view_in_pkt_viewer' },\n ],\n rawDialogs: [],\n visible: null,\n }\n },\n created() {\n this.api.get_target_names().then((targets) => {\n targets.map((target) => {\n this.api.get_all_tlm_names(target).then((names) => {\n this.data = this.data.concat(\n names.map((packet) => {\n return { target_name: target, packet_name: packet, count: 0 }\n }),\n )\n })\n })\n })\n },\n methods: {\n focus(dialog) {\n this.rawDialogs.map((dialog) => {\n dialog.zIndex = 1\n })\n let i = this.rawDialogs.indexOf(dialog)\n this.rawDialogs[i].zIndex = 2\n },\n openViewRaw(target_name, packet_name) {\n this.rawDialogs.map((dialog) => {\n dialog.zIndex = 1\n })\n this.rawDialogs = this.rawDialogs.concat({\n target_name: target_name,\n packet_name: packet_name,\n zIndex: 2,\n })\n },\n closeRawDialog(dialog) {\n let i = this.rawDialogs.indexOf(dialog)\n this.rawDialogs.splice(i, 1)\n },\n openPktViewer(target_name, packet_name) {\n window.open(`/tools/packetviewer/${target_name}/${packet_name}`, '_blank')\n },\n currentItems(event) {\n this.visible = event.map((i) => {\n return [i.target_name, i.packet_name]\n })\n },\n update() {\n if (this.tabId != this.curTab) return\n if (this.currentItems === null) return\n this.api.get_tlm_cnts(this.visible).then((counts) => {\n for (let i = 0; i < counts.length; i++) {\n let index = this.data.findIndex(\n (item) =>\n item.target_name === this.visible[i][0] &&\n item.packet_name === this.visible[i][1],\n )\n this.data[index].count = counts[i]\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmPacketsTab.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TlmPacketsTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TlmPacketsTab.vue?vue&type=template&id=57e09e14\"\nimport script from \"./TlmPacketsTab.vue?vue&type=script&lang=js\"\nexport * from \"./TlmPacketsTab.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["cov_1olbwcttzg","actualCoverage","s","render","f","_vm","this","_c","_self","_v","_s","data","length","staticClass","attrs","model","value","search","callback","$$v","expression","headers","itemsPerPageOptions","showFirstLastPage","on","currentItems","scopedSlots","_u","key","fn","item","count","$event","openViewRaw","target_name","packet_name","b","_e","openPktViewer","_l","rawDialogs","d","zIndex","closeRawDialog","focus","staticRenderFns","components","RawDialog","mixins","Updater","props","tabId","Number","curTab","text","visible","created","api","get_target_names","then","targets","map","target","get_all_tlm_names","names","concat","packet","methods","dialog","i","indexOf","splice","window","open","event","update","get_tlm_cnts","counts","index","findIndex","component"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[767],{9980:(t,e,n)=>{n.d(e,{Eh:()=>c,gF:()=>w});var i={logger:self.console,WebSocket:self.WebSocket},s={log(...t){this.enabled&&(t.push(Date.now()),i.logger.log("[ActionCable]",...t))}};const o=()=>(new Date).getTime(),r=t=>(o()-t)/1e3;class c{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=o(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),s.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=o(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),s.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=o()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,s.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=o(),s.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){const{staleThreshold:t,reconnectionBackoffRate:e}=this.constructor,n=Math.pow(1+e,Math.min(this.reconnectAttempts,10)),i=0===this.reconnectAttempts?1:e,s=i*Math.random();return 1e3*t*n*(1+s)}reconnectIfStale(){this.connectionIsStale()&&(s.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${r(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?s.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${r(this.disconnectedAt)} s`):(s.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return r(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&r(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){"visible"===document.visibilityState&&setTimeout((()=>{!this.connectionIsStale()&&this.connection.isOpen()||(s.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}}c.staleThreshold=6,c.reconnectionBackoffRate=.15;var a={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart",remote:"remote"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]};const{message_types:l,protocols:u}=a,h=u.slice(0,u.length-1),d=[].indexOf;class p{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new c(this),this.disconnected=!0}send(t){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(t)),!0)}open(){if(this.isActive())return s.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{const t=[...u,...this.consumer.subprotocols||[]];return s.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new i.WebSocket(this.consumer.url,t),this.installEventHandlers(),this.monitor.start(),!0}}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(s.log(`Reopening WebSocket, current state is ${this.getState()}`),!this.isActive())return this.open();try{return this.close()}catch(t){s.log("Failed to reopen WebSocket",t)}finally{s.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}triedToReconnect(){return this.monitor.reconnectAttempts>0}isProtocolSupported(){return d.call(h,this.getProtocol())>=0}isState(...t){return d.call(t,this.getState())>=0}getState(){if(this.webSocket)for(let t in i.WebSocket)if(i.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase();return null}installEventHandlers(){for(let t in this.events){const e=this.events[t].bind(this);this.webSocket[`on${t}`]=e}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}}p.reopenDelay=500,p.prototype.events={message(t){if(!this.isProtocolSupported())return;const{identifier:e,message:n,reason:i,reconnect:o,type:r}=JSON.parse(t.data);switch(r){case l.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case l.disconnect:return s.log(`Disconnecting. Reason: ${i}`),this.close({allowReconnect:o});case l.ping:return this.monitor.recordPing();case l.confirmation:return this.subscriptions.confirmSubscription(e),this.reconnectAttempted?(this.reconnectAttempted=!1,this.subscriptions.notify(e,"connected",{reconnected:!0})):this.subscriptions.notify(e,"connected",{reconnected:!1});case l.rejection:return this.subscriptions.reject(e);default:return this.subscriptions.notify(e,"received",n)}},open(){if(s.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return s.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(t){if(s.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){s.log("WebSocket onerror event")}};const g=function(t,e){if(null!=e)for(let n in e){const i=e[n];t[n]=i}return t};class f{constructor(t,e={},n){this.consumer=t,this.identifier=JSON.stringify(e),g(this,n)}perform(t,e={}){return e.action=t,this.send(e)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class m{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){-1==this.pendingSubscriptions.indexOf(t)?(s.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):s.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){s.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((e=>e!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&"function"===typeof this.subscriptions.subscribe&&this.pendingSubscriptions.map((t=>{s.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}}class b{constructor(t){this.consumer=t,this.guarantor=new m(this),this.subscriptions=[]}create(t,e){const n=t,i="object"===typeof n?n:{channel:n},s=new f(this.consumer,i,e);return this.add(s)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((t=>(this.forget(t),this.notify(t,"rejected"),t)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((e=>e!==t)),t}findAll(t){return this.subscriptions.filter((e=>e.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...e){return this.subscriptions.map((n=>this.notify(n,t,...e)))}notify(t,e,...n){let i;return i="string"===typeof t?this.findAll(t):[t],i.map((t=>"function"===typeof t[e]?t[e](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){s.log(`Subscription confirmed ${t}`),this.findAll(t).map((t=>this.guarantor.forget(t)))}sendCommand(t,e){const{identifier:n}=t;return this.consumer.send({command:e,identifier:n})}}class v{constructor(t){this._url=t,this.subscriptions=new b(this),this.connection=new p(this),this.subprotocols=[]}get url(){return S(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}addSubProtocol(t){this.subprotocols=[...this.subprotocols,t]}}function S(t){if("function"===typeof t&&(t=t()),t&&!/^wss?:/i.test(t)){const e=document.createElement("a");return e.href=t,e.href=e.href,e.protocol=e.protocol.replace("http","ws"),e.href}return t}function w(t=y("url")||a.default_mount_path){return new v(t)}function y(t){const e=document.head.querySelector(`meta[name='action-cable-${t}']`);if(e)return e.getAttribute("content")}},5424:(t,e,n)=>{n.d(e,{c:()=>c});Math.pow(10,8);var i=6e4,s=36e5,o=n(528),r=n(2608);function c(t,e){var n;(0,o.c)(1,arguments);var i=(0,r.c)(null!==(n=null===e||void 0===e?void 0:e.additionalDigits)&&void 0!==n?n:2);if(2!==i&&1!==i&&0!==i)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var s,c=d(t);if(c.date){var a=p(c.date,i);s=g(a.restDateString,a.year)}if(!s||isNaN(s.getTime()))return new Date(NaN);var l,u=s.getTime(),h=0;if(c.time&&(h=m(c.time),isNaN(h)))return new Date(NaN);if(!c.timezone){var f=new Date(u+h),b=new Date(0);return b.setFullYear(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate()),b.setHours(f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds(),f.getUTCMilliseconds()),b}return l=v(c.timezone),isNaN(l)?new Date(NaN):new Date(u+h+l)}var a={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},l=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,u=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,h=/^([+-])(\d{2})(?::?(\d{2}))?$/;function d(t){var e,n={},i=t.split(a.dateTimeDelimiter);if(i.length>2)return n;if(/:/.test(i[0])?e=i[0]:(n.date=i[0],e=i[1],a.timeZoneDelimiter.test(n.date)&&(n.date=t.split(a.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var s=a.timezone.exec(e);s?(n.time=e.replace(s[1],""),n.timezone=s[1]):n.time=e}return n}function p(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),i=t.match(n);if(!i)return{year:NaN,restDateString:""};var s=i[1]?parseInt(i[1]):null,o=i[2]?parseInt(i[2]):null;return{year:null===o?s:100*o,restDateString:t.slice((i[1]||i[2]).length)}}function g(t,e){if(null===e)return new Date(NaN);var n=t.match(l);if(!n)return new Date(NaN);var i=!!n[4],s=f(n[1]),o=f(n[2])-1,r=f(n[3]),c=f(n[4]),a=f(n[5])-1;if(i)return T(e,c,a)?S(e,c,a):new Date(NaN);var u=new Date(0);return A(e,o,r)&&D(e,s)?(u.setUTCFullYear(e,o,Math.max(s,r)),u):new Date(NaN)}function f(t){return t?parseInt(t):1}function m(t){var e=t.match(u);if(!e)return NaN;var n=b(e[1]),o=b(e[2]),r=b(e[3]);return C(n,o,r)?n*s+o*i+1e3*r:NaN}function b(t){return t&&parseFloat(t.replace(",","."))||0}function v(t){if("Z"===t)return 0;var e=t.match(h);if(!e)return 0;var n="+"===e[1]?-1:1,o=parseInt(e[2]),r=e[3]&&parseInt(e[3])||0;return N(o,r)?n*(o*s+r*i):NaN}function S(t,e,n){var i=new Date(0);i.setUTCFullYear(t,0,4);var s=i.getUTCDay()||7,o=7*(e-1)+n+1-s;return i.setUTCDate(i.getUTCDate()+o),i}var w=[31,null,31,30,31,30,31,31,30,31,30,31];function y(t){return t%400===0||t%4===0&&t%100!==0}function A(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(w[e]||(y(t)?29:28))}function D(t,e){return e>=1&&e<=(y(t)?366:365)}function T(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function C(t,e,n){return 24===t?0===e&&0===n:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function N(t,e){return e>=0&&e<=59}},3572:(t,e,n)=>{var i=n(4436),s=n(7740),o=n(1720),r=o("match");t.exports=function(t){var e;return i(t)&&(void 0!==(e=t[r])?!!e:"RegExp"===s(t))}},824:(t,e,n)=>{var i=n(2884),s=n(7204),o=n(1808),r=n(3376),c=RegExp.prototype;t.exports=function(t){var e=t.flags;return void 0!==e||"flags"in c||s(t,"flags")||!o(c,t)?e:i(r,t)}},4144:(t,e,n)=>{var i=n(5460),s=n(2884),o=n(8256),r=n(6852),c=n(5156),a=n(3344),l=n(3572),u=n(9552),h=n(531),d=n(824),p=n(9888),g=n(1720),f=n(5428),m=g("replace"),b=TypeError,v=o("".indexOf),S=o("".replace),w=o("".slice),y=Math.max;i({target:"String",proto:!0},{replaceAll:function(t,e){var n,i,o,g,A,D,T,C,N,k=r(this),$=0,R=0,_="";if(!a(t)){if(n=l(t),n&&(i=u(r(d(t))),!~v(i,"g")))throw new b("`.replaceAll` does not allow non-global regexes");if(o=h(t,m),o)return s(o,t,k,e);if(f&&n)return S(u(k),t,e)}g=u(k),A=u(t),D=c(e),D||(e=u(e)),T=A.length,C=y(1,T),$=v(g,A);while(-1!==$)N=D?u(e(A,$,g)):p(A,g,$,[],void 0,e),_+=w(g,R,$)+N,R=$+T,$=$+C>g.length?-1:v(g,A,$+C);return R<g.length&&(_+=w(g,R)),_}})}}]);
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
"use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[206],{7752:(t,e,n)=>{n.d(e,{Be:()=>w,D$:()=>c});var i={logger:self.console,WebSocket:self.WebSocket},s={log(...t){this.enabled&&(t.push(Date.now()),i.logger.log("[ActionCable]",...t))}};const o=()=>(new Date).getTime(),r=t=>(o()-t)/1e3;class c{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=o(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),s.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=o(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),s.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=o()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,s.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=o(),s.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){const{staleThreshold:t,reconnectionBackoffRate:e}=this.constructor,n=Math.pow(1+e,Math.min(this.reconnectAttempts,10)),i=0===this.reconnectAttempts?1:e,s=i*Math.random();return 1e3*t*n*(1+s)}reconnectIfStale(){this.connectionIsStale()&&(s.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${r(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?s.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${r(this.disconnectedAt)} s`):(s.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return r(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&r(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){"visible"===document.visibilityState&&setTimeout((()=>{!this.connectionIsStale()&&this.connection.isOpen()||(s.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}}c.staleThreshold=6,c.reconnectionBackoffRate=.15;var a={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart",remote:"remote"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]};const{message_types:l,protocols:u}=a,h=u.slice(0,u.length-1),d=[].indexOf;class p{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new c(this),this.disconnected=!0}send(t){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(t)),!0)}open(){if(this.isActive())return s.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{const t=[...u,...this.consumer.subprotocols||[]];return s.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new i.WebSocket(this.consumer.url,t),this.installEventHandlers(),this.monitor.start(),!0}}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(s.log(`Reopening WebSocket, current state is ${this.getState()}`),!this.isActive())return this.open();try{return this.close()}catch(t){s.log("Failed to reopen WebSocket",t)}finally{s.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}triedToReconnect(){return this.monitor.reconnectAttempts>0}isProtocolSupported(){return d.call(h,this.getProtocol())>=0}isState(...t){return d.call(t,this.getState())>=0}getState(){if(this.webSocket)for(let t in i.WebSocket)if(i.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase();return null}installEventHandlers(){for(let t in this.events){const e=this.events[t].bind(this);this.webSocket[`on${t}`]=e}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}}p.reopenDelay=500,p.prototype.events={message(t){if(!this.isProtocolSupported())return;const{identifier:e,message:n,reason:i,reconnect:o,type:r}=JSON.parse(t.data);switch(r){case l.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case l.disconnect:return s.log(`Disconnecting. Reason: ${i}`),this.close({allowReconnect:o});case l.ping:return this.monitor.recordPing();case l.confirmation:return this.subscriptions.confirmSubscription(e),this.reconnectAttempted?(this.reconnectAttempted=!1,this.subscriptions.notify(e,"connected",{reconnected:!0})):this.subscriptions.notify(e,"connected",{reconnected:!1});case l.rejection:return this.subscriptions.reject(e);default:return this.subscriptions.notify(e,"received",n)}},open(){if(s.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return s.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(t){if(s.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){s.log("WebSocket onerror event")}};const g=function(t,e){if(null!=e)for(let n in e){const i=e[n];t[n]=i}return t};class f{constructor(t,e={},n){this.consumer=t,this.identifier=JSON.stringify(e),g(this,n)}perform(t,e={}){return e.action=t,this.send(e)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class m{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){-1==this.pendingSubscriptions.indexOf(t)?(s.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):s.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){s.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((e=>e!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&"function"===typeof this.subscriptions.subscribe&&this.pendingSubscriptions.map((t=>{s.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}}class b{constructor(t){this.consumer=t,this.guarantor=new m(this),this.subscriptions=[]}create(t,e){const n=t,i="object"===typeof n?n:{channel:n},s=new f(this.consumer,i,e);return this.add(s)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((t=>(this.forget(t),this.notify(t,"rejected"),t)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((e=>e!==t)),t}findAll(t){return this.subscriptions.filter((e=>e.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...e){return this.subscriptions.map((n=>this.notify(n,t,...e)))}notify(t,e,...n){let i;return i="string"===typeof t?this.findAll(t):[t],i.map((t=>"function"===typeof t[e]?t[e](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){s.log(`Subscription confirmed ${t}`),this.findAll(t).map((t=>this.guarantor.forget(t)))}sendCommand(t,e){const{identifier:n}=t;return this.consumer.send({command:e,identifier:n})}}class v{constructor(t){this._url=t,this.subscriptions=new b(this),this.connection=new p(this),this.subprotocols=[]}get url(){return S(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}addSubProtocol(t){this.subprotocols=[...this.subprotocols,t]}}function S(t){if("function"===typeof t&&(t=t()),t&&!/^wss?:/i.test(t)){const e=document.createElement("a");return e.href=t,e.href=e.href,e.protocol=e.protocol.replace("http","ws"),e.href}return t}function w(t=y("url")||a.default_mount_path){return new v(t)}function y(t){const e=document.head.querySelector(`meta[name='action-cable-${t}']`);if(e)return e.getAttribute("content")}},3813:(t,e,n)=>{n.d(e,{A:()=>c});Math.pow(10,8);var i=6e4,s=36e5,o=n(1092),r=n(3733);function c(t,e){var n;(0,o.A)(1,arguments);var i=(0,r.A)(null!==(n=null===e||void 0===e?void 0:e.additionalDigits)&&void 0!==n?n:2);if(2!==i&&1!==i&&0!==i)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!==typeof t&&"[object String]"!==Object.prototype.toString.call(t))return new Date(NaN);var s,c=d(t);if(c.date){var a=p(c.date,i);s=g(a.restDateString,a.year)}if(!s||isNaN(s.getTime()))return new Date(NaN);var l,u=s.getTime(),h=0;if(c.time&&(h=m(c.time),isNaN(h)))return new Date(NaN);if(!c.timezone){var f=new Date(u+h),b=new Date(0);return b.setFullYear(f.getUTCFullYear(),f.getUTCMonth(),f.getUTCDate()),b.setHours(f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds(),f.getUTCMilliseconds()),b}return l=v(c.timezone),isNaN(l)?new Date(NaN):new Date(u+h+l)}var a={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},l=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,u=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,h=/^([+-])(\d{2})(?::?(\d{2}))?$/;function d(t){var e,n={},i=t.split(a.dateTimeDelimiter);if(i.length>2)return n;if(/:/.test(i[0])?e=i[0]:(n.date=i[0],e=i[1],a.timeZoneDelimiter.test(n.date)&&(n.date=t.split(a.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var s=a.timezone.exec(e);s?(n.time=e.replace(s[1],""),n.timezone=s[1]):n.time=e}return n}function p(t,e){var n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),i=t.match(n);if(!i)return{year:NaN,restDateString:""};var s=i[1]?parseInt(i[1]):null,o=i[2]?parseInt(i[2]):null;return{year:null===o?s:100*o,restDateString:t.slice((i[1]||i[2]).length)}}function g(t,e){if(null===e)return new Date(NaN);var n=t.match(l);if(!n)return new Date(NaN);var i=!!n[4],s=f(n[1]),o=f(n[2])-1,r=f(n[3]),c=f(n[4]),a=f(n[5])-1;if(i)return T(e,c,a)?S(e,c,a):new Date(NaN);var u=new Date(0);return A(e,o,r)&&D(e,s)?(u.setUTCFullYear(e,o,Math.max(s,r)),u):new Date(NaN)}function f(t){return t?parseInt(t):1}function m(t){var e=t.match(u);if(!e)return NaN;var n=b(e[1]),o=b(e[2]),r=b(e[3]);return C(n,o,r)?n*s+o*i+1e3*r:NaN}function b(t){return t&&parseFloat(t.replace(",","."))||0}function v(t){if("Z"===t)return 0;var e=t.match(h);if(!e)return 0;var n="+"===e[1]?-1:1,o=parseInt(e[2]),r=e[3]&&parseInt(e[3])||0;return N(o,r)?n*(o*s+r*i):NaN}function S(t,e,n){var i=new Date(0);i.setUTCFullYear(t,0,4);var s=i.getUTCDay()||7,o=7*(e-1)+n+1-s;return i.setUTCDate(i.getUTCDate()+o),i}var w=[31,null,31,30,31,30,31,31,30,31,30,31];function y(t){return t%400===0||t%4===0&&t%100!==0}function A(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(w[e]||(y(t)?29:28))}function D(t,e){return e>=1&&e<=(y(t)?366:365)}function T(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function C(t,e,n){return 24===t?0===e&&0===n:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function N(t,e){return e>=0&&e<=59}},473:(t,e,n)=>{var i=n(831),s=n(8689),o=n(4282),r=o("match");t.exports=function(t){var e;return i(t)&&(void 0!==(e=t[r])?!!e:"RegExp"===s(t))}},3113:(t,e,n)=>{var i=n(9944),s=n(4418),o=n(4578),r=n(4932),c=RegExp.prototype;t.exports=function(t){var e=t.flags;return void 0!==e||"flags"in c||s(t,"flags")||!o(c,t)?e:i(r,t)}},8715:(t,e,n)=>{var i=n(5613),s=n(9944),o=n(6881),r=n(9509),c=n(4188),a=n(4318),l=n(473),u=n(2618),h=n(2913),d=n(3113),p=n(1113),g=n(4282),f=n(1942),m=g("replace"),b=TypeError,v=o("".indexOf),S=o("".replace),w=o("".slice),y=Math.max;i({target:"String",proto:!0},{replaceAll:function(t,e){var n,i,o,g,A,D,T,C,N,k=r(this),$=0,R=0,_="";if(!a(t)){if(n=l(t),n&&(i=u(r(d(t))),!~v(i,"g")))throw new b("`.replaceAll` does not allow non-global regexes");if(o=h(t,m),o)return s(o,t,k,e);if(f&&n)return S(u(k),t,e)}g=u(k),A=u(t),D=c(e),D||(e=u(e)),T=A.length,C=y(1,T),$=v(g,A);while(-1!==$)N=D?u(e(A,$,g)):p(A,g,$,[],void 0,e),_+=w(g,R,$)+N,R=$+T,$=$+C>g.length?-1:v(g,A,$+C);return R<g.length&&(_+=w(g,R)),_}})}}]);
|
|
2
|
+
//# sourceMappingURL=206.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js/767.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/@rails/actioncable/app/assets/javascripts/actioncable.esm.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/date-fns/esm/constants/index.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/date-fns/esm/parseISO/index.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/is-regexp.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/regexp-get-flags.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/modules/es.string.replace-all.js"],"sourcesContent":["var adapters = {\n logger: self.console,\n WebSocket: self.WebSocket\n};\n\nvar logger = {\n log(...messages) {\n if (this.enabled) {\n messages.push(Date.now());\n adapters.logger.log(\"[ActionCable]\", ...messages);\n }\n }\n};\n\nconst now = () => (new Date).getTime();\n\nconst secondsSince = time => (now() - time) / 1e3;\n\nclass ConnectionMonitor {\n constructor(connection) {\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n start() {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n addEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`);\n }\n }\n stop() {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor stopped\");\n }\n }\n isRunning() {\n return this.startedAt && !this.stoppedAt;\n }\n recordPing() {\n this.pingedAt = now();\n }\n recordConnect() {\n this.reconnectAttempts = 0;\n this.recordPing();\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n }\n recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n }\n startPolling() {\n this.stopPolling();\n this.poll();\n }\n stopPolling() {\n clearTimeout(this.pollTimeout);\n }\n poll() {\n this.pollTimeout = setTimeout((() => {\n this.reconnectIfStale();\n this.poll();\n }), this.getPollInterval());\n }\n getPollInterval() {\n const {staleThreshold: staleThreshold, reconnectionBackoffRate: reconnectionBackoffRate} = this.constructor;\n const backoff = Math.pow(1 + reconnectionBackoffRate, Math.min(this.reconnectAttempts, 10));\n const jitterMax = this.reconnectAttempts === 0 ? 1 : reconnectionBackoffRate;\n const jitter = jitterMax * Math.random();\n return staleThreshold * 1e3 * backoff * (1 + jitter);\n }\n reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${secondsSince(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`);\n this.reconnectAttempts++;\n if (this.disconnectedRecently()) {\n logger.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${secondsSince(this.disconnectedAt)} s`);\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n }\n get refreshedAt() {\n return this.pingedAt ? this.pingedAt : this.startedAt;\n }\n connectionIsStale() {\n return secondsSince(this.refreshedAt) > this.constructor.staleThreshold;\n }\n disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n }\n visibilityDidChange() {\n if (document.visibilityState === \"visible\") {\n setTimeout((() => {\n if (this.connectionIsStale() || !this.connection.isOpen()) {\n logger.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`);\n this.connection.reopen();\n }\n }), 200);\n }\n }\n}\n\nConnectionMonitor.staleThreshold = 6;\n\nConnectionMonitor.reconnectionBackoffRate = .15;\n\nvar INTERNAL = {\n message_types: {\n welcome: \"welcome\",\n disconnect: \"disconnect\",\n ping: \"ping\",\n confirmation: \"confirm_subscription\",\n rejection: \"reject_subscription\"\n },\n disconnect_reasons: {\n unauthorized: \"unauthorized\",\n invalid_request: \"invalid_request\",\n server_restart: \"server_restart\",\n remote: \"remote\"\n },\n default_mount_path: \"/cable\",\n protocols: [ \"actioncable-v1-json\", \"actioncable-unsupported\" ]\n};\n\nconst {message_types: message_types, protocols: protocols} = INTERNAL;\n\nconst supportedProtocols = protocols.slice(0, protocols.length - 1);\n\nconst indexOf = [].indexOf;\n\nclass Connection {\n constructor(consumer) {\n this.open = this.open.bind(this);\n this.consumer = consumer;\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ConnectionMonitor(this);\n this.disconnected = true;\n }\n send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n }\n open() {\n if (this.isActive()) {\n logger.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`);\n return false;\n } else {\n const socketProtocols = [ ...protocols, ...this.consumer.subprotocols || [] ];\n logger.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${socketProtocols}`);\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n this.webSocket = new adapters.WebSocket(this.consumer.url, socketProtocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n }\n close({allowReconnect: allowReconnect} = {\n allowReconnect: true\n }) {\n if (!allowReconnect) {\n this.monitor.stop();\n }\n if (this.isOpen()) {\n return this.webSocket.close();\n }\n }\n reopen() {\n logger.log(`Reopening WebSocket, current state is ${this.getState()}`);\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error) {\n logger.log(\"Failed to reopen WebSocket\", error);\n } finally {\n logger.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`);\n setTimeout(this.open, this.constructor.reopenDelay);\n }\n } else {\n return this.open();\n }\n }\n getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n }\n isOpen() {\n return this.isState(\"open\");\n }\n isActive() {\n return this.isState(\"open\", \"connecting\");\n }\n triedToReconnect() {\n return this.monitor.reconnectAttempts > 0;\n }\n isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n }\n isState(...states) {\n return indexOf.call(states, this.getState()) >= 0;\n }\n getState() {\n if (this.webSocket) {\n for (let state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n return null;\n }\n installEventHandlers() {\n for (let eventName in this.events) {\n const handler = this.events[eventName].bind(this);\n this.webSocket[`on${eventName}`] = handler;\n }\n }\n uninstallEventHandlers() {\n for (let eventName in this.events) {\n this.webSocket[`on${eventName}`] = function() {};\n }\n }\n}\n\nConnection.reopenDelay = 500;\n\nConnection.prototype.events = {\n message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n const {identifier: identifier, message: message, reason: reason, reconnect: reconnect, type: type} = JSON.parse(event.data);\n switch (type) {\n case message_types.welcome:\n if (this.triedToReconnect()) {\n this.reconnectAttempted = true;\n }\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.disconnect:\n logger.log(`Disconnecting. Reason: ${reason}`);\n return this.close({\n allowReconnect: reconnect\n });\n\n case message_types.ping:\n return this.monitor.recordPing();\n\n case message_types.confirmation:\n this.subscriptions.confirmSubscription(identifier);\n if (this.reconnectAttempted) {\n this.reconnectAttempted = false;\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: true\n });\n } else {\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: false\n });\n }\n\n case message_types.rejection:\n return this.subscriptions.reject(identifier);\n\n default:\n return this.subscriptions.notify(identifier, \"received\", message);\n }\n },\n open() {\n logger.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`);\n this.disconnected = false;\n if (!this.isProtocolSupported()) {\n logger.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close(event) {\n logger.log(\"WebSocket onclose event\");\n if (this.disconnected) {\n return;\n }\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error() {\n logger.log(\"WebSocket onerror event\");\n }\n};\n\nconst extend = function(object, properties) {\n if (properties != null) {\n for (let key in properties) {\n const value = properties[key];\n object[key] = value;\n }\n }\n return object;\n};\n\nclass Subscription {\n constructor(consumer, params = {}, mixin) {\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n perform(action, data = {}) {\n data.action = action;\n return this.send(data);\n }\n send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n }\n unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n }\n}\n\nclass SubscriptionGuarantor {\n constructor(subscriptions) {\n this.subscriptions = subscriptions;\n this.pendingSubscriptions = [];\n }\n guarantee(subscription) {\n if (this.pendingSubscriptions.indexOf(subscription) == -1) {\n logger.log(`SubscriptionGuarantor guaranteeing ${subscription.identifier}`);\n this.pendingSubscriptions.push(subscription);\n } else {\n logger.log(`SubscriptionGuarantor already guaranteeing ${subscription.identifier}`);\n }\n this.startGuaranteeing();\n }\n forget(subscription) {\n logger.log(`SubscriptionGuarantor forgetting ${subscription.identifier}`);\n this.pendingSubscriptions = this.pendingSubscriptions.filter((s => s !== subscription));\n }\n startGuaranteeing() {\n this.stopGuaranteeing();\n this.retrySubscribing();\n }\n stopGuaranteeing() {\n clearTimeout(this.retryTimeout);\n }\n retrySubscribing() {\n this.retryTimeout = setTimeout((() => {\n if (this.subscriptions && typeof this.subscriptions.subscribe === \"function\") {\n this.pendingSubscriptions.map((subscription => {\n logger.log(`SubscriptionGuarantor resubscribing ${subscription.identifier}`);\n this.subscriptions.subscribe(subscription);\n }));\n }\n }), 500);\n }\n}\n\nclass Subscriptions {\n constructor(consumer) {\n this.consumer = consumer;\n this.guarantor = new SubscriptionGuarantor(this);\n this.subscriptions = [];\n }\n create(channelName, mixin) {\n const channel = channelName;\n const params = typeof channel === \"object\" ? channel : {\n channel: channel\n };\n const subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n }\n add(subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.subscribe(subscription);\n return subscription;\n }\n remove(subscription) {\n this.forget(subscription);\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n return subscription;\n }\n reject(identifier) {\n return this.findAll(identifier).map((subscription => {\n this.forget(subscription);\n this.notify(subscription, \"rejected\");\n return subscription;\n }));\n }\n forget(subscription) {\n this.guarantor.forget(subscription);\n this.subscriptions = this.subscriptions.filter((s => s !== subscription));\n return subscription;\n }\n findAll(identifier) {\n return this.subscriptions.filter((s => s.identifier === identifier));\n }\n reload() {\n return this.subscriptions.map((subscription => this.subscribe(subscription)));\n }\n notifyAll(callbackName, ...args) {\n return this.subscriptions.map((subscription => this.notify(subscription, callbackName, ...args)));\n }\n notify(subscription, callbackName, ...args) {\n let subscriptions;\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [ subscription ];\n }\n return subscriptions.map((subscription => typeof subscription[callbackName] === \"function\" ? subscription[callbackName](...args) : undefined));\n }\n subscribe(subscription) {\n if (this.sendCommand(subscription, \"subscribe\")) {\n this.guarantor.guarantee(subscription);\n }\n }\n confirmSubscription(identifier) {\n logger.log(`Subscription confirmed ${identifier}`);\n this.findAll(identifier).map((subscription => this.guarantor.forget(subscription)));\n }\n sendCommand(subscription, command) {\n const {identifier: identifier} = subscription;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n }\n}\n\nclass Consumer {\n constructor(url) {\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n this.subprotocols = [];\n }\n get url() {\n return createWebSocketURL(this._url);\n }\n send(data) {\n return this.connection.send(data);\n }\n connect() {\n return this.connection.open();\n }\n disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n }\n ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n }\n addSubProtocol(subprotocol) {\n this.subprotocols = [ ...this.subprotocols, subprotocol ];\n }\n}\n\nfunction createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n if (url && !/^wss?:/i.test(url)) {\n const a = document.createElement(\"a\");\n a.href = url;\n a.href = a.href;\n a.protocol = a.protocol.replace(\"http\", \"ws\");\n return a.href;\n } else {\n return url;\n }\n}\n\nfunction createConsumer(url = getConfig(\"url\") || INTERNAL.default_mount_path) {\n return new Consumer(url);\n}\n\nfunction getConfig(name) {\n const element = document.head.querySelector(`meta[name='action-cable-${name}']`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nexport { Connection, ConnectionMonitor, Consumer, INTERNAL, Subscription, SubscriptionGuarantor, Subscriptions, adapters, createConsumer, createWebSocketURL, getConfig, logger };\n","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexport var minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInQuarter = secondsInMonth * 3;","import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport default function parseISO(argument, options) {\n var _options$additionalDi;\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n var dateStrings = splitDateString(argument);\n var date;\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time);\n // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = indexOf(string, searchString);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n"],"names":["adapters","logger","self","console","WebSocket","log","messages","this","enabled","push","Date","now","getTime","secondsSince","time","ConnectionMonitor","constructor","connection","visibilityDidChange","bind","reconnectAttempts","start","isRunning","startedAt","stoppedAt","startPolling","addEventListener","staleThreshold","stop","stopPolling","removeEventListener","recordPing","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","clearTimeout","pollTimeout","setTimeout","reconnectIfStale","getPollInterval","reconnectionBackoffRate","backoff","Math","pow","min","jitterMax","jitter","random","connectionIsStale","refreshedAt","disconnectedRecently","reopen","document","visibilityState","isOpen","INTERNAL","message_types","welcome","disconnect","ping","confirmation","rejection","disconnect_reasons","unauthorized","invalid_request","server_restart","remote","default_mount_path","protocols","supportedProtocols","slice","length","indexOf","Connection","consumer","open","subscriptions","monitor","disconnected","send","data","webSocket","JSON","stringify","isActive","getState","socketProtocols","subprotocols","uninstallEventHandlers","url","installEventHandlers","close","allowReconnect","error","reopenDelay","getProtocol","protocol","isState","triedToReconnect","isProtocolSupported","call","states","state","readyState","toLowerCase","eventName","events","handler","prototype","message","event","identifier","reason","reconnect","type","parse","reconnectAttempted","reload","confirmSubscription","notify","reconnected","reject","notifyAll","willAttemptReconnect","extend","object","properties","key","value","Subscription","params","mixin","perform","action","command","unsubscribe","remove","SubscriptionGuarantor","pendingSubscriptions","guarantee","subscription","startGuaranteeing","forget","filter","s","stopGuaranteeing","retrySubscribing","retryTimeout","subscribe","map","Subscriptions","guarantor","create","channelName","channel","add","ensureActiveConnection","findAll","sendCommand","callbackName","args","undefined","Consumer","_url","createWebSocketURL","connect","addSubProtocol","subprotocol","test","a","createElement","href","replace","createConsumer","getConfig","name","element","head","querySelector","getAttribute","millisecondsInMinute","millisecondsInHour","parseISO","argument","options","_options$additionalDi","requiredArgs","arguments","additionalDigits","toInteger","RangeError","Object","toString","NaN","date","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","year","isNaN","offset","timestamp","parseTime","timezone","dirtyDate","result","setFullYear","getUTCFullYear","getUTCMonth","getUTCDate","setHours","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","parseTimezone","patterns","dateTimeDelimiter","timeZoneDelimiter","dateRegex","timeRegex","timezoneRegex","dateString","timeString","array","split","substr","token","exec","regex","RegExp","captures","match","parseInt","century","isWeekDate","dayOfYear","parseDateUnit","month","day","week","dayOfWeek","validateWeekDate","dayOfISOWeekYear","validateDate","validateDayOfYearDate","setUTCFullYear","max","hours","parseTimeUnit","minutes","seconds","validateTime","parseFloat","timezoneString","sign","validateTimezone","isoWeekYear","fourthOfJanuaryDay","getUTCDay","diff","setUTCDate","daysInMonths","isLeapYearIndex","_year","_hours","isObject","classof","wellKnownSymbol","MATCH","module","exports","it","isRegExp","hasOwn","isPrototypeOf","regExpFlags","RegExpPrototype","R","flags","$","uncurryThis","requireObjectCoercible","isCallable","isNullOrUndefined","getMethod","getRegExpFlags","getSubstitution","IS_PURE","REPLACE","$TypeError","TypeError","stringSlice","target","proto","replaceAll","searchValue","replaceValue","IS_REG_EXP","replacer","string","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"js/206.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/@rails/actioncable/app/assets/javascripts/actioncable.esm.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/date-fns/esm/constants/index.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/date-fns/esm/parseISO/index.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/is-regexp.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/internals/regexp-get-flags.js","webpack://@openc3/cosmos-tool-cmdtlmserver/../../node_modules/core-js/modules/es.string.replace-all.js"],"sourcesContent":["var adapters = {\n logger: self.console,\n WebSocket: self.WebSocket\n};\n\nvar logger = {\n log(...messages) {\n if (this.enabled) {\n messages.push(Date.now());\n adapters.logger.log(\"[ActionCable]\", ...messages);\n }\n }\n};\n\nconst now = () => (new Date).getTime();\n\nconst secondsSince = time => (now() - time) / 1e3;\n\nclass ConnectionMonitor {\n constructor(connection) {\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n start() {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n addEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`);\n }\n }\n stop() {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor stopped\");\n }\n }\n isRunning() {\n return this.startedAt && !this.stoppedAt;\n }\n recordPing() {\n this.pingedAt = now();\n }\n recordConnect() {\n this.reconnectAttempts = 0;\n this.recordPing();\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n }\n recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n }\n startPolling() {\n this.stopPolling();\n this.poll();\n }\n stopPolling() {\n clearTimeout(this.pollTimeout);\n }\n poll() {\n this.pollTimeout = setTimeout((() => {\n this.reconnectIfStale();\n this.poll();\n }), this.getPollInterval());\n }\n getPollInterval() {\n const {staleThreshold: staleThreshold, reconnectionBackoffRate: reconnectionBackoffRate} = this.constructor;\n const backoff = Math.pow(1 + reconnectionBackoffRate, Math.min(this.reconnectAttempts, 10));\n const jitterMax = this.reconnectAttempts === 0 ? 1 : reconnectionBackoffRate;\n const jitter = jitterMax * Math.random();\n return staleThreshold * 1e3 * backoff * (1 + jitter);\n }\n reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${secondsSince(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`);\n this.reconnectAttempts++;\n if (this.disconnectedRecently()) {\n logger.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${secondsSince(this.disconnectedAt)} s`);\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n }\n get refreshedAt() {\n return this.pingedAt ? this.pingedAt : this.startedAt;\n }\n connectionIsStale() {\n return secondsSince(this.refreshedAt) > this.constructor.staleThreshold;\n }\n disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n }\n visibilityDidChange() {\n if (document.visibilityState === \"visible\") {\n setTimeout((() => {\n if (this.connectionIsStale() || !this.connection.isOpen()) {\n logger.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`);\n this.connection.reopen();\n }\n }), 200);\n }\n }\n}\n\nConnectionMonitor.staleThreshold = 6;\n\nConnectionMonitor.reconnectionBackoffRate = .15;\n\nvar INTERNAL = {\n message_types: {\n welcome: \"welcome\",\n disconnect: \"disconnect\",\n ping: \"ping\",\n confirmation: \"confirm_subscription\",\n rejection: \"reject_subscription\"\n },\n disconnect_reasons: {\n unauthorized: \"unauthorized\",\n invalid_request: \"invalid_request\",\n server_restart: \"server_restart\",\n remote: \"remote\"\n },\n default_mount_path: \"/cable\",\n protocols: [ \"actioncable-v1-json\", \"actioncable-unsupported\" ]\n};\n\nconst {message_types: message_types, protocols: protocols} = INTERNAL;\n\nconst supportedProtocols = protocols.slice(0, protocols.length - 1);\n\nconst indexOf = [].indexOf;\n\nclass Connection {\n constructor(consumer) {\n this.open = this.open.bind(this);\n this.consumer = consumer;\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ConnectionMonitor(this);\n this.disconnected = true;\n }\n send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n }\n open() {\n if (this.isActive()) {\n logger.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`);\n return false;\n } else {\n const socketProtocols = [ ...protocols, ...this.consumer.subprotocols || [] ];\n logger.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${socketProtocols}`);\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n this.webSocket = new adapters.WebSocket(this.consumer.url, socketProtocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n }\n close({allowReconnect: allowReconnect} = {\n allowReconnect: true\n }) {\n if (!allowReconnect) {\n this.monitor.stop();\n }\n if (this.isOpen()) {\n return this.webSocket.close();\n }\n }\n reopen() {\n logger.log(`Reopening WebSocket, current state is ${this.getState()}`);\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error) {\n logger.log(\"Failed to reopen WebSocket\", error);\n } finally {\n logger.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`);\n setTimeout(this.open, this.constructor.reopenDelay);\n }\n } else {\n return this.open();\n }\n }\n getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n }\n isOpen() {\n return this.isState(\"open\");\n }\n isActive() {\n return this.isState(\"open\", \"connecting\");\n }\n triedToReconnect() {\n return this.monitor.reconnectAttempts > 0;\n }\n isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n }\n isState(...states) {\n return indexOf.call(states, this.getState()) >= 0;\n }\n getState() {\n if (this.webSocket) {\n for (let state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n return null;\n }\n installEventHandlers() {\n for (let eventName in this.events) {\n const handler = this.events[eventName].bind(this);\n this.webSocket[`on${eventName}`] = handler;\n }\n }\n uninstallEventHandlers() {\n for (let eventName in this.events) {\n this.webSocket[`on${eventName}`] = function() {};\n }\n }\n}\n\nConnection.reopenDelay = 500;\n\nConnection.prototype.events = {\n message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n const {identifier: identifier, message: message, reason: reason, reconnect: reconnect, type: type} = JSON.parse(event.data);\n switch (type) {\n case message_types.welcome:\n if (this.triedToReconnect()) {\n this.reconnectAttempted = true;\n }\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.disconnect:\n logger.log(`Disconnecting. Reason: ${reason}`);\n return this.close({\n allowReconnect: reconnect\n });\n\n case message_types.ping:\n return this.monitor.recordPing();\n\n case message_types.confirmation:\n this.subscriptions.confirmSubscription(identifier);\n if (this.reconnectAttempted) {\n this.reconnectAttempted = false;\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: true\n });\n } else {\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: false\n });\n }\n\n case message_types.rejection:\n return this.subscriptions.reject(identifier);\n\n default:\n return this.subscriptions.notify(identifier, \"received\", message);\n }\n },\n open() {\n logger.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`);\n this.disconnected = false;\n if (!this.isProtocolSupported()) {\n logger.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close(event) {\n logger.log(\"WebSocket onclose event\");\n if (this.disconnected) {\n return;\n }\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error() {\n logger.log(\"WebSocket onerror event\");\n }\n};\n\nconst extend = function(object, properties) {\n if (properties != null) {\n for (let key in properties) {\n const value = properties[key];\n object[key] = value;\n }\n }\n return object;\n};\n\nclass Subscription {\n constructor(consumer, params = {}, mixin) {\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n perform(action, data = {}) {\n data.action = action;\n return this.send(data);\n }\n send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n }\n unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n }\n}\n\nclass SubscriptionGuarantor {\n constructor(subscriptions) {\n this.subscriptions = subscriptions;\n this.pendingSubscriptions = [];\n }\n guarantee(subscription) {\n if (this.pendingSubscriptions.indexOf(subscription) == -1) {\n logger.log(`SubscriptionGuarantor guaranteeing ${subscription.identifier}`);\n this.pendingSubscriptions.push(subscription);\n } else {\n logger.log(`SubscriptionGuarantor already guaranteeing ${subscription.identifier}`);\n }\n this.startGuaranteeing();\n }\n forget(subscription) {\n logger.log(`SubscriptionGuarantor forgetting ${subscription.identifier}`);\n this.pendingSubscriptions = this.pendingSubscriptions.filter((s => s !== subscription));\n }\n startGuaranteeing() {\n this.stopGuaranteeing();\n this.retrySubscribing();\n }\n stopGuaranteeing() {\n clearTimeout(this.retryTimeout);\n }\n retrySubscribing() {\n this.retryTimeout = setTimeout((() => {\n if (this.subscriptions && typeof this.subscriptions.subscribe === \"function\") {\n this.pendingSubscriptions.map((subscription => {\n logger.log(`SubscriptionGuarantor resubscribing ${subscription.identifier}`);\n this.subscriptions.subscribe(subscription);\n }));\n }\n }), 500);\n }\n}\n\nclass Subscriptions {\n constructor(consumer) {\n this.consumer = consumer;\n this.guarantor = new SubscriptionGuarantor(this);\n this.subscriptions = [];\n }\n create(channelName, mixin) {\n const channel = channelName;\n const params = typeof channel === \"object\" ? channel : {\n channel: channel\n };\n const subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n }\n add(subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.subscribe(subscription);\n return subscription;\n }\n remove(subscription) {\n this.forget(subscription);\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n return subscription;\n }\n reject(identifier) {\n return this.findAll(identifier).map((subscription => {\n this.forget(subscription);\n this.notify(subscription, \"rejected\");\n return subscription;\n }));\n }\n forget(subscription) {\n this.guarantor.forget(subscription);\n this.subscriptions = this.subscriptions.filter((s => s !== subscription));\n return subscription;\n }\n findAll(identifier) {\n return this.subscriptions.filter((s => s.identifier === identifier));\n }\n reload() {\n return this.subscriptions.map((subscription => this.subscribe(subscription)));\n }\n notifyAll(callbackName, ...args) {\n return this.subscriptions.map((subscription => this.notify(subscription, callbackName, ...args)));\n }\n notify(subscription, callbackName, ...args) {\n let subscriptions;\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [ subscription ];\n }\n return subscriptions.map((subscription => typeof subscription[callbackName] === \"function\" ? subscription[callbackName](...args) : undefined));\n }\n subscribe(subscription) {\n if (this.sendCommand(subscription, \"subscribe\")) {\n this.guarantor.guarantee(subscription);\n }\n }\n confirmSubscription(identifier) {\n logger.log(`Subscription confirmed ${identifier}`);\n this.findAll(identifier).map((subscription => this.guarantor.forget(subscription)));\n }\n sendCommand(subscription, command) {\n const {identifier: identifier} = subscription;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n }\n}\n\nclass Consumer {\n constructor(url) {\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n this.subprotocols = [];\n }\n get url() {\n return createWebSocketURL(this._url);\n }\n send(data) {\n return this.connection.send(data);\n }\n connect() {\n return this.connection.open();\n }\n disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n }\n ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n }\n addSubProtocol(subprotocol) {\n this.subprotocols = [ ...this.subprotocols, subprotocol ];\n }\n}\n\nfunction createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n if (url && !/^wss?:/i.test(url)) {\n const a = document.createElement(\"a\");\n a.href = url;\n a.href = a.href;\n a.protocol = a.protocol.replace(\"http\", \"ws\");\n return a.href;\n } else {\n return url;\n }\n}\n\nfunction createConsumer(url = getConfig(\"url\") || INTERNAL.default_mount_path) {\n return new Consumer(url);\n}\n\nfunction getConfig(name) {\n const element = document.head.querySelector(`meta[name='action-cable-${name}']`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nexport { Connection, ConnectionMonitor, Consumer, INTERNAL, Subscription, SubscriptionGuarantor, Subscriptions, adapters, createConsumer, createWebSocketURL, getConfig, logger };\n","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexport var minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInQuarter = secondsInMonth * 3;","import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport default function parseISO(argument, options) {\n var _options$additionalDi;\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n var dateStrings = splitDateString(argument);\n var date;\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time);\n // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = indexOf(string, searchString);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n"],"names":["adapters","logger","self","console","WebSocket","log","messages","this","enabled","push","Date","now","getTime","secondsSince","time","ConnectionMonitor","constructor","connection","visibilityDidChange","bind","reconnectAttempts","start","isRunning","startedAt","stoppedAt","startPolling","addEventListener","staleThreshold","stop","stopPolling","removeEventListener","recordPing","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","clearTimeout","pollTimeout","setTimeout","reconnectIfStale","getPollInterval","reconnectionBackoffRate","backoff","Math","pow","min","jitterMax","jitter","random","connectionIsStale","refreshedAt","disconnectedRecently","reopen","document","visibilityState","isOpen","INTERNAL","message_types","welcome","disconnect","ping","confirmation","rejection","disconnect_reasons","unauthorized","invalid_request","server_restart","remote","default_mount_path","protocols","supportedProtocols","slice","length","indexOf","Connection","consumer","open","subscriptions","monitor","disconnected","send","data","webSocket","JSON","stringify","isActive","getState","socketProtocols","subprotocols","uninstallEventHandlers","url","installEventHandlers","close","allowReconnect","error","reopenDelay","getProtocol","protocol","isState","triedToReconnect","isProtocolSupported","call","states","state","readyState","toLowerCase","eventName","events","handler","prototype","message","event","identifier","reason","reconnect","type","parse","reconnectAttempted","reload","confirmSubscription","notify","reconnected","reject","notifyAll","willAttemptReconnect","extend","object","properties","key","value","Subscription","params","mixin","perform","action","command","unsubscribe","remove","SubscriptionGuarantor","pendingSubscriptions","guarantee","subscription","startGuaranteeing","forget","filter","s","stopGuaranteeing","retrySubscribing","retryTimeout","subscribe","map","Subscriptions","guarantor","create","channelName","channel","add","ensureActiveConnection","findAll","sendCommand","callbackName","args","undefined","Consumer","_url","createWebSocketURL","connect","addSubProtocol","subprotocol","test","a","createElement","href","replace","createConsumer","getConfig","name","element","head","querySelector","getAttribute","millisecondsInMinute","millisecondsInHour","parseISO","argument","options","_options$additionalDi","requiredArgs","arguments","additionalDigits","toInteger","RangeError","Object","toString","NaN","date","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","year","isNaN","offset","timestamp","parseTime","timezone","dirtyDate","result","setFullYear","getUTCFullYear","getUTCMonth","getUTCDate","setHours","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","parseTimezone","patterns","dateTimeDelimiter","timeZoneDelimiter","dateRegex","timeRegex","timezoneRegex","dateString","timeString","array","split","substr","token","exec","regex","RegExp","captures","match","parseInt","century","isWeekDate","dayOfYear","parseDateUnit","month","day","week","dayOfWeek","validateWeekDate","dayOfISOWeekYear","validateDate","validateDayOfYearDate","setUTCFullYear","max","hours","parseTimeUnit","minutes","seconds","validateTime","parseFloat","timezoneString","sign","validateTimezone","isoWeekYear","fourthOfJanuaryDay","getUTCDay","diff","setUTCDate","daysInMonths","isLeapYearIndex","_year","_hours","isObject","classof","wellKnownSymbol","MATCH","module","exports","it","isRegExp","hasOwn","isPrototypeOf","regExpFlags","RegExpPrototype","R","flags","$","uncurryThis","requireObjectCoercible","isCallable","isNullOrUndefined","getMethod","getRegExpFlags","getSubstitution","IS_PURE","REPLACE","$TypeError","TypeError","stringSlice","target","proto","replaceAll","searchValue","replaceValue","IS_REG_EXP","replacer","string","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[123],{2500:(e,n,l)=>{l.d(n,{c:()=>o});var t=l(7264);function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",n="4a33e65af05f7d08e216a604150e8920749ac334",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"4a33e65af05f7d08e216a604150e8920749ac334"},s=l[t]||(l[t]={});s[e]&&s[e].hash===n||(s[e]=o);var c=s[e];return a=function(){return c},c}a();const o={props:{refreshInterval:{default:1e3}},data(){return a().f[0]++,a().s[0]++,{updater:null,api:null}},created(){a().f[1]++,a().s[1]++,this.api=new t.s},mounted(){a().f[2]++,a().s[2]++,this.changeUpdater()},beforeDestroy(){a().f[3]++,a().s[3]++,null!=this.updater?(a().b[0][0]++,a().s[4]++,clearInterval(this.updater),a().s[5]++,this.updater=null):a().b[0][1]++},watch:{refreshInterval:function(e,n){a().f[4]++,a().s[6]++,this.changeUpdater()}},methods:{changeUpdater(){a().f[5]++,a().s[7]++,null!=this.updater?(a().b[1][0]++,a().s[8]++,clearInterval(this.updater),a().s[9]++,this.updater=null):a().b[1][1]++,a().s[10]++,this.updater=setInterval((()=>{a().f[6]++,a().s[11]++,this.update()}),this.refreshInterval)}}}},4123:(e,n,l)=>{function t(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",n="22f881bf0087d553db1bed525343eae1a62ca7b4",l=new Function("return this")(),a="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:695}},4:{start:{line:1,column:410},end:{line:1,column:424}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:394},end:{line:1,column:395}},loc:{start:{line:1,column:409},end:{line:1,column:425}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"22f881bf0087d553db1bed525343eae1a62ca7b4"},s=l[a]||(l[a]={});s[e]&&s[e].hash===n||(s[e]=o);var c=s[e];return t=function(){return c},c}l.r(n),l.d(n,{default:()=>d}),t(),t().s[0]++;var a=function(){t().f[0]++;var e=(t().s[1]++,this),n=(t().s[2]++,e._self._c);return t().s[3]++,n("v-card",[n("v-card-title",[e._v("\n "+e._s(e.data.length)+" Targets\n "),n("v-spacer"),e._v(" "),n("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){t().f[1]++,t().s[4]++,e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"targets-table"}})],1)},o=(t().s[5]++,[]),s=(l(9344),l(2632),l(2500));function c(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",n="d2e917495a9e594353d1d473262b601dba7bac68",l=new Function("return this")(),t="__coverage__",a={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",statementMap:{0:{start:{line:11,column:4},end:{line:18,column:5}},1:{start:{line:22,column:6},end:{line:22,column:43}},2:{start:{line:22,column:37},end:{line:22,column:43}},3:{start:{line:23,column:6},end:{line:31,column:8}},4:{start:{line:24,column:8},end:{line:24,column:22}},5:{start:{line:25,column:8},end:{line:30,column:9}},6:{start:{line:26,column:10},end:{line:29,column:12}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:19,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:21,column:4},end:{line:21,column:5}},loc:{start:{line:21,column:13},end:{line:32,column:5}},line:21},2:{name:"(anonymous_2)",decl:{start:{line:23,column:44},end:{line:23,column:45}},loc:{start:{line:23,column:54},end:{line:31,column:7}},line:23}},branchMap:{0:{loc:{start:{line:22,column:6},end:{line:22,column:43}},type:"if",locations:[{start:{line:22,column:6},end:{line:22,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:22}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0},b:{0:[0,0]},inputSourceMap:{version:3,sources:["TargetsTab.vue"],names:[],mappings:";AAqDA;;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",file:"TargetsTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Targets\n <v-spacer />\n <v-text-field\n v-model="search"\n label="Search"\n prepend-inner-icon="mdi-magnify"\n clearable\n outlined\n dense\n single-line\n hide-details\n class="search"\n />\n </v-card-title>\n <v-data-table\n :headers="headers"\n :items="data"\n :search="search"\n :items-per-page="10"\n :footer-props="{ itemsPerPageOptions: [10, 20, -1] }"\n calculate-widths\n multi-sort\n data-test="targets-table"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from \'./Updater\'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: \'\',\n data: [],\n headers: [\n { text: \'Target Name\', value: \'name\' },\n { text: \'Interfaces\', value: \'interface\' },\n ],\n }\n },\n methods: {\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_target_interfaces().then((info) => {\n this.data = []\n for (let x of info) {\n this.data.push({\n name: x[0],\n interface: x[1],\n })\n }\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d2e917495a9e594353d1d473262b601dba7bac68"},o=l[t]||(l[t]={});o[e]&&o[e].hash===n||(o[e]=a);var s=o[e];return c=function(){return s},s}c();const r={mixins:[s.c],props:{tabId:Number,curTab:Number},data(){return c().f[0]++,c().s[0]++,{search:"",data:[],headers:[{text:"Target Name",value:"name"},{text:"Interfaces",value:"interface"}]}},methods:{update(){if(c().f[1]++,c().s[1]++,this.tabId!=this.curTab)return c().b[0][0]++,void c().s[2]++;c().b[0][1]++,c().s[3]++,this.api.get_target_interfaces().then((e=>{c().f[2]++,c().s[4]++,this.data=[],c().s[5]++;for(let n of e)c().s[6]++,this.data.push({name:n[0],interface:n[1]})}))}}},i=r;var u=l(3552),m=(0,u.c)(i,a,o,!1,null,null,null);const d=m.exports}}]);
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
"use strict";(self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]=self["webpackChunk_openc3_cosmos_tool_cmdtlmserver"]||[]).push([[229],{8474:(e,n,l)=>{l.d(n,{A:()=>o});var t=l(2904);function a(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",n="4a33e65af05f7d08e216a604150e8920749ac334",l=new Function("return this")(),t="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js",statementMap:{0:{start:{line:32,column:4},end:{line:35,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:41,column:4},end:{line:41,column:24}},3:{start:{line:44,column:4},end:{line:47,column:5}},4:{start:{line:45,column:6},end:{line:45,column:33}},5:{start:{line:46,column:6},end:{line:46,column:25}},6:{start:{line:52,column:6},end:{line:52,column:26}},7:{start:{line:57,column:6},end:{line:60,column:7}},8:{start:{line:58,column:8},end:{line:58,column:35}},9:{start:{line:59,column:8},end:{line:59,column:27}},10:{start:{line:61,column:6},end:{line:63,column:30}},11:{start:{line:62,column:8},end:{line:62,column:21}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:2},end:{line:31,column:3}},loc:{start:{line:31,column:9},end:{line:36,column:3}},line:31},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:39,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:40,column:2},end:{line:40,column:3}},loc:{start:{line:40,column:12},end:{line:42,column:3}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:43,column:2},end:{line:43,column:3}},loc:{start:{line:43,column:18},end:{line:48,column:3}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:51,column:21},end:{line:51,column:22}},loc:{start:{line:51,column:47},end:{line:53,column:5}},line:51},5:{name:"(anonymous_5)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:64,column:5}},line:56},6:{name:"(anonymous_6)",decl:{start:{line:61,column:33},end:{line:61,column:34}},loc:{start:{line:61,column:39},end:{line:63,column:7}},line:61}},branchMap:{0:{loc:{start:{line:44,column:4},end:{line:47,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:47,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:44},1:{loc:{start:{line:57,column:6},end:{line:60,column:7}},type:"if",locations:[{start:{line:57,column:6},end:{line:60,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"4a33e65af05f7d08e216a604150e8920749ac334"},s=l[t]||(l[t]={});s[e]&&s[e].hash===n||(s[e]=o);var c=s[e];return a=function(){return c},c}a();const o={props:{refreshInterval:{default:1e3}},data(){return a().f[0]++,a().s[0]++,{updater:null,api:null}},created(){a().f[1]++,a().s[1]++,this.api=new t.x},mounted(){a().f[2]++,a().s[2]++,this.changeUpdater()},beforeDestroy(){a().f[3]++,a().s[3]++,null!=this.updater?(a().b[0][0]++,a().s[4]++,clearInterval(this.updater),a().s[5]++,this.updater=null):a().b[0][1]++},watch:{refreshInterval:function(e,n){a().f[4]++,a().s[6]++,this.changeUpdater()}},methods:{changeUpdater(){a().f[5]++,a().s[7]++,null!=this.updater?(a().b[1][0]++,a().s[8]++,clearInterval(this.updater),a().s[9]++,this.updater=null):a().b[1][1]++,a().s[10]++,this.updater=setInterval((()=>{a().f[6]++,a().s[11]++,this.update()}),this.refreshInterval)}}}},1229:(e,n,l)=>{function t(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",n="22f881bf0087d553db1bed525343eae1a62ca7b4",l=new Function("return this")(),a="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:695}},4:{start:{line:1,column:410},end:{line:1,column:424}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:394},end:{line:1,column:395}},loc:{start:{line:1,column:409},end:{line:1,column:425}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"22f881bf0087d553db1bed525343eae1a62ca7b4"},s=l[a]||(l[a]={});s[e]&&s[e].hash===n||(s[e]=o);var c=s[e];return t=function(){return c},c}l.r(n),l.d(n,{default:()=>d}),t(),t().s[0]++;var a=function(){t().f[0]++;var e=(t().s[1]++,this),n=(t().s[2]++,e._self._c);return t().s[3]++,n("v-card",[n("v-card-title",[e._v("\n "+e._s(e.data.length)+" Targets\n "),n("v-spacer"),e._v(" "),n("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){t().f[1]++,t().s[4]++,e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"items-per-page":10,"footer-props":{itemsPerPageOptions:[10,20,-1]},"calculate-widths":"","multi-sort":"","data-test":"targets-table"}})],1)},o=(t().s[5]++,[]),s=(l(9375),l(7010),l(8474));function c(){var e="/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",n="d2e917495a9e594353d1d473262b601dba7bac68",l=new Function("return this")(),t="__coverage__",a={path:"/openc3/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue",statementMap:{0:{start:{line:11,column:4},end:{line:18,column:5}},1:{start:{line:22,column:6},end:{line:22,column:43}},2:{start:{line:22,column:37},end:{line:22,column:43}},3:{start:{line:23,column:6},end:{line:31,column:8}},4:{start:{line:24,column:8},end:{line:24,column:22}},5:{start:{line:25,column:8},end:{line:30,column:9}},6:{start:{line:26,column:10},end:{line:29,column:12}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:9},end:{line:19,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:21,column:4},end:{line:21,column:5}},loc:{start:{line:21,column:13},end:{line:32,column:5}},line:21},2:{name:"(anonymous_2)",decl:{start:{line:23,column:44},end:{line:23,column:45}},loc:{start:{line:23,column:54},end:{line:31,column:7}},line:23}},branchMap:{0:{loc:{start:{line:22,column:6},end:{line:22,column:43}},type:"if",locations:[{start:{line:22,column:6},end:{line:22,column:43}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:22}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0},b:{0:[0,0]},inputSourceMap:{version:3,sources:["TargetsTab.vue"],names:[],mappings:";AAqDA;;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",file:"TargetsTab.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Targets\n <v-spacer />\n <v-text-field\n v-model="search"\n label="Search"\n prepend-inner-icon="mdi-magnify"\n clearable\n outlined\n dense\n single-line\n hide-details\n class="search"\n />\n </v-card-title>\n <v-data-table\n :headers="headers"\n :items="data"\n :search="search"\n :items-per-page="10"\n :footer-props="{ itemsPerPageOptions: [10, 20, -1] }"\n calculate-widths\n multi-sort\n data-test="targets-table"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from \'./Updater\'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: \'\',\n data: [],\n headers: [\n { text: \'Target Name\', value: \'name\' },\n { text: \'Interfaces\', value: \'interface\' },\n ],\n }\n },\n methods: {\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_target_interfaces().then((info) => {\n this.data = []\n for (let x of info) {\n this.data.push({\n name: x[0],\n interface: x[1],\n })\n }\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d2e917495a9e594353d1d473262b601dba7bac68"},o=l[t]||(l[t]={});o[e]&&o[e].hash===n||(o[e]=a);var s=o[e];return c=function(){return s},s}c();const r={mixins:[s.A],props:{tabId:Number,curTab:Number},data(){return c().f[0]++,c().s[0]++,{search:"",data:[],headers:[{text:"Target Name",value:"name"},{text:"Interfaces",value:"interface"}]}},methods:{update(){if(c().f[1]++,c().s[1]++,this.tabId!=this.curTab)return c().b[0][0]++,void c().s[2]++;c().b[0][1]++,c().s[3]++,this.api.get_target_interfaces().then((e=>{c().f[2]++,c().s[4]++,this.data=[],c().s[5]++;for(let n of e)c().s[6]++,this.data.push({name:n[0],interface:n[1]})}))}}},i=r;var u=l(2401),m=(0,u.A)(i,a,o,!1,null,null,null);const d=m.exports}}]);
|
|
2
|
+
//# sourceMappingURL=229.js.map
|