openc3-cosmos-tool-handbooks 5.20.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/plugin.txt +1 -1
  3. data/tools/handbooks/ArrayWidget-BTxChSds-8cc0d1e219bdee3ee7e0.js +2 -0
  4. data/tools/handbooks/BarColumn-Cdu3OoMa-4b76872317503486ae81.js +1 -0
  5. data/tools/handbooks/BlockWidget-PmjzrkXF-bfae6259f429b88cedcb.js +2 -0
  6. data/tools/handbooks/ButtonWidget-nwDlOBJT-50ab39fbb9d9b5c00067.js +2 -0
  7. data/tools/handbooks/CanvasWidget-BL8930eT-47ff02ccf569033eef6e.js +1 -0
  8. data/tools/handbooks/CanvasdotWidget-VCf1fL-G-1a284248f88585709c27.js +1 -0
  9. data/tools/handbooks/CanvasimageWidget-BIw7Wbf2-b046315b448b1d148566.js +1 -0
  10. data/tools/handbooks/CanvasimagevalueWidget-CE3Dj5bH-18c3009f2d4445170a68.js +1 -0
  11. data/tools/handbooks/CanvaslabelWidget-DWmb356h-8e5601d1a3171649e109.js +1 -0
  12. data/tools/handbooks/CanvaslabelvalueWidget-CI3yYwFs-dcde3864f229b7dfbe35.js +1 -0
  13. data/tools/handbooks/CanvaslineWidget-COeapH3P-8f4d4146683ef75acfd4.js +1 -0
  14. data/tools/handbooks/CanvaslinevalueWidget-CI-Bbzfi-40ded28d20c9da97ddb3.js +1 -0
  15. data/tools/handbooks/CheckbuttonWidget-BQhggcZ2-418addbe204c1382c38a.js +1 -0
  16. data/tools/handbooks/ComboboxWidget-BzsbOv54-da53a9cc076630707341.js +1 -0
  17. data/tools/handbooks/DateWidget-B5R_9rA8-2a27a6e4ec29ea02c658.js +1 -0
  18. data/tools/handbooks/DetailsDialog-DLRMqetn-80cefd614ad1ea90b93d.js +1 -0
  19. data/tools/handbooks/DynamicWidget-m9EliUR2-8bc0d337f7846bfde4a9.js +1 -0
  20. data/tools/handbooks/FormatvalueWidget-DZkRJce8-88df31edeca6fe8c2dce.js +1 -0
  21. data/tools/handbooks/GraphWidget-amwxyH1r-3be150d4abb2db05593f.js +1 -0
  22. data/tools/handbooks/Handbooks-eb7a6a87f49c2cb87e1e.js +6 -0
  23. data/tools/handbooks/HorizontalWidget-CirtfuL8-c4717eb2d56111d23637.js +1 -0
  24. data/tools/handbooks/HorizontalboxWidget-CyTDt2nl-9e04e5359dcdd96e4295.js +1 -0
  25. data/tools/handbooks/HorizontallineWidget-BdlNB951-3a9b86a0c6dd7f7d9264.js +1 -0
  26. data/tools/handbooks/IframeWidget-DnJmCrCA-780fc1e07d841cb1255f.js +1 -0
  27. data/tools/handbooks/ImageLoader-CpcR6tPi-1d6748218ed7301a4692.js +1 -0
  28. data/tools/handbooks/ImageviewerWidget-DIkmb_C9-fd648220fdd3d5674a9f.js +1 -0
  29. data/tools/handbooks/LabelWidget-BDsypYho-c6f66a708dd72eae8cf2.js +1 -0
  30. data/tools/handbooks/LabelledWidget-DjturGl5-aa0c4e15e90524cea860.js +1 -0
  31. data/tools/handbooks/LabelprogressbarWidget-RADJGLj3-4a19a52034cd8a1673f7.js +1 -0
  32. data/tools/handbooks/LabelsparklineWidget-BlJoICxu-600ff3732fb4805e072c.js +1 -0
  33. data/tools/handbooks/LabelvalueWidget-DVWJqnlY-6169c2f71c4d8710898e.js +1 -0
  34. data/tools/handbooks/LabelvaluedescWidget-CsUP7J4U-79f084422cfafa9e4422.js +1 -0
  35. data/tools/handbooks/LabelvaluelimitsbarWidget-Blj1QXV8-8c6890250864b5d74ac8.js +1 -0
  36. data/tools/handbooks/LabelvaluelimitscolumnWidget-CvCo-uCe-4eaa1200ef38b9cf207b.js +1 -0
  37. data/tools/handbooks/LabelvaluerangebarWidget-DpcXhlfF-9693998b4bbf86eb191b.js +1 -0
  38. data/tools/handbooks/Layout-C1HoM4Kl-c1f484215a5c1258b34b.js +1 -0
  39. data/tools/handbooks/LedWidget-B_K2e5tq-93e6fe5998b0e20dafe5.js +1 -0
  40. data/tools/handbooks/LimitsbarWidget-DXbqsi4J-b42cd4c8e8ad4936b280.js +1 -0
  41. data/tools/handbooks/LimitscolorWidget-Ckmuw0YX-b5154551ed8491980695.js +1 -0
  42. data/tools/handbooks/LimitscolumnWidget-BfY4su5U-cf16d8618cdb65408de6.js +1 -0
  43. data/tools/handbooks/LinegraphWidget-y-Qy9P0R-23ba63f66dd7d79164a3.js +1 -0
  44. data/tools/handbooks/MatrixbycolumnsWidget-BTBColrs-f2ad0261998578e0947b.js +1 -0
  45. data/tools/handbooks/ProgressbarWidget-DpA_-vy9-f4111147a1486b4bdedf.js +1 -0
  46. data/tools/handbooks/RadiobuttonWidget-BO8zpgwW-cefb0b760bb26f457d85.js +1 -0
  47. data/tools/handbooks/RadiogroupWidget-Oy7V4S-V-e74215d661ba9b671ff7.js +1 -0
  48. data/tools/handbooks/RangebarWidget-DHS7S3vI-a5f2efb3969cc11977ae.js +1 -0
  49. data/tools/handbooks/RollupWidget-CTk9Kjwr-8345e5ca8ae0b418ba7e.js +1 -0
  50. data/tools/handbooks/ScrollwindowWidget-DD0TOW6s-4e86ef0835c03e92b156.js +1 -0
  51. data/tools/handbooks/SignalWidget-CC33KMTW-9cc063cb20fa5e140991.js +1 -0
  52. data/tools/handbooks/SpacerWidget-BnJe_Hq6-66b68eb9bef06ad93a73.js +1 -0
  53. data/tools/handbooks/SparklineWidget-DMvMQCPm-6a60694be7c7b69f8b0a.js +1 -0
  54. data/tools/handbooks/TabbookWidget-B3w0JtWe-1f26b22413ecffad5cda.js +1 -0
  55. data/tools/handbooks/TextboxWidget-D2f0-eol-9125877a5131d0b8de69.js +1 -0
  56. data/tools/handbooks/TextfieldWidget-DXSdgqVP-4c8bd02cdf83008c43d8.js +1 -0
  57. data/tools/handbooks/TimeWidget-DvrRaEMz-e9f8639f122a5e09b511.js +1 -0
  58. data/tools/handbooks/TitleWidget-DqViFQl--13da4f56896efa55a0a2.js +1 -0
  59. data/tools/handbooks/VWidget-02CG-3Av-e7feaa529e95c4de2997.js +1 -0
  60. data/tools/handbooks/ValueWidget-KLYY8L8U-7c8df4e2a7b46a8a2a88.js +1 -0
  61. data/tools/handbooks/ValuelimitsbarWidget-SR8XNZFB-3365cb42530bcff75891.js +1 -0
  62. data/tools/handbooks/ValuelimitscolumnWidget-xYZSp6YZ-c990e35db8867b328f5f.js +1 -0
  63. data/tools/handbooks/ValuerangebarWidget-B6M02a9d-cf821f9babb8d6e3603b.js +1 -0
  64. data/tools/handbooks/VerticalWidget-z6xUM-ql-a30289a8ea28c6d71e33.js +1 -0
  65. data/tools/handbooks/VerticalboxWidget-3a9cVsW--b62f35dbe7aee81ccc16.js +1 -0
  66. data/tools/handbooks/Widget-C4QVI4IH-2de1c130b781b9886eb4.js +1 -0
  67. data/tools/handbooks/main-b8feff7544353ef60d67.js +1420 -0
  68. data/tools/handbooks/main.js +1 -0
  69. metadata +68 -11
  70. data/tools/handbooks/index.html +0 -4
  71. data/tools/handbooks/js/272.js +0 -2
  72. data/tools/handbooks/js/272.js.map +0 -1
  73. data/tools/handbooks/js/565.js +0 -2
  74. data/tools/handbooks/js/565.js.map +0 -1
  75. data/tools/handbooks/js/84.js +0 -2
  76. data/tools/handbooks/js/84.js.map +0 -1
  77. data/tools/handbooks/js/app.js +0 -2
  78. data/tools/handbooks/js/app.js.map +0 -1
@@ -0,0 +1 @@
1
+ System.register(["vue","./main-b8feff7544353ef60d67.js","vue-router","single-spa","vuex","vuetify"],function(e,t){"use strict";return{setters:[null,u=>{e({bootstrap:u.e,mount:u.m,unmount:u.u})},null,null,null,null],execute:function(){}}});
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openc3-cosmos-tool-handbooks
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.20.0
4
+ version: 6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-10-30 00:00:00.000000000 Z
12
+ date: 2024-12-20 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: " This plugin adds the OpenC3 COSMOS Handbooks tool\n"
15
15
  email:
@@ -23,15 +23,72 @@ files:
23
23
  - README.md
24
24
  - Rakefile
25
25
  - plugin.txt
26
- - tools/handbooks/index.html
27
- - tools/handbooks/js/272.js
28
- - tools/handbooks/js/272.js.map
29
- - tools/handbooks/js/565.js
30
- - tools/handbooks/js/565.js.map
31
- - tools/handbooks/js/84.js
32
- - tools/handbooks/js/84.js.map
33
- - tools/handbooks/js/app.js
34
- - tools/handbooks/js/app.js.map
26
+ - tools/handbooks/ArrayWidget-BTxChSds-8cc0d1e219bdee3ee7e0.js
27
+ - tools/handbooks/BarColumn-Cdu3OoMa-4b76872317503486ae81.js
28
+ - tools/handbooks/BlockWidget-PmjzrkXF-bfae6259f429b88cedcb.js
29
+ - tools/handbooks/ButtonWidget-nwDlOBJT-50ab39fbb9d9b5c00067.js
30
+ - tools/handbooks/CanvasWidget-BL8930eT-47ff02ccf569033eef6e.js
31
+ - tools/handbooks/CanvasdotWidget-VCf1fL-G-1a284248f88585709c27.js
32
+ - tools/handbooks/CanvasimageWidget-BIw7Wbf2-b046315b448b1d148566.js
33
+ - tools/handbooks/CanvasimagevalueWidget-CE3Dj5bH-18c3009f2d4445170a68.js
34
+ - tools/handbooks/CanvaslabelWidget-DWmb356h-8e5601d1a3171649e109.js
35
+ - tools/handbooks/CanvaslabelvalueWidget-CI3yYwFs-dcde3864f229b7dfbe35.js
36
+ - tools/handbooks/CanvaslineWidget-COeapH3P-8f4d4146683ef75acfd4.js
37
+ - tools/handbooks/CanvaslinevalueWidget-CI-Bbzfi-40ded28d20c9da97ddb3.js
38
+ - tools/handbooks/CheckbuttonWidget-BQhggcZ2-418addbe204c1382c38a.js
39
+ - tools/handbooks/ComboboxWidget-BzsbOv54-da53a9cc076630707341.js
40
+ - tools/handbooks/DateWidget-B5R_9rA8-2a27a6e4ec29ea02c658.js
41
+ - tools/handbooks/DetailsDialog-DLRMqetn-80cefd614ad1ea90b93d.js
42
+ - tools/handbooks/DynamicWidget-m9EliUR2-8bc0d337f7846bfde4a9.js
43
+ - tools/handbooks/FormatvalueWidget-DZkRJce8-88df31edeca6fe8c2dce.js
44
+ - tools/handbooks/GraphWidget-amwxyH1r-3be150d4abb2db05593f.js
45
+ - tools/handbooks/Handbooks-eb7a6a87f49c2cb87e1e.js
46
+ - tools/handbooks/HorizontalWidget-CirtfuL8-c4717eb2d56111d23637.js
47
+ - tools/handbooks/HorizontalboxWidget-CyTDt2nl-9e04e5359dcdd96e4295.js
48
+ - tools/handbooks/HorizontallineWidget-BdlNB951-3a9b86a0c6dd7f7d9264.js
49
+ - tools/handbooks/IframeWidget-DnJmCrCA-780fc1e07d841cb1255f.js
50
+ - tools/handbooks/ImageLoader-CpcR6tPi-1d6748218ed7301a4692.js
51
+ - tools/handbooks/ImageviewerWidget-DIkmb_C9-fd648220fdd3d5674a9f.js
52
+ - tools/handbooks/LabelWidget-BDsypYho-c6f66a708dd72eae8cf2.js
53
+ - tools/handbooks/LabelledWidget-DjturGl5-aa0c4e15e90524cea860.js
54
+ - tools/handbooks/LabelprogressbarWidget-RADJGLj3-4a19a52034cd8a1673f7.js
55
+ - tools/handbooks/LabelsparklineWidget-BlJoICxu-600ff3732fb4805e072c.js
56
+ - tools/handbooks/LabelvalueWidget-DVWJqnlY-6169c2f71c4d8710898e.js
57
+ - tools/handbooks/LabelvaluedescWidget-CsUP7J4U-79f084422cfafa9e4422.js
58
+ - tools/handbooks/LabelvaluelimitsbarWidget-Blj1QXV8-8c6890250864b5d74ac8.js
59
+ - tools/handbooks/LabelvaluelimitscolumnWidget-CvCo-uCe-4eaa1200ef38b9cf207b.js
60
+ - tools/handbooks/LabelvaluerangebarWidget-DpcXhlfF-9693998b4bbf86eb191b.js
61
+ - tools/handbooks/Layout-C1HoM4Kl-c1f484215a5c1258b34b.js
62
+ - tools/handbooks/LedWidget-B_K2e5tq-93e6fe5998b0e20dafe5.js
63
+ - tools/handbooks/LimitsbarWidget-DXbqsi4J-b42cd4c8e8ad4936b280.js
64
+ - tools/handbooks/LimitscolorWidget-Ckmuw0YX-b5154551ed8491980695.js
65
+ - tools/handbooks/LimitscolumnWidget-BfY4su5U-cf16d8618cdb65408de6.js
66
+ - tools/handbooks/LinegraphWidget-y-Qy9P0R-23ba63f66dd7d79164a3.js
67
+ - tools/handbooks/MatrixbycolumnsWidget-BTBColrs-f2ad0261998578e0947b.js
68
+ - tools/handbooks/ProgressbarWidget-DpA_-vy9-f4111147a1486b4bdedf.js
69
+ - tools/handbooks/RadiobuttonWidget-BO8zpgwW-cefb0b760bb26f457d85.js
70
+ - tools/handbooks/RadiogroupWidget-Oy7V4S-V-e74215d661ba9b671ff7.js
71
+ - tools/handbooks/RangebarWidget-DHS7S3vI-a5f2efb3969cc11977ae.js
72
+ - tools/handbooks/RollupWidget-CTk9Kjwr-8345e5ca8ae0b418ba7e.js
73
+ - tools/handbooks/ScrollwindowWidget-DD0TOW6s-4e86ef0835c03e92b156.js
74
+ - tools/handbooks/SignalWidget-CC33KMTW-9cc063cb20fa5e140991.js
75
+ - tools/handbooks/SpacerWidget-BnJe_Hq6-66b68eb9bef06ad93a73.js
76
+ - tools/handbooks/SparklineWidget-DMvMQCPm-6a60694be7c7b69f8b0a.js
77
+ - tools/handbooks/TabbookWidget-B3w0JtWe-1f26b22413ecffad5cda.js
78
+ - tools/handbooks/TextboxWidget-D2f0-eol-9125877a5131d0b8de69.js
79
+ - tools/handbooks/TextfieldWidget-DXSdgqVP-4c8bd02cdf83008c43d8.js
80
+ - tools/handbooks/TimeWidget-DvrRaEMz-e9f8639f122a5e09b511.js
81
+ - tools/handbooks/TitleWidget-DqViFQl--13da4f56896efa55a0a2.js
82
+ - tools/handbooks/VWidget-02CG-3Av-e7feaa529e95c4de2997.js
83
+ - tools/handbooks/ValueWidget-KLYY8L8U-7c8df4e2a7b46a8a2a88.js
84
+ - tools/handbooks/ValuelimitsbarWidget-SR8XNZFB-3365cb42530bcff75891.js
85
+ - tools/handbooks/ValuelimitscolumnWidget-xYZSp6YZ-c990e35db8867b328f5f.js
86
+ - tools/handbooks/ValuerangebarWidget-B6M02a9d-cf821f9babb8d6e3603b.js
87
+ - tools/handbooks/VerticalWidget-z6xUM-ql-a30289a8ea28c6d71e33.js
88
+ - tools/handbooks/VerticalboxWidget-3a9cVsW--b62f35dbe7aee81ccc16.js
89
+ - tools/handbooks/Widget-C4QVI4IH-2de1c130b781b9886eb4.js
90
+ - tools/handbooks/main-b8feff7544353ef60d67.js
91
+ - tools/handbooks/main.js
35
92
  homepage: https://github.com/OpenC3/cosmos
36
93
  licenses:
37
94
  - AGPL-3.0-only
@@ -1,4 +0,0 @@
1
- <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><main><h1>Your Microfrontend is not here</h1><p>The @openc3/cosmos-tool-handbooks microfrontend is running in "integrated" mode, since standalone-single-spa-webpack-plugin is disabled. This means that it does not work as a standalone application without changing configuration.</p><h2>How do I develop this microfrontend?</h2><p>To develop this microfrontend, try the following steps:</p><ol><li>Copy the following URL to your clipboard: <a target="_blank" rel="noopener" id="mf-url"></a></li><li>In a new browser tab, go to the your single-spa web app. This is where your "root config" is running. You do not have to run the root config locally if it is already running on a deployed environment - go to the deployed environment directly.</li><li>In the browser console, run <code>localStorage.setItem('devtools', true);</code> Refresh the page.</li><li>A yellowish rectangle should appear at the bottom right of your screen. Click on it. Find the name @openc3/cosmos-tool-handbooks and click on it. If it is not present, click on Add New Module.</li><li>Paste the URL above into the input that appears. Refresh the page.</li><li>Congrats, your local code is now being used!</li></ol><p></p><p>For further information about "integrated" mode, see the following links:</p><ul><li><a target="_blank" rel="noopener" href="https://single-spa.js.org/docs/recommended-setup#local-development">Local Development Overview</a></li><li><a target="_blank" rel="noopener" href="https://github.com/joeldenning/import-map-overrides">Import Map Overrides Documentation</a></li></ul><p></p><h2>If you prefer Standalone mode</h2><p>To run this microfrontend in "standalone" mode, the standalone-single-spa-webpack-plugin must not be disabled. In some cases, this is done by running <code>npm run start:standalone</code>. Alternatively, you can add <code>--env standalone</code> to your package.json start script if you are using webpack-config-single-spa.</p>If neither of those work for you, see more details about enabling standalone mode at <a target="_blank" rel="noopener" href="https://github.com/single-spa/standalone-single-spa-webpack-plugin">Standalone Plugin Documentation</a>.<p></p><script>const mfLink = document.getElementById('mf-url');
2
- const fullSrc = new URL('/tools/handbooks//tools/handbooks/js/app.js', window.location.href);
3
- mfLink.href = fullSrc;
4
- mfLink.textContent = fullSrc;</script></main></head><body><div id="app"></div></body></html>
@@ -1,2 +0,0 @@
1
- "use strict";(self["webpackChunk_openc3_cosmos_tool_handbooks"]=self["webpackChunk_openc3_cosmos_tool_handbooks"]||[]).push([[272],{272:(o,e,t)=>{t.r(e),t.d(e,{default:()=>u});var s=function(){var o=this,e=o._self._c;return e("v-card",[e("v-card-title",[o._v("404 Not Found Error")]),o._v(" "),e("v-card-text",[o._v("The requested URL "),e("code",[o._v(o._s(o.$route.fullPath))]),o._v(" was not\n routable.")])],1)},l=[],n=t(2401),r={},_=(0,n.A)(r,s,l,!1,null,null,null);const u=_.exports}}]);
2
- //# sourceMappingURL=272.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/272.js","mappings":"gLAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACA,EAAG,eAAe,CAACF,EAAII,GAAG,yBAAyBJ,EAAII,GAAG,KAAKF,EAAG,cAAc,CAACF,EAAII,GAAG,sBAAsBF,EAAG,OAAO,CAACF,EAAII,GAAGJ,EAAIK,GAAGL,EAAIM,OAAOC,aAAaP,EAAII,GAAG,8BAA8B,EACpR,EACII,EAAkB,G,UCDlBC,EAAS,CAAC,EAKVC,GAAY,OACdD,EACAV,EACAS,GACA,EACA,KACA,KACA,MAIF,QAAeE,EAAiB,O","sources":["webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/NotFound.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/NotFound.vue?4849"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"404 Not Found Error\")]),_vm._v(\" \"),_c('v-card-text',[_vm._v(\"The requested URL \"),_c('code',[_vm._v(_vm._s(_vm.$route.fullPath))]),_vm._v(\" was not\\n routable.\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=163f57b0\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["render","_vm","this","_c","_self","_v","_s","$route","fullPath","staticRenderFns","script","component"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (self["webpackChunk_openc3_cosmos_tool_handbooks"]=self["webpackChunk_openc3_cosmos_tool_handbooks"]||[]).push([[565],{3565:(e,n,t)=>{"use strict";function i(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",n="81570936c0a0bbd6fe3204546810d59181e3d563",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1751}},4:{start:{line:1,column:494},end:{line:1,column:889}},5:{start:{line:1,column:573},end:{line:1,column:597}},6:{start:{line:1,column:969},end:{line:1,column:996}},7:{start:{line:1,column:1125},end:{line:1,column:1174}},8:{start:{line:1,column:1418},end:{line:1,column:1433}},9:{start:{line:1,column:1591},end:{line:1,column:1745}},10:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:483},end:{line:1,column:484}},loc:{start:{line:1,column:493},end:{line:1,column:890}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:556},end:{line:1,column:557}},loc:{start:{line:1,column:572},end:{line:1,column:598}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:953},end:{line:1,column:954}},loc:{start:{line:1,column:968},end:{line:1,column:997}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1108},end:{line:1,column:1109}},loc:{start:{line:1,column:1124},end:{line:1,column:1175}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1402},end:{line:1,column:1403}},loc:{start:{line:1,column:1417},end:{line:1,column:1434}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:1574},end:{line:1,column:1575}},loc:{start:{line:1,column:1590},end:{line:1,column:1746}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"81570936c0a0bbd6fe3204546810d59181e3d563"},s=t[l]||(t[l]={});s[e]&&s[e].hash===n||(s[e]=o);var a=s[e];return i=function(){return a},a}t.r(n),t.d(n,{default:()=>Y}),i(),i().s[0]++;var l=function(){i().f[0]++;var e=(i().s[1]++,this),n=(i().s[2]++,e._self._c);return i().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),e._v(" "),n("v-card",[n("v-container",{staticClass:"d-print-none"},[n("v-row",{attrs:{dense:""}},[n("v-col",[n("v-select",{staticClass:"ma-0 pa-0",attrs:{label:"Select Target(s)",dense:"","hide-details":"",outlined:"",items:e.targetNames,multiple:""},on:{change:e.targetSelect},scopedSlots:e._u([{key:"prepend-item",fn:function(){return i().f[1]++,i().s[4]++,[n("v-list-item",{attrs:{ripple:""},on:{mousedown:function(e){i().f[2]++,i().s[5]++,e.preventDefault()},click:e.toggleTargets}},[n("v-list-item-action",[n("v-icon",[e._v("\n "+e._s(e.icon)+"\n ")])],1),e._v(" "),n("v-list-item-content",[n("v-list-item-title",[e._v(" Select All ")])],1)],1),e._v(" "),n("v-divider",{staticClass:"mt-2"})]},proxy:!0}]),model:{value:e.selectedTargetNames,callback:function(n){i().f[3]++,i().s[6]++,e.selectedTargetNames=n},expression:"selectedTargetNames"}})],1),e._v(" "),n("v-col",[n("v-btn",{staticClass:"primary",on:{click:function(n){i().f[4]++,i().s[7]++,e.renderedTargetNames=e.selectedTargetNames}}},[e._v("\n Display\n ")])],1),e._v(" "),n("v-col",[n("v-select",{attrs:{label:"Item Columns",dense:"","hide-details":"",outlined:"",items:e.columnItems},model:{value:e.columns,callback:function(n){i().f[5]++,i().s[8]++,e.columns=n},expression:"columns"}})],1)],1)],1)],1),e._v(" "),n("div",{staticStyle:{height:"15px"}}),e._v(" "),e._l(e.renderedTargetNames,(function(t){return i().f[6]++,i().s[9]++,n("div",{key:t},[n("target",{attrs:{target:t,columns:e.columns,hideIgnored:e.hideIgnored,hideDerived:e.hideDerived}})],1)}))],2)},o=(i().s[10]++,[]),s=t(814),a=(t(7107),t(2482),t(7067),t(4147),t(2682),t(785),t(8357),t(6196),t(821),t(6554),t(8472),t(7404),t(5803),t(3912),t(3816)),r=t(1649);const c=new r["default"],m=a.A.create({baseURL:location.origin,timeout:6e4,params:{}});m.interceptors.response.use((e=>e),(e=>{if(e.response){if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(e){e&&OpenC3Auth.setTokens()})),e.response.config.headers["Ignore-Errors"]&&e.response.config.headers["Ignore-Errors"].includes(e.response.status.toString()))return Promise.reject(e);let n=`HTTP ${e.response.status} - `;throw e.response?.statusText&&(n+=`${e.response.statusText} `),e.response?.config?.data&&(n+=`${e.response.config.data} `),e.response?.data?.message?n+=`${e.response.data.message}`:e.response?.data?.exception?n+=`${e.response.data.exception}`:e.response?.data?.error?.message?(e.response.data.error.class&&(n+=`${e.response.data.error.class} `),n+=`${e.response.data.error.message}`):n+=`${e.response?.data}`,c.$notify&&c.$notify.serious({title:"Network error",body:n}),e}throw e}));const d=m;class u{constructor(){(0,s.A)(this,"id",1)}async exec(e,n,t={},i={},l=6e4){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(o){OpenC3Auth.login()}this.id=this.id+1;try{t["scope"]=window.openc3Scope,i["manual"]=!0;const o=await d.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:n,id:this.id,keyword_params:t},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...i},timeout:l});return o.data.result}catch(o){let e=new Error;throw o.response?(e.name=o.response.data.error.data.class,e.message=o.response.data.error.data.message,e.object=o.response.data.error):o.request?(e.name="Request error",e.message="Request error, no response received"):e.name="Unknown error",e}}decode_openc3_type(e){if(null!==e&&"object"===typeof 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}encode_openc3_type(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}ensure_offline_access(){this.offline_access_needed().then((e=>{e&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then((()=>{delete localStorage.openc3OfflineToken})):OpenC3Auth.getOfflineAccess())}))}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(e){return this.exec("set_offline_access",[e])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(e,n){return this.exec("map_target_to_interface",[e,n])}connect_interface(e,...n){return n.length>0?this.exec("connect_interface",[e,...n]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,n,...t){return this.exec("interface_cmd",[e,n,...t])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_all_target_info(){return this.exec("get_all_target_info",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,n,t){return this.exec("get_item",[e,n,t])}get_param(e,n,t){return this.exec("get_param",[e,n,t])}get_parameter(e,n,t){return this.exec("get_parameter",[e,n,t])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(e){return this.exec("set_limits_set",[e])}get_target(e){return this.exec("get_target",[e])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_list",[])}get_tlm(e,n){return this.exec("get_tlm",[e,n])}get_telemetry(e,n){return this.exec("get_telemetry",[e,n])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_telemetry",[e])}get_all_tlm_names(e,n=!1){return this.exec("get_all_tlm_names",[e],{hidden:n})}get_all_telemetry_names(e){return this.exec("get_all_telemetry_names",[e])}async get_tlm_packet(e,n,t,i=30){const l=await this.exec("get_tlm_packet",[e,n],{type:t,stale_time:i});if(null!=l){let e=l.length,n=null;for(let t=0;t<e;t++)n=this.decode_openc3_type(l[t][1]),null!==n&&(l[t][1]=n)}return l}get_packet_derived_items(e,n){return this.exec("get_packet_derived_items",[e,n])}get_tlm_buffer(e,n){return this.exec("get_tlm_buffer",[e,n])}async get_tlm_values(e,n=30,t=null){let i={stale_time:n};null!==t&&(i["cache_timeout"]=t);const l=await this.exec("get_tlm_values",[e],i,{},1e4);let o=l[0].length,s=null;for(let a=0;a<o;a++)s=this.decode_openc3_type(l[0][a]),null!==s&&(l[0][a]=s);return l}get_limits(e,n,t){return this.exec("get_limits",[e,n,t])}async tlm(e,n,t,i="CONVERTED"){let l=null;if(void 0===n)l=await this.exec("tlm",[e]);else if(void 0===t){if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){let e=new Error;throw e.name="TypeError",e.message=`Invalid data type ${n}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,e}l=await this.exec("tlm",[e],{type:n})}else l=await this.exec("tlm",[e,n,t],{type:i});let o=this.decode_openc3_type(l);return null!==o&&(l=o),l}async inject_tlm(e,n,t=null,i="CONVERTED"){data=await this.exec("inject_tlm",[e,n,t],{type:i})}set_tlm(e,n,t,i){return this.exec("set_tlm",[e,n,t],{type:i})}override_tlm(e,n,t,i){return this.exec("override_tlm",[e,n,t],{type:i})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,n,t,i){return this.exec("normalize_tlm",[e,n,t],{type:i})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_commands",[e])}get_all_cmd_names(e,n=!1){return this.exec("get_all_cmd_names",[e],{hidden:n})}get_all_command_names(e){return this.exec("get_all_command_names",[e])}get_cmd(e,n){return this.exec("get_cmd",[e,n])}get_command(e,n){return this.exec("get_command",[e,n])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,n,t,i="CONVERTED"){return this.exec("get_cmd_value",[e,n,t,i])}get_cmd_buffer(e,n){return this.exec("get_cmd_buffer",[e,n])}_cmd(e,n,t,i,l){let o=null;for(let s in i)Object.prototype.hasOwnProperty.call(i,s)&&(o=this.encode_openc3_type(i[s]),null!==o&&(i[s]=o));return this.exec(e,[n,t,i],{},l)}get_cmd_hazardous(e,n,t,i={}){return void 0===n?this.exec("get_cmd_hazardous",e,{},i):this._cmd("get_cmd_hazardous",e,n,t,i)}cmd(e,n,t,i={}){return void 0===n?this.exec("cmd",e,{},i):this._cmd("cmd",e,n,t,i)}cmd_no_range_check(e,n,t,i={}){return void 0===n?this.exec("cmd_no_range_check",e,{},i):this._cmd("cmd_no_range_check",e,n,t,i)}cmd_raw(e,n,t,i={}){return void 0===n?this.exec("cmd_raw",e,{},i):this._cmd("cmd_raw",e,n,t,i)}cmd_raw_no_range_check(e,n,t,i={}){return void 0===n?this.exec("cmd_raw_no_range_check",e,{},i):this._cmd("cmd_raw_no_range_check",e,n,t,i)}cmd_no_hazardous_check(e,n,t,i={}){return void 0===n?this.exec("cmd_no_hazardous_check",e,{},i):this._cmd("cmd_no_hazardous_check",e,n,t,i)}cmd_no_checks(e,n,t,i={}){return void 0===n?this.exec("cmd_no_checks",e,{},i):this._cmd("cmd_no_checks",e,n,t,i)}cmd_raw_no_hazardous_check(e,n,t,i={}){return void 0===n?this.exec("cmd_raw_no_hazardous_check",e,{},i):this._cmd("cmd_raw_no_hazardous_check",e,n,t,i)}cmd_raw_no_checks(e,n,t,i={}){return void 0===n?this.exec("cmd_raw_no_checks",e,{},i):this._cmd("cmd_raw_no_checks",e,n,t,i)}build_cmd(e,n,t){return void 0===n?this.exec("build_cmd",e):this._cmd("build_cmd",e,n,t)}build_command(e,n,t){return void 0===n?this.exec("build_command",e):this._cmd("build_command",e,n,t)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,n){return this.exec("send_raw",[e,n])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,n){return this.exec("load_config",[e,n])}save_config(e,n,t){return this.exec("save_config",[e,n,t])}delete_config(e,n){return this.exec("delete_config",[e,n])}enable_limits(e,n,t){return this.exec("enable_limits",[e,n,t])}disable_limits(e,n,t){return this.exec("disable_limits",[e,n,t])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(e){return this.exec("get_overall_limits_state",[e])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(e){return this.exec("get_setting",[e])}get_settings(e){return this.exec("get_settings",e)}set_setting(e,n){return this.exec("set_setting",[e,n])}save_setting(e,n){return this.exec("save_setting",[e,n])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const n=(new TextEncoder).encode(e),t=await crypto.subtle.digest("SHA-256",n),i=new Uint8Array(t);return Array.from(i).map((e=>e.toString(16).padStart(2,"0"))).join("")}}}var A=function(){var e=this,n=e._self._c;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("v-row",{attrs:{"no-gutters":""}},[n("v-col",{attrs:{"align-self":"end"}},[n("span",{staticClass:"app-title mr-2"},[e._v(e._s(e.title))])])],1),e._v(" "),n("v-row",{staticClass:"flex-nowrap",attrs:{dense:""}},e._l(e.menus,(function(t,i){return n("v-menu",{key:i,ref:"topmenu",refInFor:!0,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function({on:i,attrs:l}){return[n("v-btn",e._g(e._b({staticClass:"mx-1 menu-button",attrs:{outlined:"","data-test":e.formatDT(`${e.title} ${t.label}`)}},"v-btn",l,!1),i),[n("span",{domProps:{textContent:e._s(t.label)}}),e._v(" "),n("v-icon",{staticClass:"myicon",attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(i,l){return[i.divider?n("v-divider",{key:l}):i.subMenu&&i.subMenu.length>0?n("div",{key:l},[n("v-menu",{key:e.k,attrs:{"open-on-hover":"","offset-x":"",bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:o}){return[n("v-list-item",e._g(e._b({key:l,attrs:{disabled:i.disabled}},"v-list-item",o,!1),t),[i.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:i.disabled}},[e._v(e._s(i.icon))])],1):e._e(),e._v(" "),i.radio||i.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(i.disabled?"opacity: 0.2":"")},[e._v(e._s(i.label)+"\n ")]),e._v(" "),n("v-icon",[e._v(" mdi-chevron-right ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",e._l(i.subMenu,(function(t,i){return n("v-list-item",{key:i,on:{click:function(n){return e.subMenuClick(t)}}},[t.icon?n("v-list-item-icon",[n("v-icon",[e._v(e._s(t.icon))])],1):e._e(),e._v(" "),n("v-list-item-title",[e._v(e._s(t.label))])],1)})),1)],1)],1):n("v-list-item",{key:l,attrs:{disabled:i.disabled,"data-test":e.formatDT(`${e.title} ${t.label} ${i.label}`)},on:{click:function(e){return i.command(i)}}},[i.radio?n("v-list-item-action",{staticClass:"list-action"},[n("v-radio",{attrs:{color:"secondary",label:i.label,value:i.label}})],1):e._e(),e._v(" "),i.checkbox?n("v-list-item-action",{staticClass:"list-action"},[n("v-checkbox",{attrs:{color:"secondary",label:i.label},model:{value:i.checked,callback:function(n){e.$set(i,"checked",n)},expression:"option.checked"}})],1):e._e(),e._v(" "),i.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:i.disabled}},[e._v(e._s(i.icon))])],1):e._e(),e._v(" "),i.radio||i.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(i.disabled?"opacity: 0.2":"")},[e._v(e._s(i.label))])],1)]}))],2)],1)],1)})),1)],1)},_=[];t(4293),t(8715);const p={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()},subMenuClick(e){e.command(e),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},h=p;t(5699);var v=t(2401),f=(0,v.A)(h,A,_,!1,null,"0af23388",null);const g=f.exports;function b(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",n="875817da524c0a0ab55ccb0359f74c9d5f7cd1f9",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1033}},4:{start:{line:1,column:340},end:{line:1,column:609}},5:{start:{line:1,column:755},end:{line:1,column:1023}},6:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:323},end:{line:1,column:324}},loc:{start:{line:1,column:339},end:{line:1,column:610}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:738},end:{line:1,column:739}},loc:{start:{line:1,column:754},end:{line:1,column:1024}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"875817da524c0a0ab55ccb0359f74c9d5f7cd1f9"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return b=function(){return s},s}b(),b().s[0]++;var C=function(){b().f[0]++;var e=(b().s[1]++,this),n=(b().s[2]++,e._self._c);return b().s[3]++,n("v-card",[n("v-container",{attrs:{id:e.target}},[n("div",{staticClass:"text-h3 text-center"},[e._v(e._s(e.target))]),e._v(" "),n("v-row",[n("v-col",{staticClass:"ml-3 text-h4"},[e._v("Commands")])],1),e._v(" "),e._l(e.commands,(function(t){return b().f[1]++,b().s[4]++,n("v-row",{key:t.packetName,staticClass:"mb-4",attrs:{dense:""}},[n("v-col",{attrs:{cols:12}},[n("packet",{attrs:{packet:t,columns:e.columns,hideIgnored:e.hideIgnored,hideDerived:e.hideDerived,ignored:e.ignoredParams}})],1)],1)})),e._v(" "),n("v-row",[n("v-col",{staticClass:"ml-3 text-h4"},[e._v("Telemetry")])],1),e._v(" "),e._l(e.telemetry,(function(t){return b().f[2]++,b().s[5]++,n("v-row",{key:t.packetName,staticClass:"mb-4",attrs:{dense:""}},[n("v-col",{attrs:{cols:12}},[n("packet",{attrs:{packet:t,columns:e.columns,hideIgnored:e.hideIgnored,hideDerived:e.hideDerived,ignored:e.ignoredItems}})],1)],1)}))],2)],1)},y=(b().s[6]++,[]);function k(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",n="d75352c938082f89d78ccdaa5d29f3f5128a164d",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:626}},4:{start:{line:1,column:511},end:{line:1,column:609}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:496},end:{line:1,column:497}},loc:{start:{line:1,column:510},end:{line:1,column:610}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d75352c938082f89d78ccdaa5d29f3f5128a164d"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return k=function(){return s},s}k(),k().s[0]++;var x=function(){k().f[0]++;var e=(k().s[1]++,this),n=(k().s[2]++,e._self._c);return k().s[3]++,n("v-card",[n("v-card-title",{staticClass:"text-h4 justify-center"},[e._v(e._s(e.packet.target_name)+" "+e._s(e.packet.packet_name))]),e._v(" "),n("v-card-subtitle",[e._v(e._s(e.packet.description)+"\n "),n("div",{staticClass:"float-right"},[e._v(e._s(e.packet.endianness))])]),e._v(" "),n("v-card-text",[n("v-container",{attrs:{fluid:""}},[n("v-row",{attrs:{dense:""}},e._l(e.items,(function(t){return k().f[1]++,k().s[4]++,n("v-col",{key:t.name,attrs:{cols:e.columns}},[n("item",{attrs:{item:t}})],1)})),1)],1)],1)],1)},w=(k().s[5]++,[]);t(2082);function T(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",n="d655a8b5b0b40e7153d6beeb5186c868d3ca4bd1",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:1476}},4:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1}},branchMap:{0:{loc:{start:{line:1,column:722},end:{line:1,column:841}},type:"cond-expr",locations:[{start:{line:1,column:759},end:{line:1,column:832}},{start:{line:1,column:833},end:{line:1,column:841}}],line:1},1:{loc:{start:{line:1,column:854},end:{line:1,column:973}},type:"cond-expr",locations:[{start:{line:1,column:891},end:{line:1,column:964}},{start:{line:1,column:965},end:{line:1,column:973}}],line:1},2:{loc:{start:{line:1,column:986},end:{line:1,column:1105}},type:"cond-expr",locations:[{start:{line:1,column:1023},end:{line:1,column:1096}},{start:{line:1,column:1097},end:{line:1,column:1105}}],line:1},3:{loc:{start:{line:1,column:1118},end:{line:1,column:1249}},type:"cond-expr",locations:[{start:{line:1,column:1138},end:{line:1,column:1240}},{start:{line:1,column:1241},end:{line:1,column:1249}}],line:1},4:{loc:{start:{line:1,column:1262},end:{line:1,column:1358}},type:"cond-expr",locations:[{start:{line:1,column:1283},end:{line:1,column:1349}},{start:{line:1,column:1350},end:{line:1,column:1358}}],line:1},5:{loc:{start:{line:1,column:1371},end:{line:1,column:1470}},type:"cond-expr",locations:[{start:{line:1,column:1393},end:{line:1,column:1461}},{start:{line:1,column:1462},end:{line:1,column:1470}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0},f:{0:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d655a8b5b0b40e7153d6beeb5186c868d3ca4bd1"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return T=function(){return s},s}T(),T().s[0]++;var I=function(){T().f[0]++;var e=(T().s[1]++,this),n=(T().s[2]++,e._self._c);return T().s[3]++,n("v-card",{staticClass:"mx-auto",attrs:{outlined:""}},[n("v-card-title",{staticClass:"justify-center"},[e._v("\n "+e._s(e.item.name)+"\n ")]),e._v(" "),n("v-card-subtitle",[e._v(e._s(e.item.description))]),e._v(" "),n("v-card-text",{staticClass:"text--primary"},[n("div",[e._v("Bit Offset: "+e._s(e.item.bit_offset))]),e._v(" "),n("div",[e._v("Bit Size: "+e._s(e.item.bit_size))]),e._v(" "),n("div",[e._v("Data Type: "+e._s(e.item.data_type))]),e._v(" "),n("div",[e._v("Endianness: "+e._s(e.item.endianness))]),e._v(" "),n("div",[e._v("Overflow: "+e._s(e.item.overflow))]),e._v(" "),Object.hasOwn(e.item,"minimum")?(T().b[0][0]++,n("div",[e._v("\n Minimum: "+e._s(e.item.minimum)+"\n ")])):(T().b[0][1]++,e._e()),e._v(" "),Object.hasOwn(e.item,"maximum")?(T().b[1][0]++,n("div",[e._v("\n Maximum: "+e._s(e.item.maximum)+"\n ")])):(T().b[1][1]++,e._e()),e._v(" "),Object.hasOwn(e.item,"default")?(T().b[2][0]++,n("div",[e._v("\n Default: "+e._s(e.item.default)+"\n ")])):(T().b[2][1]++,e._e()),e._v(" "),e.item.id_value?(T().b[3][0]++,n("div",[n("strong",[e._v("ID Value: 0x"+e._s(e.item.id_value.toString(16).toUpperCase()))])])):(T().b[3][1]++,e._e()),e._v(" "),e.readConversion?(T().b[4][0]++,n("div",[e._v("Read Conversion: "+e._s(e.readConversion))])):(T().b[4][1]++,e._e()),e._v(" "),e.writeConversion?(T().b[5][0]++,n("div",[e._v("Write Conversion: "+e._s(e.writeConversion))])):(T().b[5][1]++,e._e())])],1)},N=(T().s[4]++,[]);function O(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",n="3eacf9f0880ca482c09c818817276ba630f0cc4a",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",statementMap:{0:{start:{line:19,column:6},end:{line:27,column:7}},1:{start:{line:20,column:21},end:{line:20,column:57}},2:{start:{line:21,column:8},end:{line:23,column:9}},3:{start:{line:22,column:10},end:{line:22,column:74}},4:{start:{line:24,column:8},end:{line:24,column:21}},5:{start:{line:26,column:8},end:{line:26,column:20}},6:{start:{line:30,column:6},end:{line:38,column:7}},7:{start:{line:31,column:21},end:{line:31,column:58}},8:{start:{line:32,column:8},end:{line:34,column:9}},9:{start:{line:33,column:10},end:{line:33,column:75}},10:{start:{line:35,column:8},end:{line:35,column:21}},11:{start:{line:37,column:8},end:{line:37,column:20}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:18,column:4},end:{line:18,column:5}},loc:{start:{line:18,column:21},end:{line:28,column:5}},line:18},1:{name:"(anonymous_1)",decl:{start:{line:29,column:4},end:{line:29,column:5}},loc:{start:{line:29,column:22},end:{line:39,column:5}},line:29}},branchMap:{0:{loc:{start:{line:19,column:6},end:{line:27,column:7}},type:"if",locations:[{start:{line:19,column:6},end:{line:27,column:7}},{start:{line:25,column:13},end:{line:27,column:7}}],line:19},1:{loc:{start:{line:21,column:8},end:{line:23,column:9}},type:"if",locations:[{start:{line:21,column:8},end:{line:23,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:21},2:{loc:{start:{line:30,column:6},end:{line:38,column:7}},type:"if",locations:[{start:{line:30,column:6},end:{line:38,column:7}},{start:{line:36,column:13},end:{line:38,column:7}}],line:30},3:{loc:{start:{line:32,column:8},end:{line:34,column:9}},type:"if",locations:[{start:{line:32,column:8},end:{line:34,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:32}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["Item.vue"],names:[],mappings:";AAuDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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:"Item.vue",sourceRoot:"src/tools/Handbooks",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card class="mx-auto" outlined>\n <v-card-title class="justify-center">\n {{ item.name }}\n </v-card-title>\n <v-card-subtitle>{{ item.description }}</v-card-subtitle>\n <v-card-text class="text--primary">\n <div>Bit Offset: {{ item.bit_offset }}</div>\n <div>Bit Size: {{ item.bit_size }}</div>\n <div>Data Type: {{ item.data_type }}</div>\n <div>Endianness: {{ item.endianness }}</div>\n <div>Overflow: {{ item.overflow }}</div>\n <div v-if="Object.hasOwn(item, \'minimum\')">\n Minimum: {{ item.minimum }}\n </div>\n <div v-if="Object.hasOwn(item, \'maximum\')">\n Maximum: {{ item.maximum }}\n </div>\n <div v-if="Object.hasOwn(item, \'default\')">\n Default: {{ item.default }}\n </div>\n <div v-if="item.id_value">\n <strong\n >ID Value: 0x{{ item.id_value.toString(16).toUpperCase() }}</strong\n >\n </div>\n <div v-if="readConversion">Read Conversion: {{ readConversion }}</div>\n <div v-if="writeConversion">Write Conversion: {{ writeConversion }}</div>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nexport default {\n props: {\n item: {\n type: Object,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n readConversion() {\n if (Object.hasOwn(this.item, \'read_conversion\')) {\n let result = `${this.item.read_conversion.class}`\n if (this.item.read_conversion.params) {\n result += ` with ${this.item.read_conversion.params.join(\', \')}`\n }\n return result\n } else {\n return false\n }\n },\n writeConversion() {\n if (Object.hasOwn(this.item, \'write_conversion\')) {\n let result = `${this.item.write_conversion.class}`\n if (this.item.write_conversion.params) {\n result += ` with ${this.item.write_conversion.params.join(\', \')}`\n }\n return result\n } else {\n return false\n }\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3eacf9f0880ca482c09c818817276ba630f0cc4a"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return O=function(){return s},s}O();const S={props:{item:{type:Object,required:!0},hideIgnored:{type:Boolean,required:!0},hideDerived:{type:Boolean,required:!0}},computed:{readConversion(){if(O().f[0]++,O().s[0]++,Object.hasOwn(this.item,"read_conversion")){O().b[0][0]++;let e=(O().s[1]++,`${this.item.read_conversion.class}`);return O().s[2]++,this.item.read_conversion.params?(O().b[1][0]++,O().s[3]++,e+=` with ${this.item.read_conversion.params.join(", ")}`):O().b[1][1]++,O().s[4]++,e}return O().b[0][1]++,O().s[5]++,!1},writeConversion(){if(O().f[1]++,O().s[6]++,Object.hasOwn(this.item,"write_conversion")){O().b[2][0]++;let e=(O().s[7]++,`${this.item.write_conversion.class}`);return O().s[8]++,this.item.write_conversion.params?(O().b[3][0]++,O().s[9]++,e+=` with ${this.item.write_conversion.params.join(", ")}`):O().b[3][1]++,O().s[10]++,e}return O().b[2][1]++,O().s[11]++,!1}}},R=S;var D=(0,v.A)(R,I,N,!1,null,null,null);const E=D.exports;function M(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",n="f783a71a31f15f56a79241a37b41800f6626a7c7",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",statementMap:{0:{start:{line:31,column:18},end:{line:31,column:35}},1:{start:{line:32,column:6},end:{line:34,column:7}},2:{start:{line:33,column:8},end:{line:33,column:73}},3:{start:{line:33,column:39},end:{line:33,column:72}},4:{start:{line:35,column:6},end:{line:37,column:7}},5:{start:{line:36,column:8},end:{line:36,column:68}},6:{start:{line:36,column:39},end:{line:36,column:67}},7:{start:{line:38,column:6},end:{line:38,column:18}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:12},end:{line:39,column:5}},line:30},1:{name:"(anonymous_1)",decl:{start:{line:33,column:29},end:{line:33,column:30}},loc:{start:{line:33,column:39},end:{line:33,column:72}},line:33},2:{name:"(anonymous_2)",decl:{start:{line:36,column:29},end:{line:36,column:30}},loc:{start:{line:36,column:39},end:{line:36,column:67}},line:36}},branchMap:{0:{loc:{start:{line:32,column:6},end:{line:34,column:7}},type:"if",locations:[{start:{line:32,column:6},end:{line:34,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:32},1:{loc:{start:{line:35,column:6},end:{line:37,column:7}},type:"if",locations:[{start:{line:35,column:6},end:{line:37,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:35}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},f:{0:0,1:0,2:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,sources:["Packet.vue"],names:[],mappings:";AA4CA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Packet.vue",sourceRoot:"src/tools/Handbooks",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-card-title class="text-h4 justify-center"\n >{{ packet.target_name }} {{ packet.packet_name }}</v-card-title\n >\n <v-card-subtitle\n >{{ packet.description }}\n <div class="float-right">{{ packet.endianness }}</div>\n </v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row dense>\n <v-col v-for="item in items" :key="item.name" :cols="columns">\n <item :item="item"></item>\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport Item from \'./Item\'\n\nexport default {\n components: {\n Item,\n },\n props: {\n packet: {\n type: Object,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n ignored: {\n type: Object,\n },\n },\n computed: {\n items() {\n let items = this.packet.items\n if (this.hideIgnored) {\n items = items.filter((item) => !this.ignored.includes(item.name))\n }\n if (this.hideDerived) {\n items = items.filter((item) => item.data_type !== \'DERIVED\')\n }\n return items\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f783a71a31f15f56a79241a37b41800f6626a7c7"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return M=function(){return s},s}M();const H={components:{Item:E},props:{packet:{type:Object,required:!0},columns:{type:Number,required:!0},hideIgnored:{type:Boolean,required:!0},hideDerived:{type:Boolean,required:!0},ignored:{type:Object}},computed:{items(){M().f[0]++;let e=(M().s[0]++,this.packet.items);return M().s[1]++,this.hideIgnored?(M().b[0][0]++,M().s[2]++,e=e.filter((e=>(M().f[1]++,M().s[3]++,!this.ignored.includes(e.name))))):M().b[0][1]++,M().s[4]++,this.hideDerived?(M().b[1][0]++,M().s[5]++,e=e.filter((e=>(M().f[2]++,M().s[6]++,"DERIVED"!==e.data_type)))):M().b[1][1]++,M().s[7]++,e}}},P=H;var j=(0,v.A)(P,x,w,!1,null,null,null);const F=j.exports;function B(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",n="0ae45f2219cf796a2d87bffd62f475f4a750b62d",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",statementMap:{0:{start:{line:28,column:4},end:{line:34,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:39,column:4},end:{line:42,column:6}},3:{start:{line:40,column:6},end:{line:40,column:52}},4:{start:{line:41,column:6},end:{line:41,column:46}},5:{start:{line:44,column:4},end:{line:46,column:6}},6:{start:{line:45,column:6},end:{line:45,column:29}},7:{start:{line:47,column:4},end:{line:49,column:6}},8:{start:{line:48,column:6},end:{line:48,column:30}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:27,column:2},end:{line:27,column:3}},loc:{start:{line:27,column:9},end:{line:35,column:3}},line:27},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:50,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:39,column:42},end:{line:39,column:43}},loc:{start:{line:39,column:54},end:{line:42,column:5}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:44,column:44},end:{line:44,column:45}},loc:{start:{line:44,column:57},end:{line:46,column:5}},line:44},4:{name:"(anonymous_4)",decl:{start:{line:47,column:43},end:{line:47,column:44}},loc:{start:{line:47,column:56},end:{line:49,column:5}},line:47}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},inputSourceMap:{version:3,sources:["Target.vue"],names:[],mappings:";AAqEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Target.vue",sourceRoot:"src/tools/Handbooks",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-card>\n <v-container :id="target">\n <div class="text-h3 text-center">{{ target }}</div>\n <v-row>\n <v-col class="ml-3 text-h4">Commands</v-col>\n </v-row>\n <v-row\n v-for="packet in commands"\n :key="packet.packetName"\n dense\n class="mb-4"\n >\n <v-col :cols="12">\n <packet\n :packet="packet"\n :columns="columns"\n :hideIgnored="hideIgnored"\n :hideDerived="hideDerived"\n :ignored="ignoredParams"\n ></packet>\n </v-col>\n </v-row>\n <v-row>\n <v-col class="ml-3 text-h4">Telemetry</v-col>\n </v-row>\n <v-row\n v-for="packet in telemetry"\n :key="packet.packetName"\n dense\n class="mb-4"\n >\n <v-col :cols="12">\n <packet\n :packet="packet"\n :columns="columns"\n :hideIgnored="hideIgnored"\n :hideDerived="hideDerived"\n :ignored="ignoredItems"\n ></packet>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n</template>\n\n<script>\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\nimport Packet from \'./Packet\'\n\nexport default {\n components: {\n Packet,\n },\n props: {\n target: {\n type: String,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n api: null,\n commands: [],\n telemetry: [],\n ignoredParams: [],\n ignoredItems: [],\n }\n },\n\n created() {\n this.api = new OpenC3Api()\n this.api.get_target(this.target).then((target) => {\n this.ignoredParams = target.ignored_parameters\n this.ignoredItems = target.ignored_items\n })\n // TODO: Test with large DB as this returns ALL commands\n this.api.get_all_cmds(this.target).then((packets) => {\n this.commands = packets\n })\n this.api.get_all_tlm(this.target).then((packets) => {\n this.telemetry = packets\n })\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"0ae45f2219cf796a2d87bffd62f475f4a750b62d"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return B=function(){return s},s}B();const $={components:{Packet:F},props:{target:{type:String,required:!0},columns:{type:Number,required:!0},hideIgnored:{type:Boolean,required:!0},hideDerived:{type:Boolean,required:!0}},data(){return B().f[0]++,B().s[0]++,{api:null,commands:[],telemetry:[],ignoredParams:[],ignoredItems:[]}},created(){B().f[1]++,B().s[1]++,this.api=new u,B().s[2]++,this.api.get_target(this.target).then((e=>{B().f[2]++,B().s[3]++,this.ignoredParams=e.ignored_parameters,B().s[4]++,this.ignoredItems=e.ignored_items})),B().s[5]++,this.api.get_all_cmds(this.target).then((e=>{B().f[3]++,B().s[6]++,this.commands=e})),B().s[7]++,this.api.get_all_tlm(this.target).then((e=>{B().f[4]++,B().s[8]++,this.telemetry=e}))}},U=$;var q=(0,v.A)(U,C,y,!1,null,null,null);const L=q.exports;function G(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",n="402b6aa52090d66f0201f2ff3cd0c515baeef5c6",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",statementMap:{0:{start:{line:12,column:4},end:{line:50,column:5}},1:{start:{line:37,column:16},end:{line:37,column:52}},2:{start:{line:44,column:16},end:{line:44,column:52}},3:{start:{line:54,column:6},end:{line:54,column:72}},4:{start:{line:57,column:6},end:{line:57,column:76}},5:{start:{line:60,column:6},end:{line:60,column:57}},6:{start:{line:60,column:35},end:{line:60,column:57}},7:{start:{line:61,column:6},end:{line:61,column:58}},8:{start:{line:61,column:36},end:{line:61,column:58}},9:{start:{line:62,column:6},end:{line:62,column:41}},10:{start:{line:66,column:4},end:{line:66,column:30}},11:{start:{line:67,column:4},end:{line:71,column:8}},12:{start:{line:70,column:8},end:{line:70,column:34}},13:{start:{line:75,column:6},end:{line:81,column:8}},14:{start:{line:76,column:8},end:{line:80,column:9}},15:{start:{line:77,column:10},end:{line:77,column:39}},16:{start:{line:79,column:10},end:{line:79,column:61}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:51,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:36,column:23},end:{line:36,column:24}},loc:{start:{line:36,column:29},end:{line:38,column:15}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:43,column:23},end:{line:43,column:24}},loc:{start:{line:43,column:29},end:{line:45,column:15}},line:43},3:{name:"(anonymous_3)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:25},end:{line:55,column:5}},line:53},4:{name:"(anonymous_4)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:26},end:{line:58,column:5}},line:56},5:{name:"(anonymous_5)",decl:{start:{line:59,column:4},end:{line:59,column:5}},loc:{start:{line:59,column:11},end:{line:63,column:5}},line:59},6:{name:"(anonymous_6)",decl:{start:{line:65,column:2},end:{line:65,column:3}},loc:{start:{line:65,column:12},end:{line:72,column:3}},line:65},7:{name:"(anonymous_7)",decl:{start:{line:69,column:12},end:{line:69,column:13}},loc:{start:{line:69,column:25},end:{line:71,column:7}},line:69},8:{name:"(anonymous_8)",decl:{start:{line:74,column:4},end:{line:74,column:5}},loc:{start:{line:74,column:20},end:{line:82,column:5}},line:74},9:{name:"(anonymous_9)",decl:{start:{line:75,column:21},end:{line:75,column:22}},loc:{start:{line:75,column:27},end:{line:81,column:7}},line:75}},branchMap:{0:{loc:{start:{line:57,column:13},end:{line:57,column:76}},type:"binary-expr",locations:[{start:{line:57,column:13},end:{line:57,column:48}},{start:{line:57,column:52},end:{line:57,column:76}}],line:57},1:{loc:{start:{line:60,column:6},end:{line:60,column:57}},type:"if",locations:[{start:{line:60,column:6},end:{line:60,column:57}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:60},2:{loc:{start:{line:61,column:6},end:{line:61,column:58}},type:"if",locations:[{start:{line:61,column:6},end:{line:61,column:58}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:61},3:{loc:{start:{line:76,column:8},end:{line:80,column:9}},type:"if",locations:[{start:{line:76,column:8},end:{line:80,column:9}},{start:{line:78,column:15},end:{line:80,column:9}}],line:76}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["Handbooks.vue"],names:[],mappings:";AAyFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Handbooks.vue",sourceRoot:"src/tools/Handbooks",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n <top-bar :menus="menus" :title="title" />\n <v-card>\n <v-container class="d-print-none">\n <v-row dense>\n <v-col>\n <v-select\n class="ma-0 pa-0"\n label="Select Target(s)"\n dense\n hide-details\n outlined\n :items="targetNames"\n v-model="selectedTargetNames"\n @change="targetSelect"\n multiple\n >\n <template v-slot:prepend-item>\n <v-list-item ripple @mousedown.prevent @click="toggleTargets">\n <v-list-item-action>\n <v-icon>\n {{ icon }}\n </v-icon>\n </v-list-item-action>\n <v-list-item-content>\n <v-list-item-title> Select All </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <v-divider class="mt-2"></v-divider>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-btn\n class="primary"\n @click="renderedTargetNames = selectedTargetNames"\n >\n Display\n </v-btn>\n </v-col>\n <v-col>\n <v-select\n label="Item Columns"\n dense\n hide-details\n outlined\n v-model="columns"\n :items="columnItems"\n ></v-select>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n <div style="height: 15px" />\n <div v-for="target in renderedTargetNames" :key="target">\n <target\n :target="target"\n :columns="columns"\n :hideIgnored="hideIgnored"\n :hideDerived="hideDerived"\n ></target>\n </div>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\nimport Target from \'./Target\'\n\nexport default {\n components: {\n TopBar,\n Target,\n },\n data() {\n return {\n title: \'Handbooks\',\n targetNames: [],\n selectedTargetNames: [],\n renderedTargetNames: [],\n api: null,\n columns: 3,\n columnItems: [\n { text: \'1\', value: 12 },\n { text: \'2\', value: 6 },\n { text: \'3\', value: 4 },\n { text: \'4\', value: 3 },\n { text: \'6\', value: 2 },\n { text: \'12\', value: 1 },\n ],\n hideIgnored: false,\n hideDerived: false,\n menus: [\n {\n label: \'View\',\n items: [\n {\n label: \'Hide Ignored Items\',\n checkbox: true,\n command: () => {\n this.hideIgnored = !this.hideIgnored\n },\n },\n {\n label: \'Hide Derived Items\',\n checkbox: true,\n command: () => {\n this.hideDerived = !this.hideDerived\n },\n },\n ],\n },\n ],\n }\n },\n computed: {\n allTargetsSelected() {\n return this.targetNames.length === this.selectedTargetNames.length\n },\n someTargetsSelected() {\n return this.selectedTargetNames.length > 0 && !this.allTargetsSelected\n },\n icon() {\n if (this.allTargetsSelected) return \'mdi-close-box\'\n if (this.someTargetsSelected) return \'mdi-minus-box\'\n return \'mdi-checkbox-blank-outline\'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_target_names({ params: { scope: window.openc3Scope } })\n .then((targets) => {\n this.targetNames = targets\n })\n },\n methods: {\n toggleTargets() {\n this.$nextTick(() => {\n if (this.allTargetsSelected) {\n this.selectedTargetNames = []\n } else {\n this.selectedTargetNames = this.targetNames.slice()\n }\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"402b6aa52090d66f0201f2ff3cd0c515baeef5c6"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return G=function(){return s},s}G();const z={components:{TopBar:g,Target:L},data(){return G().f[0]++,G().s[0]++,{title:"Handbooks",targetNames:[],selectedTargetNames:[],renderedTargetNames:[],api:null,columns:3,columnItems:[{text:"1",value:12},{text:"2",value:6},{text:"3",value:4},{text:"4",value:3},{text:"6",value:2},{text:"12",value:1}],hideIgnored:!1,hideDerived:!1,menus:[{label:"View",items:[{label:"Hide Ignored Items",checkbox:!0,command:()=>{G().f[1]++,G().s[1]++,this.hideIgnored=!this.hideIgnored}},{label:"Hide Derived Items",checkbox:!0,command:()=>{G().f[2]++,G().s[2]++,this.hideDerived=!this.hideDerived}}]}]}},computed:{allTargetsSelected(){return G().f[3]++,G().s[3]++,this.targetNames.length===this.selectedTargetNames.length},someTargetsSelected(){return G().f[4]++,G().s[4]++,G().b[0][0]++,this.selectedTargetNames.length>0&&(G().b[0][1]++,!this.allTargetsSelected)},icon(){return G().f[5]++,G().s[5]++,this.allTargetsSelected?(G().b[1][0]++,G().s[6]++,"mdi-close-box"):(G().b[1][1]++,G().s[7]++,this.someTargetsSelected?(G().b[2][0]++,G().s[8]++,"mdi-minus-box"):(G().b[2][1]++,G().s[9]++,"mdi-checkbox-blank-outline"))}},created(){G().f[6]++,G().s[10]++,this.api=new u,G().s[11]++,this.api.get_target_names({params:{scope:window.openc3Scope}}).then((e=>{G().f[7]++,G().s[12]++,this.targetNames=e}))},methods:{toggleTargets(){G().f[8]++,G().s[13]++,this.$nextTick((()=>{G().f[9]++,G().s[14]++,this.allTargetsSelected?(G().b[3][0]++,G().s[15]++,this.selectedTargetNames=[]):(G().b[3][1]++,G().s[16]++,this.selectedTargetNames=this.targetNames.slice())}))}}},V=z;var W=(0,v.A)(V,l,o,!1,null,null,null);const Y=W.exports},4203:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var i=t(6758),l=t.n(i),o=t(935),s=t.n(o),a=s()(l());a.push([e.id,".app-title[data-v-0af23388]{font-size:2rem}.menu-button[data-v-0af23388]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-0af23388]{padding-right:5px}.list-action[data-v-0af23388] label{color:#fff;padding-left:10px}.myicon[data-v-0af23388]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-0af23388] .v-label{margin-left:5px}.v-list-item__icon[data-v-0af23388]{margin-right:15px!important}.v-list-item__title[data-v-0af23388]{color:#fff}",""]);const r=a},5699:(e,n,t)=>{var i=t(4203);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(4825).A;l("7f447726",i,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
- //# sourceMappingURL=565.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/565.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?c4b5","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?1221","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?85c4","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?663c","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?a8e2","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?69b3","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?cdc5","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?1265","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?585c","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?e2ab","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?ca18"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"menus\":_vm.menus,\"title\":_vm.title}}),_vm._v(\" \"),_c('v-card',[_c('v-container',{staticClass:\"d-print-none\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{staticClass:\"ma-0 pa-0\",attrs:{\"label\":\"Select Target(s)\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.targetNames,\"multiple\":\"\"},on:{\"change\":_vm.targetSelect},scopedSlots:_vm._u([{key:\"prepend-item\",fn:function(){return [_c('v-list-item',{attrs:{\"ripple\":\"\"},on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":_vm.toggleTargets}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"\\n \"+_vm._s(_vm.icon)+\"\\n \")])],1),_vm._v(\" \"),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" Select All \")])],1)],1),_vm._v(\" \"),_c('v-divider',{staticClass:\"mt-2\"})]},proxy:true}]),model:{value:(_vm.selectedTargetNames),callback:function ($$v) {_vm.selectedTargetNames=$$v},expression:\"selectedTargetNames\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-btn',{staticClass:\"primary\",on:{\"click\":function($event){_vm.renderedTargetNames = _vm.selectedTargetNames}}},[_vm._v(\"\\n Display\\n \")])],1),_vm._v(\" \"),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Item Columns\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.columnItems},model:{value:(_vm.columns),callback:function ($$v) {_vm.columns=$$v},expression:\"columns\"}})],1)],1)],1)],1),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"15px\"}}),_vm._v(\" \"),_vm._l((_vm.renderedTargetNames),function(target){return _c('div',{key:target},[_c('target',{attrs:{\"target\":target,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport 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 OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true).then(\n function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n },\n )\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // headers: {\n // 'Ignore-Errors': '404',\n // },\n // })\n if (\n error.response.config.headers['Ignore-Errors'] &&\n error.response.config.headers['Ignore-Errors'].includes(\n error.response.status.toString(),\n )\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 if (vueInstance.$notify) {\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# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n async exec(\n method,\n params,\n kwparams = {},\n headerOptions = {},\n timeout = 60000,\n ) {\n try {\n let refreshed = await OpenC3Auth.updateToken(\n OpenC3Auth.defaultMinValidity,\n )\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n // Everything from the front-end is manual by default\n // The various api methods decide whether to pass the manual\n // flag to the authorize routine\n headerOptions['manual'] = true\n const response = await axios.post(\n '/openc3-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.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n timeout: timeout,\n },\n )\n // let data = response.data\n // if (data.error) {\n // let 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 let 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 err.object = error.response.data.error\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 // NOTE: Openc3Screen.vue uses this specific message to determine\n // if the CmdTlmApi server is down. Don't change unless also changing there.\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 throw err\n }\n }\n\n decode_openc3_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_openc3_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 ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [\n interface_name,\n ...interface_params,\n ])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n interface_cmd(interface_name, command_name, ...command_params) {\n return this.exec('interface_cmd', [\n interface_name,\n command_name,\n ...command_params,\n ])\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_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_param(target, packet, item) {\n return this.exec('get_param', [target, packet, item])\n }\n // DEPRECATED for get_param\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\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 // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_names() {\n return this.exec('get_target_names', [])\n }\n // DEPRECATED\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_tlm(target_name, packet_name) {\n return this.exec('get_tlm', [target_name, packet_name])\n }\n // DEPRECATED\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_tlm(target_name) {\n return this.exec('get_all_tlm', [target_name])\n }\n // DEPRECATED\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_tlm_names(target_name, hidden = false) {\n return this.exec('get_all_tlm_names', [target_name], { hidden: hidden })\n }\n // DEPRECATED\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n let len = data.length\n let converted = null\n for (let i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items, stale_time = 30, cache_timeout = null) {\n let kw_args = {\n stale_time: stale_time,\n }\n if (cache_timeout !== null) {\n kw_args['cache_timeout'] = cache_timeout\n }\n const data = await this.exec(\n 'get_tlm_values',\n [items],\n kw_args,\n {},\n 10000, // 10s timeout ... should never be this long\n )\n let len = data[0].length\n let converted = null\n for (let i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, value_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n let err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n let converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED',\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n },\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_cmds(target_name) {\n return this.exec('get_all_cmds', [target_name])\n }\n // DEPRECATED for get_all_cmds\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_cmd_names(target_name, hidden = false) {\n return this.exec('get_all_cmd_names', [target_name], { hidden: hidden })\n }\n // DEPRECATED for get_all_cmd_names\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_cmd(target_name, command_name) {\n return this.exec('get_cmd', [target_name, command_name])\n }\n // DEPRECATED for get_cmd\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\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 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, headerOptions) {\n let converted = null\n for (let key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions,\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list,\n headerOptions,\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions,\n )\n }\n }\n\n cmd_no_range_check(\n target_name,\n command_name,\n param_list,\n headerOptions = {},\n ) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list,\n headerOptions,\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd_raw',\n target_name,\n command_name,\n param_list,\n headerOptions,\n )\n }\n }\n\n cmd_raw_no_range_check(\n target_name,\n command_name,\n param_list,\n headerOptions = {},\n ) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list,\n headerOptions,\n )\n }\n }\n\n cmd_no_hazardous_check(\n target_name,\n command_name,\n param_list,\n headerOptions = {},\n ) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list,\n headerOptions,\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd_no_checks',\n target_name,\n command_name,\n param_list,\n headerOptions,\n )\n }\n }\n\n cmd_raw_no_hazardous_check(\n target_name,\n command_name,\n param_list,\n headerOptions = {},\n ) {\n if (command_name === undefined) {\n return this.exec(\n 'cmd_raw_no_hazardous_check',\n target_name,\n {},\n headerOptions,\n )\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list,\n headerOptions,\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list,\n headerOptions,\n )\n }\n }\n\n build_cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_cmd', target_name)\n } else {\n return this._cmd('build_cmd', target_name, command_name, param_list)\n }\n }\n // DEPRECATED for build_cmd\n build_command(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_command', target_name)\n } else {\n return this._cmd('build_command', target_name, command_name, param_list)\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\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 enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\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 set_setting(name, data) {\n return this.exec('set_setting', [name, data])\n }\n\n // DEPRECATED\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"align-self\":\"end\"}},[_c('span',{staticClass:\"app-title mr-2\"},[_vm._v(_vm._s(_vm.title))])])],1),_vm._v(\" \"),_c('v-row',{staticClass:\"flex-nowrap\",attrs:{\"dense\":\"\"}},_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,ref:\"topmenu\",refInFor:true,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1 menu-button\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_vm._v(\" \"),_c('v-icon',{staticClass:\"myicon\",attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider',{key:j}):(option.subMenu && option.subMenu.length > 0)?_c('div',{key:j},[_c('v-menu',{key:_vm.k,attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item',_vm._g(_vm._b({key:j,attrs:{\"disabled\":option.disabled}},'v-list-item',attrs,false),on),[(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' +\n (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('v-icon',[_vm._v(\" mdi-chevron-right \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',_vm._l((option.subMenu),function(submenu,k){return _c('v-list-item',{key:k,on:{\"click\":function($event){return _vm.subMenuClick(submenu)}}},[(submenu.icon)?_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(submenu.icon))])],1):_vm._e(),_vm._v(\" \"),_c('v-list-item-title',[_vm._v(_vm._s(submenu.label))])],1)}),1)],1)],1):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":function($event){return option.command(option)}}},[(option.radio)?_c('v-list-item-action',{staticClass:\"list-action\"},[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),_vm._v(\" \"),(option.checkbox)?_c('v-list-item-action',{staticClass:\"list-action\"},[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label},model:{value:(option.checked),callback:function ($$v) {_vm.$set(option, \"checked\", $$v)},expression:\"option.checked\"}})],1):_vm._e(),_vm._v(\" \"),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=0af23388&scoped=true\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=0af23388&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0af23388\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-container',{attrs:{\"id\":_vm.target}},[_c('div',{staticClass:\"text-h3 text-center\"},[_vm._v(_vm._s(_vm.target))]),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Commands\")])],1),_vm._v(\" \"),_vm._l((_vm.commands),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredParams}})],1)],1)}),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Telemetry\")])],1),_vm._v(\" \"),_vm._l((_vm.telemetry),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredItems}})],1)],1)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',{staticClass:\"text-h4 justify-center\"},[_vm._v(_vm._s(_vm.packet.target_name)+\" \"+_vm._s(_vm.packet.packet_name))]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.packet.description)+\"\\n \"),_c('div',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.packet.endianness))])]),_vm._v(\" \"),_c('v-card-text',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-col',{key:item.name,attrs:{\"cols\":_vm.columns}},[_c('item',{attrs:{\"item\":item}})],1)}),1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mx-auto\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.name)+\"\\n \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.item.description))]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"text--primary\"},[_c('div',[_vm._v(\"Bit Offset: \"+_vm._s(_vm.item.bit_offset))]),_vm._v(\" \"),_c('div',[_vm._v(\"Bit Size: \"+_vm._s(_vm.item.bit_size))]),_vm._v(\" \"),_c('div',[_vm._v(\"Data Type: \"+_vm._s(_vm.item.data_type))]),_vm._v(\" \"),_c('div',[_vm._v(\"Endianness: \"+_vm._s(_vm.item.endianness))]),_vm._v(\" \"),_c('div',[_vm._v(\"Overflow: \"+_vm._s(_vm.item.overflow))]),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'minimum'))?_c('div',[_vm._v(\"\\n Minimum: \"+_vm._s(_vm.item.minimum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'maximum'))?_c('div',[_vm._v(\"\\n Maximum: \"+_vm._s(_vm.item.maximum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'default'))?_c('div',[_vm._v(\"\\n Default: \"+_vm._s(_vm.item.default)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.item.id_value)?_c('div',[_c('strong',[_vm._v(\"ID Value: 0x\"+_vm._s(_vm.item.id_value.toString(16).toUpperCase()))])]):_vm._e(),_vm._v(\" \"),(_vm.readConversion)?_c('div',[_vm._v(\"Read Conversion: \"+_vm._s(_vm.readConversion))]):_vm._e(),_vm._v(\" \"),(_vm.writeConversion)?_c('div',[_vm._v(\"Write Conversion: \"+_vm._s(_vm.writeConversion))]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card class=\"mx-auto\" outlined>\n <v-card-title class=\"justify-center\">\n {{ item.name }}\n </v-card-title>\n <v-card-subtitle>{{ item.description }}</v-card-subtitle>\n <v-card-text class=\"text--primary\">\n <div>Bit Offset: {{ item.bit_offset }}</div>\n <div>Bit Size: {{ item.bit_size }}</div>\n <div>Data Type: {{ item.data_type }}</div>\n <div>Endianness: {{ item.endianness }}</div>\n <div>Overflow: {{ item.overflow }}</div>\n <div v-if=\"Object.hasOwn(item, 'minimum')\">\n Minimum: {{ item.minimum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'maximum')\">\n Maximum: {{ item.maximum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'default')\">\n Default: {{ item.default }}\n </div>\n <div v-if=\"item.id_value\">\n <strong\n >ID Value: 0x{{ item.id_value.toString(16).toUpperCase() }}</strong\n >\n </div>\n <div v-if=\"readConversion\">Read Conversion: {{ readConversion }}</div>\n <div v-if=\"writeConversion\">Write Conversion: {{ writeConversion }}</div>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nexport default {\n props: {\n item: {\n type: Object,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n readConversion() {\n if (Object.hasOwn(this.item, 'read_conversion')) {\n let result = `${this.item.read_conversion.class}`\n if (this.item.read_conversion.params) {\n result += ` with ${this.item.read_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n writeConversion() {\n if (Object.hasOwn(this.item, 'write_conversion')) {\n let result = `${this.item.write_conversion.class}`\n if (this.item.write_conversion.params) {\n result += ` with ${this.item.write_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=22d2b16a\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title class=\"text-h4 justify-center\"\n >{{ packet.target_name }} {{ packet.packet_name }}</v-card-title\n >\n <v-card-subtitle\n >{{ packet.description }}\n <div class=\"float-right\">{{ packet.endianness }}</div>\n </v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row dense>\n <v-col v-for=\"item in items\" :key=\"item.name\" :cols=\"columns\">\n <item :item=\"item\"></item>\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport Item from './Item'\n\nexport default {\n components: {\n Item,\n },\n props: {\n packet: {\n type: Object,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n ignored: {\n type: Object,\n },\n },\n computed: {\n items() {\n let items = this.packet.items\n if (this.hideIgnored) {\n items = items.filter((item) => !this.ignored.includes(item.name))\n }\n if (this.hideDerived) {\n items = items.filter((item) => item.data_type !== 'DERIVED')\n }\n return items\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Packet.vue?vue&type=template&id=69a31f4f\"\nimport script from \"./Packet.vue?vue&type=script&lang=js\"\nexport * from \"./Packet.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-container :id=\"target\">\n <div class=\"text-h3 text-center\">{{ target }}</div>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Commands</v-col>\n </v-row>\n <v-row\n v-for=\"packet in commands\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredParams\"\n ></packet>\n </v-col>\n </v-row>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Telemetry</v-col>\n </v-row>\n <v-row\n v-for=\"packet in telemetry\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredItems\"\n ></packet>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport Packet from './Packet'\n\nexport default {\n components: {\n Packet,\n },\n props: {\n target: {\n type: String,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n api: null,\n commands: [],\n telemetry: [],\n ignoredParams: [],\n ignoredItems: [],\n }\n },\n\n created() {\n this.api = new OpenC3Api()\n this.api.get_target(this.target).then((target) => {\n this.ignoredParams = target.ignored_parameters\n this.ignoredItems = target.ignored_items\n })\n // TODO: Test with large DB as this returns ALL commands\n this.api.get_all_cmds(this.target).then((packets) => {\n this.commands = packets\n })\n this.api.get_all_tlm(this.target).then((packets) => {\n this.telemetry = packets\n })\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Target.vue?vue&type=template&id=045280e6\"\nimport script from \"./Target.vue?vue&type=script&lang=js\"\nexport * from \"./Target.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-container class=\"d-print-none\">\n <v-row dense>\n <v-col>\n <v-select\n class=\"ma-0 pa-0\"\n label=\"Select Target(s)\"\n dense\n hide-details\n outlined\n :items=\"targetNames\"\n v-model=\"selectedTargetNames\"\n @change=\"targetSelect\"\n multiple\n >\n <template v-slot:prepend-item>\n <v-list-item ripple @mousedown.prevent @click=\"toggleTargets\">\n <v-list-item-action>\n <v-icon>\n {{ icon }}\n </v-icon>\n </v-list-item-action>\n <v-list-item-content>\n <v-list-item-title> Select All </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <v-divider class=\"mt-2\"></v-divider>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-btn\n class=\"primary\"\n @click=\"renderedTargetNames = selectedTargetNames\"\n >\n Display\n </v-btn>\n </v-col>\n <v-col>\n <v-select\n label=\"Item Columns\"\n dense\n hide-details\n outlined\n v-model=\"columns\"\n :items=\"columnItems\"\n ></v-select>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n <div style=\"height: 15px\" />\n <div v-for=\"target in renderedTargetNames\" :key=\"target\">\n <target\n :target=\"target\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n ></target>\n </div>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport Target from './Target'\n\nexport default {\n components: {\n TopBar,\n Target,\n },\n data() {\n return {\n title: 'Handbooks',\n targetNames: [],\n selectedTargetNames: [],\n renderedTargetNames: [],\n api: null,\n columns: 3,\n columnItems: [\n { text: '1', value: 12 },\n { text: '2', value: 6 },\n { text: '3', value: 4 },\n { text: '4', value: 3 },\n { text: '6', value: 2 },\n { text: '12', value: 1 },\n ],\n hideIgnored: false,\n hideDerived: false,\n menus: [\n {\n label: 'View',\n items: [\n {\n label: 'Hide Ignored Items',\n checkbox: true,\n command: () => {\n this.hideIgnored = !this.hideIgnored\n },\n },\n {\n label: 'Hide Derived Items',\n checkbox: true,\n command: () => {\n this.hideDerived = !this.hideDerived\n },\n },\n ],\n },\n ],\n }\n },\n computed: {\n allTargetsSelected() {\n return this.targetNames.length === this.selectedTargetNames.length\n },\n someTargetsSelected() {\n return this.selectedTargetNames.length > 0 && !this.allTargetsSelected\n },\n icon() {\n if (this.allTargetsSelected) return 'mdi-close-box'\n if (this.someTargetsSelected) return 'mdi-minus-box'\n return 'mdi-checkbox-blank-outline'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_target_names({ params: { scope: window.openc3Scope } })\n .then((targets) => {\n this.targetNames = targets\n })\n },\n methods: {\n toggleTargets() {\n this.$nextTick(() => {\n if (this.allTargetsSelected) {\n this.selectedTargetNames = []\n } else {\n this.selectedTargetNames = this.targetNames.slice()\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Handbooks.vue?vue&type=template&id=e58fd9cc\"\nimport script from \"./Handbooks.vue?vue&type=script&lang=js\"\nexport * from \"./Handbooks.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-title[data-v-0af23388]{font-size:2rem}.menu-button[data-v-0af23388]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-0af23388]{padding-right:5px}.list-action[data-v-0af23388] label{color:#fff;padding-left:10px}.myicon[data-v-0af23388]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-0af23388] .v-label{margin-left:5px}.v-list-item__icon[data-v-0af23388]{margin-right:15px!important}.v-list-item__title[data-v-0af23388]{color:#fff}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=0af23388&prod&scoped=true&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7f447726\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_j54npvll7","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","menus","title","_v","staticClass","targetNames","on","targetSelect","scopedSlots","_u","key","fn","$event","preventDefault","toggleTargets","_s","icon","proxy","model","value","selectedTargetNames","callback","$$v","expression","renderedTargetNames","columnItems","columns","staticStyle","_l","target","hideIgnored","hideDerived","staticRenderFns","vueInstance","Vue","axiosInstance","axios","create","baseURL","location","origin","timeout","params","interceptors","response","use","error","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","config","headers","includes","toString","Promise","reject","body","statusText","data","message","exception","class","$notify","serious","OpenC3Api","constructor","_defineProperty","exec","method","kwparams","headerOptions","login","id","window","openc3Scope","post","jsonrpc","keyword_params","Authorization","localStorage","openc3Token","result","err","Error","name","object","request","decode_openc3_type","val","json_class","raw","NaN","Infinity","encode_openc3_type","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","ensure_offline_access","offline_access_needed","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","get_all_interface_info","map_target_to_interface","target_name","interface_name","connect_interface","interface_params","length","disconnect_interface","interface_cmd","command_name","command_params","get_all_router_info","connect_router","router_name","disconnect_router","get_target_interfaces","get_all_target_info","get_tlm_cnts","target_commands","get_item","packet","item","get_param","get_parameter","get_limits_sets","get_limits_set","set_limits_set","limits_set","get_target","get_target_names","get_target_list","get_tlm","packet_name","get_telemetry","get_all_tlm","get_all_telemetry","get_all_tlm_names","hidden","get_all_telemetry_names","get_tlm_packet","value_type","stale_time","type","len","converted","i","get_packet_derived_items","get_tlm_buffer","get_tlm_values","items","cache_timeout","kw_args","get_limits","item_name","tlm","undefined","inject_tlm","item_hash","set_tlm","override_tlm","get_overrides","normalize_tlm","get_all_cmds","get_all_commands","get_all_cmd_names","get_all_command_names","get_cmd","get_command","get_cmd_cnts","get_cmd_value","parameter_name","get_cmd_buffer","_cmd","param_list","Object","prototype","hasOwnProperty","call","get_cmd_hazardous","cmd","cmd_no_range_check","cmd_raw","cmd_raw_no_range_check","cmd_no_hazardous_check","cmd_no_checks","cmd_raw_no_hazardous_check","cmd_raw_no_checks","build_cmd","build_command","get_interface_names","send_raw","list_configs","tool","load_config","save_config","delete_config","enable_limits","disable_limits","get_out_of_limits","get_overall_limits_state","ignored","list_settings","get_all_settings","get_setting","get_settings","array","set_setting","save_setting","get_metrics","hashString","string","isSecureContext","arrayBuffer","TextEncoder","encode","hashAsArrayBuffer","crypto","subtle","digest","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join","menu","ref","refInFor","_g","_b","formatDT","label","domProps","radioGroup","option","j","divider","subMenu","k","disabled","_e","radio","checkbox","style","submenu","subMenuClick","command","checked","$set","props","default","String","methods","replaceAll","toLowerCase","$refs","topmenu","isActive","mounted","document","component","cov_iqqsvvixa","commands","packetName","ignoredParams","telemetry","ignoredItems","cov_1scjnunnk3","description","endianness","cov_ff9deo6d4","bit_offset","bit_size","data_type","overflow","hasOwn","minimum","maximum","id_value","toUpperCase","readConversion","writeConversion","required","Boolean","computed","read_conversion","write_conversion","components","Item","filter","Packet","api","created","ignored_parameters","ignored_items","packets","TopBar","Target","text","allTargetsSelected","someTargetsSelected","scope","targets","$nextTick","slice","___CSS_LOADER_EXPORT___","push","module","content","__esModule","locals","exports","add"],"sourceRoot":""}