cosmosc2-tool-cmdtlmserver 5.0.2 → 5.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +6 -1
  3. data/tools/cmdtlmserver/js/262.js +1 -1
  4. data/tools/cmdtlmserver/js/262.js.map +1 -1
  5. data/tools/cmdtlmserver/js/273.js.map +1 -1
  6. data/tools/cmdtlmserver/js/377.js +2 -0
  7. data/tools/cmdtlmserver/js/377.js.map +1 -0
  8. data/tools/cmdtlmserver/js/407.js.map +1 -1
  9. data/tools/cmdtlmserver/js/438.js +2 -0
  10. data/tools/cmdtlmserver/js/438.js.map +1 -0
  11. data/tools/cmdtlmserver/js/479.js +1 -1
  12. data/tools/cmdtlmserver/js/479.js.map +1 -1
  13. data/tools/cmdtlmserver/js/558.js +2 -0
  14. data/tools/cmdtlmserver/js/558.js.map +1 -0
  15. data/tools/cmdtlmserver/js/621.js +2 -0
  16. data/tools/cmdtlmserver/js/621.js.map +1 -0
  17. data/tools/cmdtlmserver/js/641.js +2 -0
  18. data/tools/cmdtlmserver/js/641.js.map +1 -0
  19. data/tools/cmdtlmserver/js/647.js +2 -0
  20. data/tools/cmdtlmserver/js/647.js.map +1 -0
  21. data/tools/cmdtlmserver/js/942.js +4 -0
  22. data/tools/cmdtlmserver/js/942.js.map +1 -0
  23. data/tools/cmdtlmserver/js/950.js +2 -0
  24. data/tools/cmdtlmserver/js/950.js.map +1 -0
  25. data/tools/cmdtlmserver/js/app.js +1 -1
  26. data/tools/cmdtlmserver/js/app.js.map +1 -1
  27. metadata +19 -19
  28. data/tools/cmdtlmserver/js/226.js +0 -2
  29. data/tools/cmdtlmserver/js/226.js.map +0 -1
  30. data/tools/cmdtlmserver/js/250.js +0 -2
  31. data/tools/cmdtlmserver/js/250.js.map +0 -1
  32. data/tools/cmdtlmserver/js/290.js +0 -2
  33. data/tools/cmdtlmserver/js/290.js.map +0 -1
  34. data/tools/cmdtlmserver/js/361.js +0 -2
  35. data/tools/cmdtlmserver/js/361.js.map +0 -1
  36. data/tools/cmdtlmserver/js/450.js +0 -2
  37. data/tools/cmdtlmserver/js/450.js.map +0 -1
  38. data/tools/cmdtlmserver/js/599.js +0 -2
  39. data/tools/cmdtlmserver/js/599.js.map +0 -1
  40. data/tools/cmdtlmserver/js/780.js +0 -2
  41. data/tools/cmdtlmserver/js/780.js.map +0 -1
  42. data/tools/cmdtlmserver/js/84.js +0 -2
  43. data/tools/cmdtlmserver/js/84.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/377.js","mappings":"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","sources":["webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/TargetsTab.vue?636a","webpack://@cosmosc2/tool-cmdtlmserver/src/tools/CmdTlmServer/TargetsTab.vue","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/TargetsTab.vue?7d65","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/TargetsTab.vue","webpack://@cosmosc2/tool-cmdtlmserver/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new CosmosApi()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.data.length)+\" Targets \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{ itemsPerPageOptions: [10, 20, -1] },\"calculate-widths\":\"\",\"multi-sort\":\"\",\"data-test\":\"targets-table\"}})],1)}\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-card>\n <v-card-title>\n {{ data.length }} Targets\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n :items-per-page=\"10\"\n :footer-props=\"{ itemsPerPageOptions: [10, 20, -1] }\"\n calculate-widths\n multi-sort\n data-test=\"targets-table\"\n />\n </v-card>\n</template>\n\n<script>\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n tabId: Number,\n curTab: Number,\n },\n data() {\n return {\n search: '',\n data: [],\n headers: [\n { text: 'Target Name', value: 'name' },\n { text: 'Interface', value: 'interface' },\n { text: 'Command Count', value: 'cmd_count' },\n { text: 'Telemetry Count', value: 'tlm_count' },\n ],\n }\n },\n methods: {\n update() {\n if (this.tabId != this.curTab) return\n this.api.get_all_target_info().then((info) => {\n this.data = []\n for (let x of info) {\n this.data.push({\n name: x[0],\n interface: x[1],\n cmd_count: x[2],\n tlm_count: x[3],\n })\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetsTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TargetsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TargetsTab.vue?vue&type=template&id=aaed95de&\"\nimport script from \"./TargetsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./TargetsTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["props","refreshInterval","default","data","updater","api","created","this","CosmosApi","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","methods","setInterval","update","render","_vm","_h","$createElement","_c","_self","_v","_s","length","attrs","model","value","callback","$$v","search","expression","headers","itemsPerPageOptions","staticRenderFns","mixins","tabId","curTab","text","info","name","interface","cmd_count","tlm_count","component","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","i","F","s","n","done","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"file":"js/407.js","mappings":"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","sources":["webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?6de8","webpack://@cosmosc2/tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?8039","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?a976","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?b223"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new CosmosApi()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":\"790px\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }_vm.isVisible = false}},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-system-bar',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"copy-icon\"},on:{\"click\":_vm.copyRawData}},[_vm._v(\" mdi-content-copy \")])],1)]}}])},[_c('span',[_vm._v(\" Copy \")])]),_c('v-spacer'),_c('span',[_vm._v(\" \"+_vm._s(_vm.type)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"download\"},on:{\"click\":_vm.downloadRawData}},[_vm._v(\" mdi-download \")])],1)]}}])},[_c('span',[_vm._v(\" Download \")])])],1),_c('v-card-title',[_c('span',[_vm._v(\" \"+_vm._s(_vm.header)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])])],1),_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Received Time: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedTime)+\" \")])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Count: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedCount)+\" \")])])],1),_c('v-textarea',{staticClass:\"pa-0 ma-0\",attrs:{\"auto-grow\":\"\",\"readonly\":\"\"},model:{value:(_vm.rawData),callback:function ($$v) {_vm.rawData=$$v},expression:\"rawData\"}})],1)],1)],1)}\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-dialog v-model=\"isVisible\" @keydown.esc=\"isVisible = false\" width=\"790px\">\n <v-card>\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n },\n methods: {\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(result.buffer.raw)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(result.buffer.raw)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n</script>\n<style scoped>\n.v-textarea >>> textarea {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RawDialog.vue?vue&type=template&id=2c506396&scoped=true&\"\nimport script from \"./RawDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./RawDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RawDialog.vue?vue&type=style&index=0&id=2c506396&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c506396\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-textarea[data-v-2c506396] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[2]!../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[3]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=style&index=0&id=2c506396&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"27891669\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["props","refreshInterval","default","data","updater","api","created","this","CosmosApi","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","methods","setInterval","update","render","_vm","_h","$createElement","_c","_self","attrs","on","$event","type","indexOf","_k","keyCode","key","isVisible","model","value","callback","$$v","expression","scopedSlots","_u","fn","ref","_g","_b","copyRawData","_v","_s","downloadRawData","header","pause","buttonIcon","buttonLabel","staticClass","receivedTime","receivedCount","rawData","staticRenderFns","mixins","String","visible","Boolean","targetName","packetName","paused","computed","get","set","$emit","bool","buildRawData","navigator","clipboard","writeText","link","href","URL","createObjectURL","blob","setAttribute","dt","click","updateTelemetry","updateCommand","get_tlm_buffer","then","get_cmd_buffer","formatBuffer","string","index","ascii","buffer","forEach","fromCharCode","byte","existing_length","filler","ascii_filler","numHex","num","hex","repeat","width","length","component","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","locals","exports","add"],"sourceRoot":""}
1
+ {"version":3,"file":"js/407.js","mappings":"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","sources":["webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/Updater.js","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?6de8","webpack://@cosmosc2/tool-cmdtlmserver/src/tools/CmdTlmServer/RawDialog.vue","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?8039","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?a976","webpack://@cosmosc2/tool-cmdtlmserver/./src/tools/CmdTlmServer/RawDialog.vue?b223"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\n\nexport default {\n props: {\n refreshInterval: {\n default: 1000,\n },\n },\n data() {\n return {\n updater: null,\n api: null,\n }\n },\n created() {\n this.api = new CosmosApi()\n },\n mounted() {\n this.changeUpdater()\n },\n beforeDestroy() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n watch: {\n // eslint-disable-next-line no-unused-vars\n refreshInterval: function (newVal, oldVal) {\n this.changeUpdater()\n },\n },\n methods: {\n changeUpdater() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n this.updater = setInterval(() => {\n this.update()\n }, this.refreshInterval)\n },\n },\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":\"790px\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }_vm.isVisible = false}},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-system-bar',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"copy-icon\"},on:{\"click\":_vm.copyRawData}},[_vm._v(\" mdi-content-copy \")])],1)]}}])},[_c('span',[_vm._v(\" Copy \")])]),_c('v-spacer'),_c('span',[_vm._v(\" \"+_vm._s(_vm.type)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"download\"},on:{\"click\":_vm.downloadRawData}},[_vm._v(\" mdi-download \")])],1)]}}])},[_c('span',[_vm._v(\" Download \")])])],1),_c('v-card-title',[_c('span',[_vm._v(\" \"+_vm._s(_vm.header)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"pause\"},on:{\"click\":_vm.pause}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.buttonIcon)+\" \")])],1)],1)]}}])},[_c('span',[_vm._v(\" \"+_vm._s(_vm.buttonLabel)+\" \")])])],1),_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Received Time: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedTime)+\" \")])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(\" Count: \")])]),_c('v-col',{staticClass:\"text-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.receivedCount)+\" \")])])],1),_c('v-textarea',{staticClass:\"pa-0 ma-0\",attrs:{\"auto-grow\":\"\",\"readonly\":\"\"},model:{value:(_vm.rawData),callback:function ($$v) {_vm.rawData=$$v},expression:\"rawData\"}})],1)],1)],1)}\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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-dialog v-model=\"isVisible\" @keydown.esc=\"isVisible = false\" width=\"790px\">\n <v-card>\n <v-system-bar>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"copy-icon\" @click=\"copyRawData\">\n mdi-content-copy\n </v-icon>\n </div>\n </template>\n <span> Copy </span>\n </v-tooltip>\n <v-spacer />\n <span> {{ type }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"download\" @click=\"downloadRawData\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </v-system-bar>\n <v-card-title>\n <span> {{ header }} </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"pause\" @click=\"pause\">\n <v-icon> {{ buttonIcon }} </v-icon>\n </v-btn>\n </div>\n </template>\n <span> {{ buttonLabel }} </span>\n </v-tooltip>\n </v-card-title>\n <v-card-text>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Received Time: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedTime }} </span>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col cols=\"4\">\n <span> Count: </span>\n </v-col>\n <v-col class=\"text-right\">\n <span> {{ receivedCount }} </span>\n </v-col>\n </v-row>\n <v-textarea v-model=\"rawData\" class=\"pa-0 ma-0\" auto-grow readonly />\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nimport Updater from './Updater'\n\nexport default {\n mixins: [Updater],\n props: {\n type: String,\n visible: Boolean,\n targetName: String,\n packetName: String,\n },\n data() {\n return {\n header: '',\n receivedTime: '',\n rawData: '',\n paused: false,\n receivedCount: '',\n }\n },\n computed: {\n buttonLabel: function () {\n if (this.paused) {\n return 'Resume'\n } else {\n return 'Pause'\n }\n },\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n isVisible: {\n get: function () {\n return this.visible\n },\n // Reset all the data to defaults\n set: function (bool) {\n this.header = ''\n this.receivedTime = ''\n this.rawData = ''\n this.receivedCount = ''\n this.paused = false\n this.buttonLabel = 'Pause'\n this.$emit('display', bool)\n },\n },\n },\n methods: {\n buildRawData: function () {\n return `${this.header}\\nReceived Time: ${this.receivedTime}\\nCount: ${this.receivedCount}\\n${this.rawData}`\n },\n copyRawData: function () {\n navigator.clipboard.writeText(this.buildRawData())\n },\n downloadRawData: function () {\n const blob = new Blob([this.buildRawData()], {\n type: 'plain/text',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n const dt = format(Date.now(), 'yyyy_MM_dd_HH_mm_ss')\n link.setAttribute(\n 'download',\n `${dt}_${this.targetName}_${this.packetName}.txt`\n )\n link.click()\n },\n pause: function () {\n this.paused = !this.paused\n },\n update: function () {\n if (!this.isVisible || this.paused) return\n this.header = `Raw ${this.type} Packet: ${this.targetName} ${this.packetName}`\n\n if (this.type === 'Telemetry') {\n this.updateTelemetry()\n } else {\n this.updateCommand()\n }\n },\n updateTelemetry: function () {\n this.api\n .get_tlm_buffer(this.targetName, this.packetName)\n .then((result) => {\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(result.buffer.raw)\n })\n },\n updateCommand: function () {\n this.api\n .get_cmd_buffer(this.targetName, this.packetName)\n .then((result) => {\n this.receivedTime = new Date(result.time / 1000000)\n this.receivedCount = result.received_count\n this.rawData =\n 'Address Data Ascii\\n' +\n '---------------------------------------------------------------------------\\n' +\n this.formatBuffer(result.buffer.raw)\n })\n },\n // TODO: Perhaps move this to a utility library\n formatBuffer: function (buffer) {\n var string = ''\n var index = 0\n var ascii = ''\n buffer.forEach((byte) => {\n if (index % 16 === 0) {\n string += this.numHex(index, 8) + ': '\n }\n string += this.numHex(byte)\n\n // Create the ASCII representation if printable\n if (byte >= 32 && byte <= 126) {\n ascii += String.fromCharCode(byte)\n } else {\n ascii += ' '\n }\n\n index++\n\n if (index % 16 === 0) {\n string += ' ' + ascii + '\\n'\n ascii = ''\n } else {\n string += ' '\n }\n })\n\n // We're done printing all the bytes. Now check to see if we ended in the\n // middle of a line. If so we have to print out the final ASCII if\n // requested.\n if (index % 16 != 0) {\n var existing_length = (index % 16) - 1 + (index % 16) * 2\n // 47 is (16 * 2) + 15 separator spaces\n var filler = ' '.repeat(47 - existing_length)\n var ascii_filler = ' '.repeat(16 - ascii.length)\n string += filler + ' ' + ascii + ascii_filler\n }\n return string\n },\n numHex(num, width = 2) {\n var hex = num.toString(16)\n return '0'.repeat(width - hex.length) + hex\n },\n },\n}\n</script>\n<style scoped>\n.v-textarea >>> textarea {\n margin-top: 10px;\n font-family: 'Courier New', Courier, monospace;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RawDialog.vue?vue&type=template&id=2c506396&scoped=true&\"\nimport script from \"./RawDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./RawDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RawDialog.vue?vue&type=style&index=0&id=2c506396&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c506396\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-textarea[data-v-2c506396] textarea{margin-top:10px;font-family:Courier New,Courier,monospace}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[1]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[2]!../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[3]!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawDialog.vue?vue&type=style&index=0&id=2c506396&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"27891669\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["props","refreshInterval","default","data","updater","api","created","this","CosmosApi","mounted","changeUpdater","beforeDestroy","clearInterval","watch","newVal","oldVal","methods","setInterval","update","render","_vm","_h","$createElement","_c","_self","attrs","on","$event","type","indexOf","_k","keyCode","key","isVisible","model","value","callback","$$v","expression","scopedSlots","_u","fn","ref","_g","_b","copyRawData","_v","_s","downloadRawData","header","pause","buttonIcon","buttonLabel","staticClass","receivedTime","receivedCount","rawData","staticRenderFns","mixins","visible","targetName","packetName","paused","computed","get","set","buildRawData","navigator","link","dt","updateTelemetry","get_tlm_buffer","then","updateCommand","get_cmd_buffer","formatBuffer","buffer","string","ascii","index","numHex","num","component","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","locals","exports","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_cosmosc2_tool_cmdtlmserver"]=self["webpackChunk_cosmosc2_tool_cmdtlmserver"]||[]).push([[438],{3492:function(t,e){(function(t,n){n(e)})(0,(function(t){"use strict";var e={logger:self.console,WebSocket:self.WebSocket},n={log:function(){if(this.enabled){for(var t,n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];i.push(Date.now()),(t=e.logger).log.apply(t,["[ActionCable]"].concat(i))}}},i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),s=function(){return(new Date).getTime()},c=function(t){return(s()-t)/1e3},u=function(t,e,n){return Math.max(e,Math.min(n,t))},a=function(){function t(e){o(this,t),this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=e,this.reconnectAttempts=0}return t.prototype.start=function(){this.isRunning()||(this.startedAt=s(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),n.log("ConnectionMonitor started. pollInterval = "+this.getPollInterval()+" ms"))},t.prototype.stop=function(){this.isRunning()&&(this.stoppedAt=s(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),n.log("ConnectionMonitor stopped"))},t.prototype.isRunning=function(){return this.startedAt&&!this.stoppedAt},t.prototype.recordPing=function(){this.pingedAt=s()},t.prototype.recordConnect=function(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,n.log("ConnectionMonitor recorded connect")},t.prototype.recordDisconnect=function(){this.disconnectedAt=s(),n.log("ConnectionMonitor recorded disconnect")},t.prototype.startPolling=function(){this.stopPolling(),this.poll()},t.prototype.stopPolling=function(){clearTimeout(this.pollTimeout)},t.prototype.poll=function(){var t=this;this.pollTimeout=setTimeout((function(){t.reconnectIfStale(),t.poll()}),this.getPollInterval())},t.prototype.getPollInterval=function(){var t=this.constructor.pollInterval,e=t.min,n=t.max,i=t.multiplier,o=i*Math.log(this.reconnectAttempts+1);return Math.round(1e3*u(o,e,n))},t.prototype.reconnectIfStale=function(){this.connectionIsStale()&&(n.log("ConnectionMonitor detected stale connection. reconnectAttempts = "+this.reconnectAttempts+", pollInterval = "+this.getPollInterval()+" ms, time disconnected = "+c(this.disconnectedAt)+" s, stale threshold = "+this.constructor.staleThreshold+" s"),this.reconnectAttempts++,this.disconnectedRecently()?n.log("ConnectionMonitor skipping reopening recent disconnect"):(n.log("ConnectionMonitor reopening"),this.connection.reopen()))},t.prototype.connectionIsStale=function(){return c(this.pingedAt?this.pingedAt:this.startedAt)>this.constructor.staleThreshold},t.prototype.disconnectedRecently=function(){return this.disconnectedAt&&c(this.disconnectedAt)<this.constructor.staleThreshold},t.prototype.visibilityDidChange=function(){var t=this;"visible"===document.visibilityState&&setTimeout((function(){!t.connectionIsStale()&&t.connection.isOpen()||(n.log("ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = "+document.visibilityState),t.connection.reopen())}),200)},t}();a.pollInterval={min:3,max:30,multiplier:5},a.staleThreshold=6;var l={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]},p=l.message_types,h=l.protocols,f=h.slice(0,h.length-1),d=[].indexOf,g=function(){function t(e){o(this,t),this.open=this.open.bind(this),this.consumer=e,this.subscriptions=this.consumer.subscriptions,this.monitor=new a(this),this.disconnected=!0}return t.prototype.send=function(t){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(t)),!0)},t.prototype.open=function(){return this.isActive()?(n.log("Attempted to open WebSocket, but existing socket is "+this.getState()),!1):(n.log("Opening WebSocket, current state is "+this.getState()+", subprotocols: "+h),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new e.WebSocket(this.consumer.url,h),this.installEventHandlers(),this.monitor.start(),!0)},t.prototype.close=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{allowReconnect:!0},e=t.allowReconnect;if(e||this.monitor.stop(),this.isActive())return this.webSocket.close()},t.prototype.reopen=function(){if(n.log("Reopening WebSocket, current state is "+this.getState()),!this.isActive())return this.open();try{return this.close()}catch(t){n.log("Failed to reopen WebSocket",t)}finally{n.log("Reopening WebSocket in "+this.constructor.reopenDelay+"ms"),setTimeout(this.open,this.constructor.reopenDelay)}},t.prototype.getProtocol=function(){if(this.webSocket)return this.webSocket.protocol},t.prototype.isOpen=function(){return this.isState("open")},t.prototype.isActive=function(){return this.isState("open","connecting")},t.prototype.isProtocolSupported=function(){return d.call(f,this.getProtocol())>=0},t.prototype.isState=function(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return d.call(e,this.getState())>=0},t.prototype.getState=function(){if(this.webSocket)for(var t in e.WebSocket)if(e.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase();return null},t.prototype.installEventHandlers=function(){for(var t in this.events){var e=this.events[t].bind(this);this.webSocket["on"+t]=e}},t.prototype.uninstallEventHandlers=function(){for(var t in this.events)this.webSocket["on"+t]=function(){}},t}();g.reopenDelay=500,g.prototype.events={message:function(t){if(this.isProtocolSupported()){var e=JSON.parse(t.data),i=e.identifier,o=e.message,r=e.reason,s=e.reconnect,c=e.type;switch(c){case p.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case p.disconnect:return n.log("Disconnecting. Reason: "+r),this.close({allowReconnect:s});case p.ping:return this.monitor.recordPing();case p.confirmation:return this.subscriptions.confirmSubscription(i),this.subscriptions.notify(i,"connected");case p.rejection:return this.subscriptions.reject(i);default:return this.subscriptions.notify(i,"received",o)}}},open:function(){if(n.log("WebSocket onopen event, using '"+this.getProtocol()+"' subprotocol"),this.disconnected=!1,!this.isProtocolSupported())return n.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close:function(t){if(n.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error:function(){n.log("WebSocket onerror event")}};var m=function(t,e){if(null!=e)for(var n in e){var i=e[n];t[n]=i}return t},b=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments[2];o(this,t),this.consumer=e,this.identifier=JSON.stringify(n),m(this,i)}return t.prototype.perform=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.action=t,this.send(e)},t.prototype.send=function(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})},t.prototype.unsubscribe=function(){return this.consumer.subscriptions.remove(this)},t}(),y=function(){function t(e){o(this,t),this.subscriptions=e,this.pendingSubscriptions=[]}return t.prototype.guarantee=function(t){-1==this.pendingSubscriptions.indexOf(t)?(n.log("SubscriptionGuarantor guaranteeing "+t.identifier),this.pendingSubscriptions.push(t)):n.log("SubscriptionGuarantor already guaranteeing "+t.identifier),this.startGuaranteeing()},t.prototype.forget=function(t){n.log("SubscriptionGuarantor forgetting "+t.identifier),this.pendingSubscriptions=this.pendingSubscriptions.filter((function(e){return e!==t}))},t.prototype.startGuaranteeing=function(){this.stopGuaranteeing(),this.retrySubscribing()},t.prototype.stopGuaranteeing=function(){clearTimeout(this.retryTimeout)},t.prototype.retrySubscribing=function(){var t=this;this.retryTimeout=setTimeout((function(){t.subscriptions&&"function"===typeof t.subscriptions.subscribe&&t.pendingSubscriptions.map((function(e){n.log("SubscriptionGuarantor resubscribing "+e.identifier),t.subscriptions.subscribe(e)}))}),500)},t}(),v=function(){function t(e){o(this,t),this.consumer=e,this.guarantor=new y(this),this.subscriptions=[]}return t.prototype.create=function(t,e){var n=t,o="object"===("undefined"===typeof n?"undefined":i(n))?n:{channel:n},r=new b(this.consumer,o,e);return this.add(r)},t.prototype.add=function(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t},t.prototype.remove=function(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t},t.prototype.reject=function(t){var e=this;return this.findAll(t).map((function(t){return e.forget(t),e.notify(t,"rejected"),t}))},t.prototype.forget=function(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((function(e){return e!==t})),t},t.prototype.findAll=function(t){return this.subscriptions.filter((function(e){return e.identifier===t}))},t.prototype.reload=function(){var t=this;return this.subscriptions.map((function(e){return t.subscribe(e)}))},t.prototype.notifyAll=function(t){for(var e=this,n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return this.subscriptions.map((function(n){return e.notify.apply(e,[n,t].concat(i))}))},t.prototype.notify=function(t,e){for(var n=arguments.length,i=Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];var r=void 0;return r="string"===typeof t?this.findAll(t):[t],r.map((function(t){return"function"===typeof t[e]?t[e].apply(t,i):void 0}))},t.prototype.subscribe=function(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)},t.prototype.confirmSubscription=function(t){var e=this;n.log("Subscription confirmed "+t),this.findAll(t).map((function(t){return e.guarantor.forget(t)}))},t.prototype.sendCommand=function(t,e){var n=t.identifier;return this.consumer.send({command:e,identifier:n})},t}(),S=function(){function t(e){o(this,t),this._url=e,this.subscriptions=new v(this),this.connection=new g(this)}return t.prototype.send=function(t){return this.connection.send(t)},t.prototype.connect=function(){return this.connection.open()},t.prototype.disconnect=function(){return this.connection.close({allowReconnect:!1})},t.prototype.ensureActiveConnection=function(){if(!this.connection.isActive())return this.connection.open()},r(t,[{key:"url",get:function(){return w(this._url)}}]),t}();function w(t){if("function"===typeof t&&(t=t()),t&&!/^wss?:/i.test(t)){var e=document.createElement("a");return e.href=t,e.href=e.href,e.protocol=e.protocol.replace("http","ws"),e.href}return t}function A(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C("url")||l.default_mount_path;return new S(t)}function C(t){var e=document.head.querySelector("meta[name='action-cable-"+t+"']");if(e)return e.getAttribute("content")}t.Connection=g,t.ConnectionMonitor=a,t.Consumer=S,t.INTERNAL=l,t.Subscription=b,t.Subscriptions=v,t.SubscriptionGuarantor=y,t.adapters=e,t.createWebSocketURL=w,t.logger=n,t.createConsumer=A,t.getConfig=C,Object.defineProperty(t,"__esModule",{value:!0})}))},1639:function(t,e,n){"use strict";var i=n(3103),o=n(266),r=n(5968),s=n(8885),c=n(6733),u=n(8311),a=n(3326),l=n(5300),p=n(3349),h=n(17),f=n(95),d=n(4231),g=f("replace"),m=TypeError,b=r("".indexOf),y=r("".replace),v=r("".slice),S=Math.max,w=function(t,e,n){return n>t.length?-1:""===e?n:b(t,e,n)};i({target:"String",proto:!0},{replaceAll:function(t,e){var n,i,r,f,A,C,D,N,T,k=s(this),_=0,P=0,M="";if(null!=t){if(n=u(t),n&&(i=a(s(p(t))),!~b(i,"g")))throw m("`.replaceAll` does not allow non-global regexes");if(r=l(t,g),r)return o(r,t,k,e);if(d&&n)return y(a(k),t,e)}f=a(k),A=a(t),C=c(e),C||(e=a(e)),D=A.length,N=S(1,D),_=w(f,A,0);while(-1!==_)T=C?a(e(A,_,f)):h(A,f,_,[],void 0,e),M+=v(f,P,_)+T,P=_+D,_=w(f,A,_+N);return P<f.length&&(M+=v(f,P)),M}})},5488:function(t,e,n){"use strict";n.d(e,{Z:function(){return c}});Math.pow(10,8);var i=6e4,o=36e5,r=n(9785),s=n(2765);function c(t,e){(0,r.Z)(1,arguments);var n=e||{},i=null==n.additionalDigits?2:(0,s.Z)(n.additionalDigits);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 o,c=h(t);if(c.date){var u=f(c.date,i);o=d(u.restDateString,u.year)}if(!o||isNaN(o.getTime()))return new Date(NaN);var a,l=o.getTime(),p=0;if(c.time&&(p=m(c.time),isNaN(p)))return new Date(NaN);if(!c.timezone){var g=new Date(l+p),b=new Date(0);return b.setFullYear(g.getUTCFullYear(),g.getUTCMonth(),g.getUTCDate()),b.setHours(g.getUTCHours(),g.getUTCMinutes(),g.getUTCSeconds(),g.getUTCMilliseconds()),b}return a=y(c.timezone),isNaN(a)?new Date(NaN):new Date(l+p+a)}var u={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},a=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,l=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,p=/^([+-])(\d{2})(?::?(\d{2}))?$/;function h(t){var e,n={},i=t.split(u.dateTimeDelimiter);if(i.length>2)return n;if(/:/.test(i[0])?e=i[0]:(n.date=i[0],e=i[1],u.timeZoneDelimiter.test(n.date)&&(n.date=t.split(u.timeZoneDelimiter)[0],e=t.substr(n.date.length,t.length))),e){var o=u.timezone.exec(e);o?(n.time=e.replace(o[1],""),n.timezone=o[1]):n.time=e}return n}function f(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 o=i[1]?parseInt(i[1]):null,r=i[2]?parseInt(i[2]):null;return{year:null===r?o:100*r,restDateString:t.slice((i[1]||i[2]).length)}}function d(t,e){if(null===e)return new Date(NaN);var n=t.match(a);if(!n)return new Date(NaN);var i=!!n[4],o=g(n[1]),r=g(n[2])-1,s=g(n[3]),c=g(n[4]),u=g(n[5])-1;if(i)return D(e,c,u)?v(e,c,u):new Date(NaN);var l=new Date(0);return A(e,r,s)&&C(e,o)?(l.setUTCFullYear(e,r,Math.max(o,s)),l):new Date(NaN)}function g(t){return t?parseInt(t):1}function m(t){var e=t.match(l);if(!e)return NaN;var n=b(e[1]),r=b(e[2]),s=b(e[3]);return N(n,r,s)?n*o+r*i+1e3*s:NaN}function b(t){return t&&parseFloat(t.replace(",","."))||0}function y(t){if("Z"===t)return 0;var e=t.match(p);if(!e)return 0;var n="+"===e[1]?-1:1,r=parseInt(e[2]),s=e[3]&&parseInt(e[3])||0;return T(r,s)?n*(r*o+s*i):NaN}function v(t,e,n){var i=new Date(0);i.setUTCFullYear(t,0,4);var o=i.getUTCDay()||7,r=7*(e-1)+n+1-o;return i.setUTCDate(i.getUTCDate()+r),i}var S=[31,null,31,30,31,30,31,31,30,31,30,31];function w(t){return t%400===0||t%4===0&&t%100!==0}function A(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(S[e]||(w(t)?29:28))}function C(t,e){return e>=1&&e<=(w(t)?366:365)}function D(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function N(t,e,n){return 24===t?0===e&&0===n:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function T(t,e){return e>=0&&e<=59}}}]);
2
+ //# sourceMappingURL=438.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/438.js","mappings":"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","sources":["webpack://@cosmosc2/tool-cmdtlmserver/../../node_modules/@rails/actioncable/app/assets/javascripts/action_cable.js","webpack://@cosmosc2/tool-cmdtlmserver/../../node_modules/core-js/modules/es.string.replace-all.js","webpack://@cosmosc2/tool-cmdtlmserver/../../node_modules/date-fns/esm/constants/index.js","webpack://@cosmosc2/tool-cmdtlmserver/../../node_modules/date-fns/esm/parseISO/index.js"],"sourcesContent":["(function(global, factory) {\n typeof exports === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([ \"exports\" ], factory) : factory(global.ActionCable = {});\n})(this, function(exports) {\n \"use strict\";\n var adapters = {\n logger: self.console,\n WebSocket: self.WebSocket\n };\n var logger = {\n log: function log() {\n if (this.enabled) {\n var _adapters$logger;\n for (var _len = arguments.length, messages = Array(_len), _key = 0; _key < _len; _key++) {\n messages[_key] = arguments[_key];\n }\n messages.push(Date.now());\n (_adapters$logger = adapters.logger).log.apply(_adapters$logger, [ \"[ActionCable]\" ].concat(messages));\n }\n }\n };\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function(obj) {\n return typeof obj;\n } : function(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n var classCallCheck = function(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n var createClass = function() {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var now = function now() {\n return new Date().getTime();\n };\n var secondsSince = function secondsSince(time) {\n return (now() - time) / 1e3;\n };\n var clamp = function clamp(number, min, max) {\n return Math.max(min, Math.min(max, number));\n };\n var ConnectionMonitor = function() {\n function ConnectionMonitor(connection) {\n classCallCheck(this, ConnectionMonitor);\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n ConnectionMonitor.prototype.start = function 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. pollInterval = \" + this.getPollInterval() + \" ms\");\n }\n };\n ConnectionMonitor.prototype.stop = function 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 ConnectionMonitor.prototype.isRunning = function isRunning() {\n return this.startedAt && !this.stoppedAt;\n };\n ConnectionMonitor.prototype.recordPing = function recordPing() {\n this.pingedAt = now();\n };\n ConnectionMonitor.prototype.recordConnect = function recordConnect() {\n this.reconnectAttempts = 0;\n this.recordPing();\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n };\n ConnectionMonitor.prototype.recordDisconnect = function recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n };\n ConnectionMonitor.prototype.startPolling = function startPolling() {\n this.stopPolling();\n this.poll();\n };\n ConnectionMonitor.prototype.stopPolling = function stopPolling() {\n clearTimeout(this.pollTimeout);\n };\n ConnectionMonitor.prototype.poll = function poll() {\n var _this = this;\n this.pollTimeout = setTimeout(function() {\n _this.reconnectIfStale();\n _this.poll();\n }, this.getPollInterval());\n };\n ConnectionMonitor.prototype.getPollInterval = function getPollInterval() {\n var _constructor$pollInte = this.constructor.pollInterval, min = _constructor$pollInte.min, max = _constructor$pollInte.max, multiplier = _constructor$pollInte.multiplier;\n var interval = multiplier * Math.log(this.reconnectAttempts + 1);\n return Math.round(clamp(interval, min, max) * 1e3);\n };\n ConnectionMonitor.prototype.reconnectIfStale = function reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(\"ConnectionMonitor detected stale connection. reconnectAttempts = \" + this.reconnectAttempts + \", pollInterval = \" + this.getPollInterval() + \" ms, time disconnected = \" + secondsSince(this.disconnectedAt) + \" s, stale threshold = \" + this.constructor.staleThreshold + \" s\");\n this.reconnectAttempts++;\n if (this.disconnectedRecently()) {\n logger.log(\"ConnectionMonitor skipping reopening recent disconnect\");\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n };\n ConnectionMonitor.prototype.connectionIsStale = function connectionIsStale() {\n return secondsSince(this.pingedAt ? this.pingedAt : this.startedAt) > this.constructor.staleThreshold;\n };\n ConnectionMonitor.prototype.disconnectedRecently = function disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n };\n ConnectionMonitor.prototype.visibilityDidChange = function visibilityDidChange() {\n var _this2 = this;\n if (document.visibilityState === \"visible\") {\n setTimeout(function() {\n if (_this2.connectionIsStale() || !_this2.connection.isOpen()) {\n logger.log(\"ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = \" + document.visibilityState);\n _this2.connection.reopen();\n }\n }, 200);\n }\n };\n return ConnectionMonitor;\n }();\n ConnectionMonitor.pollInterval = {\n min: 3,\n max: 30,\n multiplier: 5\n };\n ConnectionMonitor.staleThreshold = 6;\n var 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 },\n default_mount_path: \"/cable\",\n protocols: [ \"actioncable-v1-json\", \"actioncable-unsupported\" ]\n };\n var message_types = INTERNAL.message_types, protocols = INTERNAL.protocols;\n var supportedProtocols = protocols.slice(0, protocols.length - 1);\n var indexOf = [].indexOf;\n var Connection = function() {\n function Connection(consumer) {\n classCallCheck(this, Connection);\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 Connection.prototype.send = function send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n };\n Connection.prototype.open = function open() {\n if (this.isActive()) {\n logger.log(\"Attempted to open WebSocket, but existing socket is \" + this.getState());\n return false;\n } else {\n logger.log(\"Opening WebSocket, current state is \" + this.getState() + \", subprotocols: \" + protocols);\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n this.webSocket = new adapters.WebSocket(this.consumer.url, protocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n };\n Connection.prototype.close = function close() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n allowReconnect: true\n }, allowReconnect = _ref.allowReconnect;\n if (!allowReconnect) {\n this.monitor.stop();\n }\n if (this.isActive()) {\n return this.webSocket.close();\n }\n };\n Connection.prototype.reopen = function 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 Connection.prototype.getProtocol = function getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n };\n Connection.prototype.isOpen = function isOpen() {\n return this.isState(\"open\");\n };\n Connection.prototype.isActive = function isActive() {\n return this.isState(\"open\", \"connecting\");\n };\n Connection.prototype.isProtocolSupported = function isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n };\n Connection.prototype.isState = function isState() {\n for (var _len = arguments.length, states = Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n return indexOf.call(states, this.getState()) >= 0;\n };\n Connection.prototype.getState = function getState() {\n if (this.webSocket) {\n for (var state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n return null;\n };\n Connection.prototype.installEventHandlers = function installEventHandlers() {\n for (var eventName in this.events) {\n var handler = this.events[eventName].bind(this);\n this.webSocket[\"on\" + eventName] = handler;\n }\n };\n Connection.prototype.uninstallEventHandlers = function uninstallEventHandlers() {\n for (var eventName in this.events) {\n this.webSocket[\"on\" + eventName] = function() {};\n }\n };\n return Connection;\n }();\n Connection.reopenDelay = 500;\n Connection.prototype.events = {\n message: function message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n var _JSON$parse = JSON.parse(event.data), identifier = _JSON$parse.identifier, message = _JSON$parse.message, reason = _JSON$parse.reason, reconnect = _JSON$parse.reconnect, type = _JSON$parse.type;\n switch (type) {\n case message_types.welcome:\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 return this.subscriptions.notify(identifier, \"connected\");\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: function 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: function 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: function error() {\n logger.log(\"WebSocket onerror event\");\n }\n };\n var extend = function extend(object, properties) {\n if (properties != null) {\n for (var key in properties) {\n var value = properties[key];\n object[key] = value;\n }\n }\n return object;\n };\n var Subscription = function() {\n function Subscription(consumer) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var mixin = arguments[2];\n classCallCheck(this, Subscription);\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n Subscription.prototype.perform = function perform(action) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n data.action = action;\n return this.send(data);\n };\n Subscription.prototype.send = function send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n };\n Subscription.prototype.unsubscribe = function unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n };\n return Subscription;\n }();\n var SubscriptionGuarantor = function() {\n function SubscriptionGuarantor(subscriptions) {\n classCallCheck(this, SubscriptionGuarantor);\n this.subscriptions = subscriptions;\n this.pendingSubscriptions = [];\n }\n SubscriptionGuarantor.prototype.guarantee = function 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 SubscriptionGuarantor.prototype.forget = function forget(subscription) {\n logger.log(\"SubscriptionGuarantor forgetting \" + subscription.identifier);\n this.pendingSubscriptions = this.pendingSubscriptions.filter(function(s) {\n return s !== subscription;\n });\n };\n SubscriptionGuarantor.prototype.startGuaranteeing = function startGuaranteeing() {\n this.stopGuaranteeing();\n this.retrySubscribing();\n };\n SubscriptionGuarantor.prototype.stopGuaranteeing = function stopGuaranteeing() {\n clearTimeout(this.retryTimeout);\n };\n SubscriptionGuarantor.prototype.retrySubscribing = function retrySubscribing() {\n var _this = this;\n this.retryTimeout = setTimeout(function() {\n if (_this.subscriptions && typeof _this.subscriptions.subscribe === \"function\") {\n _this.pendingSubscriptions.map(function(subscription) {\n logger.log(\"SubscriptionGuarantor resubscribing \" + subscription.identifier);\n _this.subscriptions.subscribe(subscription);\n });\n }\n }, 500);\n };\n return SubscriptionGuarantor;\n }();\n var Subscriptions = function() {\n function Subscriptions(consumer) {\n classCallCheck(this, Subscriptions);\n this.consumer = consumer;\n this.guarantor = new SubscriptionGuarantor(this);\n this.subscriptions = [];\n }\n Subscriptions.prototype.create = function create(channelName, mixin) {\n var channel = channelName;\n var params = (typeof channel === \"undefined\" ? \"undefined\" : _typeof(channel)) === \"object\" ? channel : {\n channel: channel\n };\n var subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n };\n Subscriptions.prototype.add = function 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 Subscriptions.prototype.remove = function remove(subscription) {\n this.forget(subscription);\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n return subscription;\n };\n Subscriptions.prototype.reject = function reject(identifier) {\n var _this = this;\n return this.findAll(identifier).map(function(subscription) {\n _this.forget(subscription);\n _this.notify(subscription, \"rejected\");\n return subscription;\n });\n };\n Subscriptions.prototype.forget = function forget(subscription) {\n this.guarantor.forget(subscription);\n this.subscriptions = this.subscriptions.filter(function(s) {\n return s !== subscription;\n });\n return subscription;\n };\n Subscriptions.prototype.findAll = function findAll(identifier) {\n return this.subscriptions.filter(function(s) {\n return s.identifier === identifier;\n });\n };\n Subscriptions.prototype.reload = function reload() {\n var _this2 = this;\n return this.subscriptions.map(function(subscription) {\n return _this2.subscribe(subscription);\n });\n };\n Subscriptions.prototype.notifyAll = function notifyAll(callbackName) {\n var _this3 = this;\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return this.subscriptions.map(function(subscription) {\n return _this3.notify.apply(_this3, [ subscription, callbackName ].concat(args));\n });\n };\n Subscriptions.prototype.notify = function notify(subscription, callbackName) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n var subscriptions = void 0;\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [ subscription ];\n }\n return subscriptions.map(function(subscription) {\n return typeof subscription[callbackName] === \"function\" ? subscription[callbackName].apply(subscription, args) : undefined;\n });\n };\n Subscriptions.prototype.subscribe = function subscribe(subscription) {\n if (this.sendCommand(subscription, \"subscribe\")) {\n this.guarantor.guarantee(subscription);\n }\n };\n Subscriptions.prototype.confirmSubscription = function confirmSubscription(identifier) {\n var _this4 = this;\n logger.log(\"Subscription confirmed \" + identifier);\n this.findAll(identifier).map(function(subscription) {\n return _this4.guarantor.forget(subscription);\n });\n };\n Subscriptions.prototype.sendCommand = function sendCommand(subscription, command) {\n var identifier = subscription.identifier;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n };\n return Subscriptions;\n }();\n var Consumer = function() {\n function Consumer(url) {\n classCallCheck(this, Consumer);\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n }\n Consumer.prototype.send = function send(data) {\n return this.connection.send(data);\n };\n Consumer.prototype.connect = function connect() {\n return this.connection.open();\n };\n Consumer.prototype.disconnect = function disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n };\n Consumer.prototype.ensureActiveConnection = function ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n };\n createClass(Consumer, [ {\n key: \"url\",\n get: function get$$1() {\n return createWebSocketURL(this._url);\n }\n } ]);\n return Consumer;\n }();\n function createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n if (url && !/^wss?:/i.test(url)) {\n var 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 function createConsumer() {\n var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getConfig(\"url\") || INTERNAL.default_mount_path;\n return new Consumer(url);\n }\n function getConfig(name) {\n var element = document.head.querySelector(\"meta[name='action-cable-\" + name + \"']\");\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n exports.Connection = Connection;\n exports.ConnectionMonitor = ConnectionMonitor;\n exports.Consumer = Consumer;\n exports.INTERNAL = INTERNAL;\n exports.Subscription = Subscription;\n exports.Subscriptions = Subscriptions;\n exports.SubscriptionGuarantor = SubscriptionGuarantor;\n exports.adapters = adapters;\n exports.createWebSocketURL = createWebSocketURL;\n exports.logger = logger;\n exports.createConsumer = createConsumer;\n exports.getConfig = getConfig;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\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 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\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\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 (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $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 = stringIndexOf(string, searchString, 0);\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 = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\n\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInMinute = 60000;\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInHour = 3600000;\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInSecond = 1000;\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\n\nexport var minTime = -maxTime;\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var minutesInHour = 60;\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\n\nexport var monthsInQuarter = 3;\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var monthsInYear = 12;\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var quartersInYear = 4;\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInHour = 3600;\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInMinute = 60;","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 * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The previous `parse` implementation was renamed to `parseISO`.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * parseISO('2016-01-01')\n * ```\n *\n * - `parseISO` now validates separate date and time values in ISO-8601 strings\n * and returns `Invalid Date` if the date is invalid.\n *\n * ```javascript\n * parseISO('2018-13-32')\n * //=> Invalid Date\n * ```\n *\n * - `parseISO` now doesn't fall back to `new Date` constructor\n * if it fails to parse a string argument. Instead, 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 */\n\nexport default function parseISO(argument, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var additionalDigits = options.additionalDigits == null ? 2 : toInteger(options.additionalDigits);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time); // 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\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\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}))?$/;\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString; // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\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\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\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); // Invalid ISO-formatted year\n\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; // either year or century is null, not both\n\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\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); // Invalid ISO-formatted string\n\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\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\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\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\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\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\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} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}"],"names":["global","factory","exports","this","adapters","logger","self","console","WebSocket","log","enabled","_adapters$logger","_len","arguments","length","messages","Array","_key","push","Date","now","apply","concat","_typeof","Symbol","iterator","obj","constructor","prototype","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","getTime","secondsSince","time","clamp","number","min","max","Math","ConnectionMonitor","connection","visibilityDidChange","bind","reconnectAttempts","start","isRunning","startedAt","stoppedAt","startPolling","addEventListener","getPollInterval","stop","stopPolling","removeEventListener","recordPing","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","clearTimeout","pollTimeout","_this","setTimeout","reconnectIfStale","_constructor$pollInte","pollInterval","multiplier","interval","round","connectionIsStale","staleThreshold","disconnectedRecently","reopen","_this2","document","visibilityState","isOpen","INTERNAL","message_types","welcome","disconnect","ping","confirmation","rejection","disconnect_reasons","unauthorized","invalid_request","server_restart","default_mount_path","protocols","supportedProtocols","slice","indexOf","Connection","consumer","open","subscriptions","monitor","disconnected","send","data","webSocket","JSON","stringify","isActive","getState","uninstallEventHandlers","url","installEventHandlers","close","_ref","undefined","allowReconnect","error","reopenDelay","getProtocol","protocol","isState","isProtocolSupported","call","states","state","readyState","toLowerCase","eventName","events","handler","message","event","_JSON$parse","parse","identifier","reason","reconnect","type","reload","confirmSubscription","notify","reject","notifyAll","willAttemptReconnect","extend","object","properties","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","_this3","args","_len2","_key2","_this4","Consumer","_url","connect","get","createWebSocketURL","test","a","createElement","href","replace","createConsumer","getConfig","name","element","head","querySelector","getAttribute","$","uncurryThis","requireObjectCoercible","isCallable","isRegExp","toString","getMethod","getRegExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","$TypeError","stringSlice","stringIndexOf","string","searchValue","fromIndex","proto","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch","result","pow","millisecondsInMinute","millisecondsInHour","parseISO","argument","dirtyOptions","requiredArgs","options","additionalDigits","toInteger","RangeError","NaN","date","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","year","isNaN","offset","timestamp","parseTime","timezone","dirtyDate","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","hours","parseTimeUnit","minutes","seconds","validateTime","parseFloat","timezoneString","sign","validateTimezone","isoWeekYear","fourthOfJanuaryDay","getUTCDay","diff","setUTCDate","daysInMonths","isLeapYearIndex","_year","_hours"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self["webpackChunk_cosmosc2_tool_cmdtlmserver"]=self["webpackChunk_cosmosc2_tool_cmdtlmserver"]||[]).push([[479],{1479:function(e,t,n){n.d(t,{J:function(){return h}});var r=n(570),c=n(7475),s=n(9490),a=n(6330),o=n(2209),i=n(3696),u=(n(5047),n(1372),n(1245),n(7950),n(9644)),_=n.n(u),l=n(4091),g=new l["default"],d=_().create({baseURL:location.origin,timeout:1e4,params:{}});d.interceptors.response.use((function(e){return e}),(function(e){if(401===e.response.status)delete localStorage.cosmosToken,CosmosAuth.login(location.href);else{var t,n,r,c,s,a,o,i="HTTP ".concat(e.response.status," - ");if(null!==(t=e.response)&&void 0!==t&&null!==(n=t.data)&&void 0!==n&&n.message)i+="".concat(e.response.data.message);else if(null!==(r=e.response)&&void 0!==r&&null!==(c=r.data)&&void 0!==c&&c.exception)i+="".concat(e.response.data.exception);else if(null!==(s=e.response)&&void 0!==s&&null!==(a=s.data)&&void 0!==a&&null!==(o=a.error)&&void 0!==o&&o.message)e.response.data.error.class&&(i+="".concat(e.response.data.error.class," ")),i+="".concat(e.response.data.error.message);else{var u;i+="".concat(null===(u=e.response)||void 0===u?void 0:u.data)}g.$notify.serious({title:"Network error",body:i})}throw e}));var f=d,h=function(){function e(){(0,a.Z)(this,e),(0,i.Z)(this,"id",1)}return(0,o.Z)(e,[{key:"exec",value:function(){var e=(0,s.Z)(regeneratorRuntime.mark((function e(t,n){var r,c,s,a=arguments;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=a.length>2&&void 0!==a[2]?a[2]:{},e.prev=1,e.next=4,CosmosAuth.updateToken(CosmosAuth.defaultMinValidity);case 4:e.next=9;break;case 6:e.prev=6,e.t0=e["catch"](1),CosmosAuth.login();case 9:return this.id=this.id+1,e.prev=10,r["scope"]=localStorage.scope,e.next=14,f.post("/cosmos-api/api",{jsonrpc:"2.0",method:t,params:n,id:this.id,keyword_params:r},{headers:{Authorization:localStorage.cosmosToken,"Content-Type":"application/json-rpc"}});case 14:return c=e.sent,e.abrupt("return",c.data.result);case 18:throw e.prev=18,e.t1=e["catch"](10),s=new Error,e.t1.response?(s.name=e.t1.response.data.error.data.class,s.message=e.t1.response.data.error.data.message):e.t1.request?(s.name="Request error",s.message="Request error, no response received"):s.name="Unknown error",s;case 23:case"end":return e.stop()}}),e,this,[[1,6],[10,18]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"decode_cosmos_type",value:function(e){if(null!==e&&"object"===(0,c.Z)(e)&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)return-1/0}return null}},{key:"encode_cosmos_type",value:function(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"connect_interface",value:function(e){return this.exec("connect_interface",[e])}},{key:"disconnect_interface",value:function(e){return this.exec("disconnect_interface",[e])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(e){return this.exec("connect_router",[e])}},{key:"disconnect_router",value:function(e){return this.exec("disconnect_router",[e])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_all_cmd_info",value:function(){return this.exec("get_all_cmd_info",[])}},{key:"get_all_tlm_info",value:function(){return this.exec("get_all_tlm_info",[])}},{key:"get_item",value:function(e,t,n){return this.exec("get_item",[e,t,n])}},{key:"get_parameter",value:function(e,t,n){return this.exec("get_parameter",[e,t,n])}},{key:"get_all_packet_logger_info",value:function(){return this.exec("get_all_packet_logger_info",[])}},{key:"start_logging",value:function(){return this.exec("start_logging",[])}},{key:"stop_logging",value:function(){return this.exec("stop_logging",[])}},{key:"start_cmd_log",value:function(e){return this.exec("start_cmd_log",[e])}},{key:"start_tlm_log",value:function(e){return this.exec("start_tlm_log",[e])}},{key:"stop_cmd_log",value:function(e){return this.exec("stop_cmd_log",[e])}},{key:"stop_tlm_log",value:function(e){return this.exec("stop_tlm_log",[e])}},{key:"get_server_status",value:function(){return this.exec("get_server_status",[])}},{key:"get_limits_sets",value:function(){return this.exec("get_limits_sets",[])}},{key:"get_limits_set",value:function(){return this.exec("get_limits_set",[])}},{key:"set_limits_set",value:function(e){return this.exec("set_limits_set",[e])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(e){return this.exec("start_background_task",[e])}},{key:"stop_background_task",value:function(e){return this.exec("stop_background_task",[e])}},{key:"get_oldest_logfile",value:function(){return this.exec("get_oldest_logfile",[])}},{key:"get_target",value:function(e){return this.exec("get_target",[e])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_telemetry",value:function(e,t){return this.exec("get_telemetry",[e,t])}},{key:"get_all_telemetry",value:function(e){return this.exec("get_all_telemetry",[e])}},{key:"get_tlm_packet",value:function(){var e=(0,s.Z)(regeneratorRuntime.mark((function e(t,n,r){var c,s,a,o;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_packet",[t,n],{type:r});case 2:if(c=e.sent,null!=c)for(s=c.length,a=null,o=0;o<s;o++)a=this.decode_cosmos_type(c[o][1]),null!==a&&(c[o][1]=a);return e.abrupt("return",c);case 5:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_packet_derived_items",value:function(e,t){return this.exec("get_packet_derived_items",[e,t])}},{key:"get_tlm_buffer",value:function(e,t){return this.exec("get_tlm_buffer",[e,t])}},{key:"get_tlm_values",value:function(){var e=(0,s.Z)(regeneratorRuntime.mark((function e(t){var n,r,c,s;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_values",[t]);case 2:for(n=e.sent,r=n[0].length,c=null,s=0;s<r;s++)c=this.decode_cosmos_type(n[0][s]),null!==c&&(n[0][s]=c);return e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"get_limits",value:function(e,t,n){return this.exec("get_limits",[e,t,n])}},{key:"tlm",value:function(){var e=(0,s.Z)(regeneratorRuntime.mark((function e(t,n,c){var s,a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("tlm",[t,n,c]);case 2:return s=e.sent,a=this.decode_cosmos_type(s),null!==a&&(0,r.Z)("data"),e.abrupt("return",s);case 6:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_all_commands",value:function(e){return this.exec("get_all_commands",[e])}},{key:"get_command",value:function(e,t){return this.exec("get_command",[e,t])}},{key:"get_cmd_value",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[e,t,n,r])}},{key:"get_cmd_buffer",value:function(e,t){return this.exec("get_cmd_buffer",[e,t])}},{key:"_cmd",value:function(e,t,n,r){var c=null;for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(c=this.encode_cosmos_type(r[s]),null!==c&&(r[s]=c));return this.exec(e,[t,n,r])}},{key:"get_cmd_hazardous",value:function(e,t,n){return void 0===t?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,t,n)}},{key:"cmd",value:function(e,t,n){return void 0===t?this.exec("cmd",e):this._cmd("cmd",e,t,n)}},{key:"cmd_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,t,n)}},{key:"cmd_raw",value:function(e,t,n){return void 0===t?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,t,n)}},{key:"cmd_raw_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,t,n)}},{key:"cmd_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,t,n)}},{key:"cmd_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,t,n)}},{key:"cmd_raw_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,t,n)}},{key:"cmd_raw_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,t,n)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(e,t){return this.exec("send_raw",[e,t])}},{key:"list_configs",value:function(e){return this.exec("list_configs",[e])}},{key:"load_config",value:function(e,t){return this.exec("load_config",[e,t])}},{key:"save_config",value:function(e,t,n){return this.exec("save_config",[e,t,n])}},{key:"delete_config",value:function(e,t){return this.exec("delete_config",[e,t])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(e){return this.exec("get_overall_limits_state",[e])}},{key:"list_settings",value:function(){return this.exec("list_settings",[])}},{key:"get_all_settings",value:function(){return this.exec("get_all_settings",[])}},{key:"get_setting",value:function(e){return this.exec("get_setting",[e])}},{key:"get_settings",value:function(e){return this.exec("get_settings",e)}},{key:"save_setting",value:function(e,t){return this.exec("save_setting",[e,t])}}]),e}()}}]);
1
+ "use strict";(self["webpackChunk_cosmosc2_tool_cmdtlmserver"]=self["webpackChunk_cosmosc2_tool_cmdtlmserver"]||[]).push([[479],{1479:function(e,t,n){n.d(t,{J:function(){return m}});var r=n(570),s=n(7475),c=n(1720),a=n(9490),o=n(6330),i=n(2209),u=n(3696),_=(n(1372),n(1245),n(7950),n(8188),n(3675),n(4898),n(5825),n(7170),n(8857),n(8329),n(6279),n(427),n(1159),n(2516),n(4349),n(5273),n(6729),n(1801),n(574),n(5787),n(9271),n(3160),n(5688),n(3157),n(3333),n(315),n(556),n(9224),n(6297),n(8882),n(3450),n(7233),n(8673),n(5734),n(8233),n(9644)),l=n.n(_),d=n(4091),f=new d["default"],g=l().create({baseURL:location.origin,timeout:6e4,params:{}});g.interceptors.response.use((function(e){return e}),(function(e){if(e.response){if(401===e.response.status)delete localStorage.cosmosToken,CosmosAuth.login(location.href);else{var t,n,r,s,c,a,o,i,u,_;if(localStorage.axiosIgnoreResponse===e.response.status.toString())return Promise.reject(e);var l="HTTP ".concat(e.response.status," - ");if(null!==(t=e.response)&&void 0!==t&&t.statusText&&(l+="".concat(e.response.statusText," ")),null!==(n=e.response)&&void 0!==n&&null!==(r=n.config)&&void 0!==r&&r.data&&(l+="".concat(e.response.config.data," ")),null!==(s=e.response)&&void 0!==s&&null!==(c=s.data)&&void 0!==c&&c.message)l+="".concat(e.response.data.message);else if(null!==(a=e.response)&&void 0!==a&&null!==(o=a.data)&&void 0!==o&&o.exception)l+="".concat(e.response.data.exception);else if(null!==(i=e.response)&&void 0!==i&&null!==(u=i.data)&&void 0!==u&&null!==(_=u.error)&&void 0!==_&&_.message)e.response.data.error.class&&(l+="".concat(e.response.data.error.class," ")),l+="".concat(e.response.data.error.message);else{var d;l+="".concat(null===(d=e.response)||void 0===d?void 0:d.data)}f.$notify.serious({title:"Network error",body:l})}throw e}throw e}));var h=g,m=function(){function e(){(0,o.Z)(this,e),(0,u.Z)(this,"id",1)}return(0,i.Z)(e,[{key:"exec",value:function(){var e=(0,a.Z)((0,c.Z)().mark((function e(t,n){var r,s,a,o=arguments;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=o.length>2&&void 0!==o[2]?o[2]:{},e.prev=1,e.next=4,CosmosAuth.updateToken(CosmosAuth.defaultMinValidity);case 4:e.next=9;break;case 6:e.prev=6,e.t0=e["catch"](1),CosmosAuth.login();case 9:return this.id=this.id+1,e.prev=10,r["scope"]=localStorage.scope,e.next=14,h.post("/cosmos-api/api",{jsonrpc:"2.0",method:t,params:n,id:this.id,keyword_params:r},{headers:{Authorization:localStorage.cosmosToken,"Content-Type":"application/json-rpc"}});case 14:return s=e.sent,e.abrupt("return",s.data.result);case 18:throw e.prev=18,e.t1=e["catch"](10),a=new Error,e.t1.response?(a.name=e.t1.response.data.error.data.class,a.message=e.t1.response.data.error.data.message):e.t1.request?(a.name="Request error",a.message="Request error, no response received"):a.name="Unknown error",a;case 23:case"end":return e.stop()}}),e,this,[[1,6],[10,18]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"decode_cosmos_type",value:function(e){if(null!==e&&"object"===(0,s.Z)(e)&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)return-1/0}return null}},{key:"encode_cosmos_type",value:function(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"connect_interface",value:function(e){return this.exec("connect_interface",[e])}},{key:"disconnect_interface",value:function(e){return this.exec("disconnect_interface",[e])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(e){return this.exec("connect_router",[e])}},{key:"disconnect_router",value:function(e){return this.exec("disconnect_router",[e])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_all_cmd_info",value:function(){return this.exec("get_all_cmd_info",[])}},{key:"get_all_tlm_info",value:function(){return this.exec("get_all_tlm_info",[])}},{key:"get_item",value:function(e,t,n){return this.exec("get_item",[e,t,n])}},{key:"get_parameter",value:function(e,t,n){return this.exec("get_parameter",[e,t,n])}},{key:"get_all_packet_logger_info",value:function(){return this.exec("get_all_packet_logger_info",[])}},{key:"start_logging",value:function(){return this.exec("start_logging",[])}},{key:"stop_logging",value:function(){return this.exec("stop_logging",[])}},{key:"start_cmd_log",value:function(e){return this.exec("start_cmd_log",[e])}},{key:"start_tlm_log",value:function(e){return this.exec("start_tlm_log",[e])}},{key:"stop_cmd_log",value:function(e){return this.exec("stop_cmd_log",[e])}},{key:"stop_tlm_log",value:function(e){return this.exec("stop_tlm_log",[e])}},{key:"get_server_status",value:function(){return this.exec("get_server_status",[])}},{key:"get_limits_sets",value:function(){return this.exec("get_limits_sets",[])}},{key:"get_limits_set",value:function(){return this.exec("get_limits_set",[])}},{key:"set_limits_set",value:function(e){return this.exec("set_limits_set",[e])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(e){return this.exec("start_background_task",[e])}},{key:"stop_background_task",value:function(e){return this.exec("stop_background_task",[e])}},{key:"get_oldest_logfile",value:function(){return this.exec("get_oldest_logfile",[])}},{key:"get_target",value:function(e){return this.exec("get_target",[e])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_telemetry",value:function(e,t){return this.exec("get_telemetry",[e,t])}},{key:"get_all_telemetry",value:function(e){return this.exec("get_all_telemetry",[e])}},{key:"get_all_telemetry_list",value:function(e){return this.exec("get_all_telemetry_list",[e])}},{key:"get_tlm_packet",value:function(){var e=(0,a.Z)((0,c.Z)().mark((function e(t,n,r){var s,a,o,i;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_packet",[t,n],{type:r});case 2:if(s=e.sent,null!=s)for(a=s.length,o=null,i=0;i<a;i++)o=this.decode_cosmos_type(s[i][1]),null!==o&&(s[i][1]=o);return e.abrupt("return",s);case 5:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_packet_derived_items",value:function(e,t){return this.exec("get_packet_derived_items",[e,t])}},{key:"get_tlm_buffer",value:function(e,t){return this.exec("get_tlm_buffer",[e,t])}},{key:"get_tlm_values",value:function(){var e=(0,a.Z)((0,c.Z)().mark((function e(t){var n,r,s,a;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_values",[t]);case 2:for(n=e.sent,r=n[0].length,s=null,a=0;a<r;a++)s=this.decode_cosmos_type(n[0][a]),null!==s&&(n[0][a]=s);return e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"get_limits",value:function(e,t,n){return this.exec("get_limits",[e,t,n])}},{key:"tlm",value:function(){var e=(0,a.Z)((0,c.Z)().mark((function e(t,n,s){var a,o;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("tlm",[t,n,s]);case 2:return a=e.sent,o=this.decode_cosmos_type(a),null!==o&&(0,r.Z)("data"),e.abrupt("return",a);case 6:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_all_commands",value:function(e){return this.exec("get_all_commands",[e])}},{key:"get_all_commands_list",value:function(e){return this.exec("get_all_commands_list",[e])}},{key:"get_command",value:function(e,t){return this.exec("get_command",[e,t])}},{key:"get_cmd_value",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[e,t,n,r])}},{key:"get_cmd_buffer",value:function(e,t){return this.exec("get_cmd_buffer",[e,t])}},{key:"_cmd",value:function(e,t,n,r){var s=null;for(var c in r)Object.prototype.hasOwnProperty.call(r,c)&&(s=this.encode_cosmos_type(r[c]),null!==s&&(r[c]=s));return this.exec(e,[t,n,r])}},{key:"get_cmd_hazardous",value:function(e,t,n){return void 0===t?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,t,n)}},{key:"cmd",value:function(e,t,n){return void 0===t?this.exec("cmd",e):this._cmd("cmd",e,t,n)}},{key:"cmd_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,t,n)}},{key:"cmd_raw",value:function(e,t,n){return void 0===t?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,t,n)}},{key:"cmd_raw_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,t,n)}},{key:"cmd_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,t,n)}},{key:"cmd_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,t,n)}},{key:"cmd_raw_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,t,n)}},{key:"cmd_raw_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,t,n)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(e,t){return this.exec("send_raw",[e,t])}},{key:"list_configs",value:function(e){return this.exec("list_configs",[e])}},{key:"load_config",value:function(e,t){return this.exec("load_config",[e,t])}},{key:"save_config",value:function(e,t,n){return this.exec("save_config",[e,t,n])}},{key:"delete_config",value:function(e,t){return this.exec("delete_config",[e,t])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(e){return this.exec("get_overall_limits_state",[e])}},{key:"list_settings",value:function(){return this.exec("list_settings",[])}},{key:"get_all_settings",value:function(){return this.exec("get_all_settings",[])}},{key:"get_setting",value:function(e){return this.exec("get_setting",[e])}},{key:"get_settings",value:function(e){return this.exec("get_settings",e)}},{key:"save_setting",value:function(e,t){return this.exec("save_setting",[e,t])}},{key:"hashString",value:function(){var e=(0,a.Z)((0,c.Z)().mark((function e(t){var n,r,s;return(0,c.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!window.isSecureContext){e.next=7;break}return n=(new TextEncoder).encode(t),e.next=4,crypto.subtle.digest("SHA-256",n);case 4:return r=e.sent,s=new Uint8Array(r),e.abrupt("return",Array.from(s).map((function(e){return e.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}]),e}()}}]);
2
2
  //# sourceMappingURL=479.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js/479.js","mappings":"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","sources":["webpack://@cosmosc2/tool-cmdtlmserver/../cosmosc2-tool-common/src/services/axios.js","webpack://@cosmosc2/tool-cmdtlmserver/../cosmosc2-tool-common/src/services/cosmos-api.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 10000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response.status === 401) {\n delete localStorage.cosmosToken\n CosmosAuth.login(location.href)\n } else {\n let body = `HTTP ${error.response.status} - `\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n }\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport axios from './axios.js'\n\nexport class CosmosApi {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}) {\n try {\n await CosmosAuth.updateToken(CosmosAuth.defaultMinValidity)\n } catch (error) {\n CosmosAuth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = localStorage.scope\n const response = await axios.post(\n '/cosmos-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.cosmosToken,\n 'Content-Type': 'application/json-rpc',\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n //console.log(error)\n throw err\n }\n }\n\n decode_cosmos_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_cosmos_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n connect_interface(interface_name) {\n return this.exec('connect_interface', [interface_name])\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_all_cmd_info() {\n return this.exec('get_all_cmd_info', [])\n }\n\n get_all_tlm_info() {\n return this.exec('get_all_tlm_info', [])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_oldest_logfile() {\n return this.exec('get_oldest_logfile', [])\n }\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n // Called by PacketViewerComponent\n async get_tlm_packet(target_name, packet_name, value_type) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_cosmos_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n // Called by PacketViewerComponent\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n // Called by CmdTlmServer Tlm Packets tab\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n // Called by CosmosScreenComponent\n async get_tlm_values(items) {\n const data = await this.exec('get_tlm_values', [items])\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_cosmos_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n // Called by LimitsbarWidget\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n // Called by LimitsMonitorComponent\n async tlm(target_name, packet_name, item_name) {\n const data = await this.exec('tlm', [target_name, packet_name, item_name])\n var converted = this.decode_cosmos_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n // Called by CmdTlmServer Cmd Packets tab\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_cosmos_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(method, [target_name, command_name, param_list])\n }\n\n // Called by CmdSenderComponent\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name)\n } else {\n return this._cmd('cmd', target_name, command_name, param_list)\n }\n }\n\n // Called by CmdSenderComponent\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n // Called by CmdSenderComponent\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n // Called by CmdSenderComponent\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n // Called by CmdSenderComponent\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n}\n"],"names":["vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","status","localStorage","cosmosToken","CosmosAuth","login","href","body","data","message","exception","class","$notify","serious","title","CosmosApi","method","kwparams","updateToken","defaultMinValidity","this","id","scope","jsonrpc","keyword_params","headers","Authorization","result","err","Error","name","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","exec","interface_name","router_name","target","packet","item","log_writer_name","limits_set","target_name","packet_name","value_type","type","len","length","converted","i","decode_cosmos_type","items","item_name","command_name","parameter_name","param_list","key","Object","prototype","hasOwnProperty","call","encode_cosmos_type","undefined","_cmd","tool","ignored","array"],"sourceRoot":""}
1
+ {"version":3,"file":"js/479.js","mappings":"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","sources":["webpack://@cosmosc2/tool-cmdtlmserver/../cosmosc2-tool-common/src/services/axios.js","webpack://@cosmosc2/tool-cmdtlmserver/../cosmosc2-tool-common/src/services/cosmos-api.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n delete localStorage.cosmosToken\n CosmosAuth.login(location.href)\n } else {\n // Individual tools can set axiosIgnoreResponse to an error code\n // they potentially expect, e.g. '404', in which case we ignore it\n // Since localStorage only supports strings call toString on the status\n if (\n localStorage.axiosIgnoreResponse === error.response.status.toString()\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n }\n)\n\nexport default axiosInstance\n","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n*/\n\nimport axios from './axios.js'\n\nexport class CosmosApi {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}) {\n try {\n await CosmosAuth.updateToken(CosmosAuth.defaultMinValidity)\n } catch (error) {\n CosmosAuth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = localStorage.scope\n const response = await axios.post(\n '/cosmos-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.cosmosToken,\n 'Content-Type': 'application/json-rpc',\n },\n }\n )\n // var data = response.data\n // if (data.error) {\n // var err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n var err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n //console.log(error)\n throw err\n }\n }\n\n decode_cosmos_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_cosmos_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n connect_interface(interface_name) {\n return this.exec('connect_interface', [interface_name])\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_all_cmd_info() {\n return this.exec('get_all_cmd_info', [])\n }\n\n get_all_tlm_info() {\n return this.exec('get_all_tlm_info', [])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_oldest_logfile() {\n return this.exec('get_oldest_logfile', [])\n }\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_telemetry_list(target_name) {\n return this.exec('get_all_telemetry_list', [target_name])\n }\n\n // Called by PacketViewerComponent\n async get_tlm_packet(target_name, packet_name, value_type) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n var len = data.length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_cosmos_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n // Called by PacketViewerComponent\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n // Called by CmdTlmServer Tlm Packets tab\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n // Called by CosmosScreenComponent\n async get_tlm_values(items) {\n const data = await this.exec('get_tlm_values', [items])\n var len = data[0].length\n var converted = null\n for (var i = 0; i < len; i++) {\n converted = this.decode_cosmos_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n // Called by LimitsbarWidget\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n // Called by LimitsMonitorComponent\n async tlm(target_name, packet_name, item_name) {\n const data = await this.exec('tlm', [target_name, packet_name, item_name])\n var converted = this.decode_cosmos_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_commands_list(target_name) {\n return this.exec('get_all_commands_list', [target_name])\n }\n\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n // Called by CmdTlmServer Cmd Packets tab\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list) {\n var converted = null\n for (var key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_cosmos_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(method, [target_name, command_name, param_list])\n }\n\n // Called by CmdSenderComponent\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name)\n } else {\n return this._cmd('cmd', target_name, command_name, param_list)\n }\n }\n\n // Called by CmdSenderComponent\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n // Called by CmdSenderComponent\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n // Called by CmdSenderComponent\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n // Called by CmdSenderComponent\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n // Called by CmdSenderComponent\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n"],"names":["vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","status","localStorage","cosmosToken","CosmosAuth","login","href","axiosIgnoreResponse","toString","Promise","reject","body","statusText","config","data","message","exception","class","$notify","serious","title","CosmosApi","method","kwparams","updateToken","defaultMinValidity","this","id","scope","jsonrpc","keyword_params","headers","Authorization","result","err","Error","name","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","exec","interface_name","router_name","target","packet","item","log_writer_name","limits_set","target_name","packet_name","value_type","type","len","length","converted","i","decode_cosmos_type","items","item_name","command_name","parameter_name","param_list","key","Object","prototype","hasOwnProperty","call","encode_cosmos_type","undefined","_cmd","tool","ignored","array","string","window","isSecureContext","arrayBuffer","TextEncoder","encode","crypto","subtle","digest","hashAsArrayBuffer","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_cosmosc2_tool_cmdtlmserver"]=self["webpackChunk_cosmosc2_tool_cmdtlmserver"]||[]).push([[558],{4558:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return I}});var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),n("v-card",[n("v-tabs",{attrs:{"fixed-tabs":""},model:{value:e.curTab,callback:function(t){e.curTab=t},expression:"curTab"}},e._l(e.tabs,(function(t,a){return n("v-tab",{key:a,attrs:{to:t.url}},[e._v(" "+e._s(t.name)+" ")])})),1),n("router-view",{attrs:{"refresh-interval":e.refreshInterval}}),n("v-dialog",{attrs:{"max-width":"300"},model:{value:e.optionsDialog,callback:function(t){e.optionsDialog=t},expression:"optionsDialog"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),n("span",[e._v("Options")]),n("v-spacer")],1),n("div",{staticClass:"pa-3"},[n("v-text-field",{attrs:{min:"0",max:"10000",step:"100",type:"number",label:"Refresh Interval (ms)",value:e.refreshInterval},on:{change:function(t){e.refreshInterval=t}}})],1)],1)],1)],1),n("div",{staticStyle:{height:"20px"}}),n("log-messages")],1)},s=[],r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",[e._v(" Log Messages "),n("v-spacer"),n("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":"","data-test":"search-log-messages"},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}})],1),n("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"calculate-widths":"","disable-pagination":"","hide-default-footer":"","multi-sort":"",dense:"",height:"45vh","data-test":"log-messages"},scopedSlots:e._u([{key:"item.timestamp",fn:function(t){var a=t.item;return[n("time",{attrs:{title:a.timestamp,datetime:a.timestamp}},[e._v(" "+e._s(a.timestamp)+" ")])]}},{key:"item.severity",fn:function(t){var a=t.item;return[n("astro-badge",{attrs:{status:e.getAstroStatus(a.severity),inline:""}},[n("span",{class:e.getColorClass(a.severity)},[e._v(e._s(a.severity))])])]}}])})],1)},o=[],i=(n(1245),n(9805),n(8188),n(1939),n(8178),n(4063)),l=n(5488),c=n(4117),u=n(8373),m=n(6330),d=n(2209),A=n(3492);A.ConnectionMonitor.staleThreshold=60;var v=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/cosmos-api/cable";(0,m.Z)(this,e),this._cable=A.createConsumer(t)}return(0,d.Z)(e,[{key:"disconnect",value:function(){this._cable.disconnect()}},{key:"createSubscription",value:function(e,t){var n=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return CosmosAuth.updateToken(CosmosAuth.defaultMinValidity).then((function(){return n._cable.subscriptions.create((0,u.Z)({channel:e,scope:t,token:localStorage.cosmosToken},s),a)}))}}]),e}(),p={components:{AstroBadge:c.Z},props:{history_count:{type:Number,default:100}},data:function(){return{data:[],search:"",headers:[{text:"Time",value:"timestamp",width:200},{text:"Severity",value:"severity"},{text:"Source",value:"microservice_name"},{text:"Message",value:"log"}],cable:new v,subscription:null}},created:function(){var e=this;this.cable.createSubscription("MessagesChannel",localStorage.scope,{received:function(t){var n=JSON.parse(t);n.length>e.history_count&&n.splice(0,n.length-e.history_count),n.forEach((function(t){t.timestamp=e.formatDate(t["@timestamp"])})),e.data=n.reverse().concat(e.data),e.data.length>e.history_count&&(e.data.length=e.history_count)}},{history_count:this.history_count}).then((function(t){e.subscription=t}))},destroyed:function(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{formatDate:function(e){return(0,i.Z)((0,l.Z)(e),"yyyy-MM-dd HH:mm:ss.SSS")},getColorClass:function(e){return"INFO"===e?"cosmos-green":"WARN"===e?"cosmos-yellow":"ERROR"===e?"cosmos-red":this.$vuetify.theme.dark?"cosmos-white":"cosmos-black"},getAstroStatus:function(e){return"INFO"===e?"normal":"WARN"===e?"caution":"ERROR"===e?"critical":void 0}}},f=p,h=n(3287),b=(0,h.Z)(f,r,o,!1,null,null,null),g=b.exports,C=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("mounting-portal",{attrs:{"mount-to":"#cosmos-menu",append:""}},[n("div",{staticClass:"v-toolbar__content"},[e._l(e.menus,(function(t,a){return n("v-menu",{key:a,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function(a){var s=a.on,r=a.attrs;return[n("v-btn",e._g(e._b({staticClass:"mx-1",attrs:{outlined:"","data-test":e.formatDT(e.title+" "+t.label)}},"v-btn",r,!1),s),[n("span",{domProps:{textContent:e._s(t.label)}}),n("v-icon",{attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(a,s){return[a.divider?n("v-divider",{key:s}):n("v-list-item",{key:s,attrs:{disabled:a.disabled,"data-test":e.formatDT(e.title+" "+t.label+" "+a.label)},on:{click:a.command}},[a.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:a.label,value:a.label}})],1):e._e(),a.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:a.label,value:a.label},model:{value:e.checked,callback:function(t){e.checked=t},expression:"checked"}})],1):e._e(),a.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:a.disabled}},[e._v(e._s(a.icon))])],1):e._e(),a.radio||a.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(a.disabled?"opacity: 0.2":"")},[e._v(e._s(a.label))])],1)]}))],2)],1)],1)})),n("v-spacer"),n("v-toolbar-title",[e._v(e._s(e.title))]),n("v-spacer")],2)])},_=[],y=(n(7950),n(5940),n(1639),{props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()}}}),x=y,T=(n(791),(0,h.Z)(x,C,_,!1,null,"0b311b9a",null)),k=T.exports;function S(){var e="/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",t="67844d0e0e089417c9d4fe89a7423d21ec50fee3",n=new Function("return this")(),a="__coverage__",s={path:"/cosmos/plugins/packages/cosmosc2-tool-cmdtlmserver/src/tools/CmdTlmServer/CmdTlmServer.vue",statementMap:{0:{start:{line:65,column:4},end:{line:110,column:5}},1:{start:{line:104,column:16},end:{line:104,column:41}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:64,column:2},end:{line:64,column:3}},loc:{start:{line:64,column:9},end:{line:111,column:3}},line:64},1:{name:"(anonymous_1)",decl:{start:{line:103,column:23},end:{line:103,column:24}},loc:{start:{line:103,column:29},end:{line:105,column:15}},line:103}},branchMap:{},s:{0:0,1:0},f:{0:0,1:0},b:{},inputSourceMap:{version:3,sources:["CmdTlmServer.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"CmdTlmServer.vue",sourceRoot:"src/tools/CmdTlmServer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n--\x3e\n\n<template>\n <div>\n <top-bar :menus="menus" :title="title" />\n <v-card>\n <v-tabs v-model="curTab" fixed-tabs>\n <v-tab v-for="(tab, index) in tabs" :key="index" :to="tab.url">\n {{ tab.name }}\n </v-tab>\n </v-tabs>\n <router-view :refresh-interval="refreshInterval" />\n <v-dialog v-model="optionsDialog" max-width="300">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span>Options</span>\n <v-spacer />\n </v-system-bar>\n <div class="pa-3">\n <v-text-field\n min="0"\n max="10000"\n step="100"\n type="number"\n label="Refresh Interval (ms)"\n :value="refreshInterval"\n @change="refreshInterval = $event"\n />\n </div>\n </v-card>\n </v-dialog>\n </v-card>\n <div style="height: 20px" />\n <log-messages />\n </div>\n</template>\n\n<script>\nimport LogMessages from \'@cosmosc2/tool-common/src/components/LogMessages\'\nimport TopBar from \'@cosmosc2/tool-common/src/components/TopBar\'\nexport default {\n components: {\n LogMessages,\n TopBar,\n },\n data() {\n return {\n title: \'CmdTlmServer\',\n curTab: null,\n tabs: [\n {\n name: \'Interfaces\',\n url: \'/interfaces\',\n },\n {\n name: \'Targets\',\n url: \'/targets\',\n },\n {\n name: \'Cmd Packets\',\n url: \'/cmd-packets\',\n },\n {\n name: \'Tlm Packets\',\n url: \'/tlm-packets\',\n },\n {\n name: \'Routers\',\n url: \'/routers\',\n },\n {\n name: \'Status\',\n url: \'/status\',\n },\n ],\n updater: null,\n refreshInterval: 1000,\n optionsDialog: false,\n menus: [\n {\n label: \'File\',\n items: [\n {\n label: \'Options\',\n command: () => {\n this.optionsDialog = true\n },\n },\n ],\n },\n ],\n }\n },\n}\n<\/script>\n\n<style scoped>\n.v-list >>> .v-label {\n margin-left: 5px;\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"67844d0e0e089417c9d4fe89a7423d21ec50fee3"},r=n[a]||(n[a]={});r[e]&&r[e].hash===t||(r[e]=s);var o=r[e];return S=function(){return o},o}S();var w={components:{LogMessages:g,TopBar:k},data:function(){var e=this;return S().f[0]++,S().s[0]++,{title:"CmdTlmServer",curTab:null,tabs:[{name:"Interfaces",url:"/interfaces"},{name:"Targets",url:"/targets"},{name:"Cmd Packets",url:"/cmd-packets"},{name:"Tlm Packets",url:"/tlm-packets"},{name:"Routers",url:"/routers"},{name:"Status",url:"/status"}],updater:null,refreshInterval:1e3,optionsDialog:!1,menus:[{label:"File",items:[{label:"Options",command:function(){S().f[1]++,S().s[1]++,e.optionsDialog=!0}}]}]}}},M=w,R=(n(1300),(0,h.Z)(M,a,s,!1,null,"ac2df832",null)),I=R.exports},3577:function(e,t,n){"use strict";n.r(t);var a=n(3467),s=n.n(a),r=n(8715),o=n.n(r),i=o()(s());i.push([e.id,".v-list[data-v-ac2df832] .v-label{margin-left:5px}.v-list-item__icon[data-v-ac2df832]{margin-right:15px!important}.v-list-item__title[data-v-ac2df832]{color:#fff}",""]),t["default"]=i},8958:function(e,t,n){"use strict";n.r(t);var a=n(3467),s=n.n(a),r=n(8715),o=n.n(r),i=o()(s());i.push([e.id,".v-list[data-v-0b311b9a] .v-label{margin-left:5px}.v-list-item__icon[data-v-0b311b9a]{margin-right:15px!important}.v-list-item__title[data-v-0b311b9a]{color:#fff}",""]),t["default"]=i},1300:function(e,t,n){var a=n(3577);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var s=n(3514).Z;s("f3e23a8c",a,!0,{sourceMap:!1,shadowMode:!1})},791:function(e,t,n){var a=n(8958);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var s=n(3514).Z;s("772a3f68",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=558.js.map