@openc3/vue-common 6.2.0 → 6.2.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 (405) hide show
  1. package/dist/ArrayWidget-BIQi_bWC.cjs +3 -0
  2. package/dist/ArrayWidget-BIQi_bWC.cjs.map +1 -0
  3. package/dist/ArrayWidget-BxEO5hEG.js +106 -0
  4. package/dist/ArrayWidget-BxEO5hEG.js.map +1 -0
  5. package/dist/ArrayplotWidget-B_VPoV4v.js +199 -0
  6. package/dist/ArrayplotWidget-B_VPoV4v.js.map +1 -0
  7. package/dist/ArrayplotWidget-Donxhd8_.cjs +2 -0
  8. package/dist/ArrayplotWidget-Donxhd8_.cjs.map +1 -0
  9. package/dist/AstroStatus-CILMWL6F.cjs +2 -0
  10. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -0
  11. package/dist/AstroStatus-CY9VkeTN.js +40 -0
  12. package/dist/AstroStatus-CY9VkeTN.js.map +1 -0
  13. package/dist/BarColumn-C9dkpg2O.js +108 -0
  14. package/dist/BarColumn-C9dkpg2O.js.map +1 -0
  15. package/dist/BarColumn-CyRSZHMh.cjs +2 -0
  16. package/dist/BarColumn-CyRSZHMh.cjs.map +1 -0
  17. package/dist/BlockWidget-CuefOin6.js +112 -0
  18. package/dist/BlockWidget-CuefOin6.js.map +1 -0
  19. package/dist/BlockWidget-DPLN1jgj.cjs +3 -0
  20. package/dist/BlockWidget-DPLN1jgj.cjs.map +1 -0
  21. package/dist/ButtonWidget-B6HM0Doo.js +166 -0
  22. package/dist/ButtonWidget-B6HM0Doo.js.map +1 -0
  23. package/dist/ButtonWidget-DccYzIY3.cjs +3 -0
  24. package/dist/ButtonWidget-DccYzIY3.cjs.map +1 -0
  25. package/dist/CanvasWidget-BzTU9rc9.cjs +2 -0
  26. package/dist/CanvasWidget-BzTU9rc9.cjs.map +1 -0
  27. package/dist/CanvasWidget-DZQGG-yQ.js +39 -0
  28. package/dist/CanvasWidget-DZQGG-yQ.js.map +1 -0
  29. package/dist/CanvasdotWidget-6wuCSnw_.js +19 -0
  30. package/dist/CanvasdotWidget-6wuCSnw_.js.map +1 -0
  31. package/dist/CanvasdotWidget-B7VTS1QI.cjs +2 -0
  32. package/dist/CanvasdotWidget-B7VTS1QI.cjs.map +1 -0
  33. package/dist/CanvasimageWidget-BwYpfmDE.cjs +2 -0
  34. package/dist/CanvasimageWidget-BwYpfmDE.cjs.map +1 -0
  35. package/dist/CanvasimageWidget-mhcPpAuN.js +58 -0
  36. package/dist/CanvasimageWidget-mhcPpAuN.js.map +1 -0
  37. package/dist/CanvasimagevalueWidget-Cx-dH8Gc.js +107 -0
  38. package/dist/CanvasimagevalueWidget-Cx-dH8Gc.js.map +1 -0
  39. package/dist/CanvasimagevalueWidget-E_NsZ82T.cjs +2 -0
  40. package/dist/CanvasimagevalueWidget-E_NsZ82T.cjs.map +1 -0
  41. package/dist/CanvaslabelWidget-BBDuXWfU.cjs +2 -0
  42. package/dist/CanvaslabelWidget-BBDuXWfU.cjs.map +1 -0
  43. package/dist/CanvaslabelWidget-CQZCeohU.js +23 -0
  44. package/dist/CanvaslabelWidget-CQZCeohU.js.map +1 -0
  45. package/dist/CanvaslabelvalueWidget-CwmYDCjr.js +42 -0
  46. package/dist/CanvaslabelvalueWidget-CwmYDCjr.js.map +1 -0
  47. package/dist/CanvaslabelvalueWidget-DAdu7ujn.cjs +2 -0
  48. package/dist/CanvaslabelvalueWidget-DAdu7ujn.cjs.map +1 -0
  49. package/dist/CanvaslineWidget-Bv5da1Vy.cjs +2 -0
  50. package/dist/CanvaslineWidget-Bv5da1Vy.cjs.map +1 -0
  51. package/dist/CanvaslineWidget-nTP3fJB4.js +28 -0
  52. package/dist/CanvaslineWidget-nTP3fJB4.js.map +1 -0
  53. package/dist/CanvaslinevalueWidget-BVfUB96K.cjs +2 -0
  54. package/dist/CanvaslinevalueWidget-BVfUB96K.cjs.map +1 -0
  55. package/dist/CanvaslinevalueWidget-C3sJnjLQ.js +44 -0
  56. package/dist/CanvaslinevalueWidget-C3sJnjLQ.js.map +1 -0
  57. package/dist/CheckbuttonWidget-5-8YDsQL.js +37 -0
  58. package/dist/CheckbuttonWidget-5-8YDsQL.js.map +1 -0
  59. package/dist/CheckbuttonWidget-BGqD-BGc.cjs +2 -0
  60. package/dist/CheckbuttonWidget-BGqD-BGc.cjs.map +1 -0
  61. package/dist/ComboboxWidget-DoHMlSAr.cjs +2 -0
  62. package/dist/ComboboxWidget-DoHMlSAr.cjs.map +1 -0
  63. package/dist/ComboboxWidget-DzBL8h9f.js +37 -0
  64. package/dist/ComboboxWidget-DzBL8h9f.js.map +1 -0
  65. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs +2 -0
  66. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs.map +1 -0
  67. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js +10 -0
  68. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js.map +1 -0
  69. package/dist/CriticalCmdDialog-DLEasFsx.js +270 -0
  70. package/dist/CriticalCmdDialog-DLEasFsx.js.map +1 -0
  71. package/dist/CriticalCmdDialog-DoLBrU2k.cjs +2 -0
  72. package/dist/CriticalCmdDialog-DoLBrU2k.cjs.map +1 -0
  73. package/dist/DateWidget-CW7Od7lB.js +40 -0
  74. package/dist/DateWidget-CW7Od7lB.js.map +1 -0
  75. package/dist/DateWidget-DKZz1J9J.cjs +2 -0
  76. package/dist/DateWidget-DKZz1J9J.cjs.map +1 -0
  77. package/dist/DetailsDialog-BvbziA7Y.js +767 -0
  78. package/dist/DetailsDialog-BvbziA7Y.js.map +1 -0
  79. package/dist/DetailsDialog-CiuQYvJK.cjs +2 -0
  80. package/dist/DetailsDialog-CiuQYvJK.cjs.map +1 -0
  81. package/dist/DynamicWidget-3wHr6Ng-.cjs +2 -0
  82. package/dist/DynamicWidget-3wHr6Ng-.cjs.map +1 -0
  83. package/dist/DynamicWidget-gFSYxzvT.js +35 -0
  84. package/dist/DynamicWidget-gFSYxzvT.js.map +1 -0
  85. package/dist/FormatvalueWidget-CGpnTqVH.js +44 -0
  86. package/dist/FormatvalueWidget-CGpnTqVH.js.map +1 -0
  87. package/dist/FormatvalueWidget-DFrbeKb9.cjs +2 -0
  88. package/dist/FormatvalueWidget-DFrbeKb9.cjs.map +1 -0
  89. package/dist/Graph-3rkhFP3G.js +1983 -0
  90. package/dist/Graph-3rkhFP3G.js.map +1 -0
  91. package/dist/Graph-C3vGMcos.cjs +2 -0
  92. package/dist/Graph-C3vGMcos.cjs.map +1 -0
  93. package/dist/GraphWidget-22NxFa9k.cjs +2 -0
  94. package/dist/GraphWidget-22NxFa9k.cjs.map +1 -0
  95. package/dist/GraphWidget-Dycey-mj.js +130 -0
  96. package/dist/GraphWidget-Dycey-mj.js.map +1 -0
  97. package/dist/HorizontalWidget-BBeB0eBI.cjs +2 -0
  98. package/dist/HorizontalWidget-BBeB0eBI.cjs.map +1 -0
  99. package/dist/HorizontalWidget-D31NRWy5.js +41 -0
  100. package/dist/HorizontalWidget-D31NRWy5.js.map +1 -0
  101. package/dist/HorizontalboxWidget-Br8dSVHD.js +38 -0
  102. package/dist/HorizontalboxWidget-Br8dSVHD.js.map +1 -0
  103. package/dist/HorizontalboxWidget-DsdzrCJx.cjs +2 -0
  104. package/dist/HorizontalboxWidget-DsdzrCJx.cjs.map +1 -0
  105. package/dist/HorizontallineWidget-BCKOQase.cjs +2 -0
  106. package/dist/HorizontallineWidget-BCKOQase.cjs.map +1 -0
  107. package/dist/HorizontallineWidget-CbxREBYI.js +11 -0
  108. package/dist/HorizontallineWidget-CbxREBYI.js.map +1 -0
  109. package/dist/IframeWidget-CZwsTgvX.cjs +2 -0
  110. package/dist/IframeWidget-CZwsTgvX.cjs.map +1 -0
  111. package/dist/IframeWidget-Ctj8OIcG.js +90 -0
  112. package/dist/IframeWidget-Ctj8OIcG.js.map +1 -0
  113. package/dist/ImageLoader-BrNrCBvi.js +36 -0
  114. package/dist/ImageLoader-BrNrCBvi.js.map +1 -0
  115. package/dist/ImageLoader-D_Gq-KxR.cjs +2 -0
  116. package/dist/ImageLoader-D_Gq-KxR.cjs.map +1 -0
  117. package/dist/ImageviewerWidget-DwRPFSLR.cjs +2 -0
  118. package/dist/ImageviewerWidget-DwRPFSLR.cjs.map +1 -0
  119. package/dist/ImageviewerWidget-XrsqxmLo.js +37 -0
  120. package/dist/ImageviewerWidget-XrsqxmLo.js.map +1 -0
  121. package/dist/InterfacesTab-CLaicsHA.cjs +2 -0
  122. package/dist/InterfacesTab-CLaicsHA.cjs.map +1 -0
  123. package/dist/InterfacesTab-DAeNlGlB.js +93 -0
  124. package/dist/InterfacesTab-DAeNlGlB.js.map +1 -0
  125. package/dist/LabelWidget-C-s8OVmA.cjs +2 -0
  126. package/dist/LabelWidget-C-s8OVmA.cjs.map +1 -0
  127. package/dist/LabelWidget-t7I87dp7.js +48 -0
  128. package/dist/LabelWidget-t7I87dp7.js.map +1 -0
  129. package/dist/LabelledWidget-C7TDf92M.js +42 -0
  130. package/dist/LabelledWidget-C7TDf92M.js.map +1 -0
  131. package/dist/LabelledWidget-DUpHxc9z.cjs +2 -0
  132. package/dist/LabelledWidget-DUpHxc9z.cjs.map +1 -0
  133. package/dist/LabelprogressbarWidget-D6cpayCR.cjs +2 -0
  134. package/dist/LabelprogressbarWidget-D6cpayCR.cjs.map +1 -0
  135. package/dist/LabelprogressbarWidget-wwLURt1u.js +43 -0
  136. package/dist/LabelprogressbarWidget-wwLURt1u.js.map +1 -0
  137. package/dist/LabelsparklineWidget-B3awLUyP.js +44 -0
  138. package/dist/LabelsparklineWidget-B3awLUyP.js.map +1 -0
  139. package/dist/LabelsparklineWidget-CJRnLETe.cjs +2 -0
  140. package/dist/LabelsparklineWidget-CJRnLETe.cjs.map +1 -0
  141. package/dist/LabelvalueWidget-Zx_yHCtl.js +58 -0
  142. package/dist/LabelvalueWidget-Zx_yHCtl.js.map +1 -0
  143. package/dist/LabelvalueWidget-owiMSCYl.cjs +2 -0
  144. package/dist/LabelvalueWidget-owiMSCYl.cjs.map +1 -0
  145. package/dist/LabelvaluedescWidget-BBSBh4vI.js +59 -0
  146. package/dist/LabelvaluedescWidget-BBSBh4vI.js.map +1 -0
  147. package/dist/LabelvaluedescWidget-MRmZBUc0.cjs +2 -0
  148. package/dist/LabelvaluedescWidget-MRmZBUc0.cjs.map +1 -0
  149. package/dist/LabelvaluelimitsbarWidget-BQ2XYPNE.cjs +2 -0
  150. package/dist/LabelvaluelimitsbarWidget-BQ2XYPNE.cjs.map +1 -0
  151. package/dist/LabelvaluelimitsbarWidget-CZueHYWG.js +57 -0
  152. package/dist/LabelvaluelimitsbarWidget-CZueHYWG.js.map +1 -0
  153. package/dist/LabelvaluelimitscolumnWidget-BTvzyQMq.js +47 -0
  154. package/dist/LabelvaluelimitscolumnWidget-BTvzyQMq.js.map +1 -0
  155. package/dist/LabelvaluelimitscolumnWidget-DNmVpU8J.cjs +2 -0
  156. package/dist/LabelvaluelimitscolumnWidget-DNmVpU8J.cjs.map +1 -0
  157. package/dist/LabelvaluerangebarWidget-BhYTBgDq.js +79 -0
  158. package/dist/LabelvaluerangebarWidget-BhYTBgDq.js.map +1 -0
  159. package/dist/LabelvaluerangebarWidget-DL0U8cbw.cjs +2 -0
  160. package/dist/LabelvaluerangebarWidget-DL0U8cbw.cjs.map +1 -0
  161. package/dist/Layout-Bh7VzCZd.js +14 -0
  162. package/dist/Layout-Bh7VzCZd.js.map +1 -0
  163. package/dist/Layout-DRL0EeSA.cjs +2 -0
  164. package/dist/Layout-DRL0EeSA.cjs.map +1 -0
  165. package/dist/LedWidget-B8rjFe1b.cjs +2 -0
  166. package/dist/LedWidget-B8rjFe1b.cjs.map +1 -0
  167. package/dist/LedWidget-CxJjJBBS.js +71 -0
  168. package/dist/LedWidget-CxJjJBBS.js.map +1 -0
  169. package/dist/LimitsbarWidget-CYIH8fdp.cjs +2 -0
  170. package/dist/LimitsbarWidget-CYIH8fdp.cjs.map +1 -0
  171. package/dist/LimitsbarWidget-Djui0IpK.js +69 -0
  172. package/dist/LimitsbarWidget-Djui0IpK.js.map +1 -0
  173. package/dist/LimitscolorWidget-CS0wpX9A.cjs +2 -0
  174. package/dist/LimitscolorWidget-CS0wpX9A.cjs.map +1 -0
  175. package/dist/LimitscolorWidget-DdmvKzmx.js +63 -0
  176. package/dist/LimitscolorWidget-DdmvKzmx.js.map +1 -0
  177. package/dist/LimitscolumnWidget-C_UW6xKq.cjs +2 -0
  178. package/dist/LimitscolumnWidget-C_UW6xKq.cjs.map +1 -0
  179. package/dist/LimitscolumnWidget-Cc19IEjq.js +66 -0
  180. package/dist/LimitscolumnWidget-Cc19IEjq.js.map +1 -0
  181. package/dist/LinegraphWidget-8td_PqgU.cjs +2 -0
  182. package/dist/LinegraphWidget-8td_PqgU.cjs.map +1 -0
  183. package/dist/LinegraphWidget-BtieJxeL.js +39 -0
  184. package/dist/LinegraphWidget-BtieJxeL.js.map +1 -0
  185. package/dist/MatrixbycolumnsWidget-CGOeCNW2.cjs +2 -0
  186. package/dist/MatrixbycolumnsWidget-CGOeCNW2.cjs.map +1 -0
  187. package/dist/MatrixbycolumnsWidget-DnExVRF8.js +56 -0
  188. package/dist/MatrixbycolumnsWidget-DnExVRF8.js.map +1 -0
  189. package/dist/MicroservicesTab-IbTmbPxO.js +268 -0
  190. package/dist/MicroservicesTab-IbTmbPxO.js.map +1 -0
  191. package/dist/MicroservicesTab-uMC8NebS.cjs +2 -0
  192. package/dist/MicroservicesTab-uMC8NebS.cjs.map +1 -0
  193. package/dist/OutputDialog-B4Q0QMJ1.cjs +2 -0
  194. package/dist/OutputDialog-B4Q0QMJ1.cjs.map +1 -0
  195. package/dist/OutputDialog-Ci5OT_fH.js +245 -0
  196. package/dist/OutputDialog-Ci5OT_fH.js.map +1 -0
  197. package/dist/PackagesTab-BX8YP3H1.js +332 -0
  198. package/dist/PackagesTab-BX8YP3H1.js.map +1 -0
  199. package/dist/PackagesTab-eYbk2vw7.cjs +2 -0
  200. package/dist/PackagesTab-eYbk2vw7.cjs.map +1 -0
  201. package/dist/PluginsTab-Ck3DvEGm.cjs +6 -0
  202. package/dist/PluginsTab-Ck3DvEGm.cjs.map +1 -0
  203. package/dist/PluginsTab-Ds3jk64b.js +599 -0
  204. package/dist/PluginsTab-Ds3jk64b.js.map +1 -0
  205. package/dist/ProgressbarWidget-CUIAYySg.cjs +2 -0
  206. package/dist/ProgressbarWidget-CUIAYySg.cjs.map +1 -0
  207. package/dist/ProgressbarWidget-DIfqhHRE.js +46 -0
  208. package/dist/ProgressbarWidget-DIfqhHRE.js.map +1 -0
  209. package/dist/RadiobuttonWidget-Cjk1JAP_.cjs +2 -0
  210. package/dist/RadiobuttonWidget-Cjk1JAP_.cjs.map +1 -0
  211. package/dist/RadiobuttonWidget-QzIkNP7m.js +34 -0
  212. package/dist/RadiobuttonWidget-QzIkNP7m.js.map +1 -0
  213. package/dist/RadiogroupWidget-B4lkYWaC.cjs +2 -0
  214. package/dist/RadiogroupWidget-B4lkYWaC.cjs.map +1 -0
  215. package/dist/RadiogroupWidget-Ci9sCX39.js +48 -0
  216. package/dist/RadiogroupWidget-Ci9sCX39.js.map +1 -0
  217. package/dist/RangebarWidget-CN0YuHqy.js +67 -0
  218. package/dist/RangebarWidget-CN0YuHqy.js.map +1 -0
  219. package/dist/RangebarWidget-nl0rzj93.cjs +2 -0
  220. package/dist/RangebarWidget-nl0rzj93.cjs.map +1 -0
  221. package/dist/RedisTab-CVimDkIE.js +135 -0
  222. package/dist/RedisTab-CVimDkIE.js.map +1 -0
  223. package/dist/RedisTab-DhS4GHDj.cjs +2 -0
  224. package/dist/RedisTab-DhS4GHDj.cjs.map +1 -0
  225. package/dist/RollupWidget-Bgudi_bt.cjs +2 -0
  226. package/dist/RollupWidget-Bgudi_bt.cjs.map +1 -0
  227. package/dist/RollupWidget-y4jBtJB2.js +83 -0
  228. package/dist/RollupWidget-y4jBtJB2.js.map +1 -0
  229. package/dist/RoutersTab-CzO10cVP.cjs +2 -0
  230. package/dist/RoutersTab-CzO10cVP.cjs.map +1 -0
  231. package/dist/RoutersTab-Dki_66av.js +95 -0
  232. package/dist/RoutersTab-Dki_66av.js.map +1 -0
  233. package/dist/ScriptChooser-BNm_zXxX.cjs +2 -0
  234. package/dist/ScriptChooser-BNm_zXxX.cjs.map +1 -0
  235. package/dist/ScriptChooser-l5i8c8KP.js +199 -0
  236. package/dist/ScriptChooser-l5i8c8KP.js.map +1 -0
  237. package/dist/ScrollwindowWidget-BIiV7xwi.cjs +2 -0
  238. package/dist/ScrollwindowWidget-BIiV7xwi.cjs.map +1 -0
  239. package/dist/ScrollwindowWidget-CBzYk4Y3.js +45 -0
  240. package/dist/ScrollwindowWidget-CBzYk4Y3.js.map +1 -0
  241. package/dist/SecretsTab-BSzFZ81X.cjs +2 -0
  242. package/dist/SecretsTab-BSzFZ81X.cjs.map +1 -0
  243. package/dist/SecretsTab-BjviaTxh.js +202 -0
  244. package/dist/SecretsTab-BjviaTxh.js.map +1 -0
  245. package/dist/SettingsTab-Bo_dYXgb.js +1382 -0
  246. package/dist/SettingsTab-Bo_dYXgb.js.map +1 -0
  247. package/dist/SettingsTab-DH8LAAoG.cjs +3 -0
  248. package/dist/SettingsTab-DH8LAAoG.cjs.map +1 -0
  249. package/dist/SignalWidget-CvZkvejy.cjs +2 -0
  250. package/dist/SignalWidget-CvZkvejy.cjs.map +1 -0
  251. package/dist/SignalWidget-DQ5Uc2uV.js +66 -0
  252. package/dist/SignalWidget-DQ5Uc2uV.js.map +1 -0
  253. package/dist/SimpleTextDialog-CheuP_ls.js +108 -0
  254. package/dist/SimpleTextDialog-CheuP_ls.js.map +1 -0
  255. package/dist/SimpleTextDialog-DmeNMMCR.cjs +2 -0
  256. package/dist/SimpleTextDialog-DmeNMMCR.cjs.map +1 -0
  257. package/dist/SpacerWidget-6rsc_dSM.js +19 -0
  258. package/dist/SpacerWidget-6rsc_dSM.js.map +1 -0
  259. package/dist/SpacerWidget-BBJR6HBQ.cjs +2 -0
  260. package/dist/SpacerWidget-BBJR6HBQ.cjs.map +1 -0
  261. package/dist/SparklineWidget-BxBLnjAO.cjs +2 -0
  262. package/dist/SparklineWidget-BxBLnjAO.cjs.map +1 -0
  263. package/dist/SparklineWidget-CZtvu2ss.js +48 -0
  264. package/dist/SparklineWidget-CZtvu2ss.js.map +1 -0
  265. package/dist/TabbookWidget-DNALU0jl.js +66 -0
  266. package/dist/TabbookWidget-DNALU0jl.js.map +1 -0
  267. package/dist/TabbookWidget-DyFQnA10.cjs +2 -0
  268. package/dist/TabbookWidget-DyFQnA10.cjs.map +1 -0
  269. package/dist/TargetsTab-Cd8U1aN_.js +129 -0
  270. package/dist/TargetsTab-Cd8U1aN_.js.map +1 -0
  271. package/dist/TargetsTab-DMiOliqg.cjs +2 -0
  272. package/dist/TargetsTab-DMiOliqg.cjs.map +1 -0
  273. package/dist/TextBoxDialog-DvUf3Cak.cjs +2 -0
  274. package/dist/TextBoxDialog-DvUf3Cak.cjs.map +1 -0
  275. package/dist/TextBoxDialog-fHkDTtzI.js +110 -0
  276. package/dist/TextBoxDialog-fHkDTtzI.js.map +1 -0
  277. package/dist/TextboxWidget-5hqPj74D.js +93 -0
  278. package/dist/TextboxWidget-5hqPj74D.js.map +1 -0
  279. package/dist/TextboxWidget-D6lW_dsU.cjs +2 -0
  280. package/dist/TextboxWidget-D6lW_dsU.cjs.map +1 -0
  281. package/dist/TextfieldWidget-Df0ANSiU.js +37 -0
  282. package/dist/TextfieldWidget-Df0ANSiU.js.map +1 -0
  283. package/dist/TextfieldWidget-iHN7-fyF.cjs +2 -0
  284. package/dist/TextfieldWidget-iHN7-fyF.cjs.map +1 -0
  285. package/dist/TimeWidget-C3NZqTEG.cjs +2 -0
  286. package/dist/TimeWidget-C3NZqTEG.cjs.map +1 -0
  287. package/dist/TimeWidget-C6XQMUG2.js +40 -0
  288. package/dist/TimeWidget-C6XQMUG2.js.map +1 -0
  289. package/dist/TitleWidget-B9SPUlbW.js +26 -0
  290. package/dist/TitleWidget-B9SPUlbW.js.map +1 -0
  291. package/dist/TitleWidget-CWZs33c4.cjs +2 -0
  292. package/dist/TitleWidget-CWZs33c4.cjs.map +1 -0
  293. package/dist/ToolsTab-CUpUmkZL.cjs +7 -0
  294. package/dist/ToolsTab-CUpUmkZL.cjs.map +1 -0
  295. package/dist/ToolsTab-Cgpb2nAW.js +1521 -0
  296. package/dist/ToolsTab-Cgpb2nAW.js.map +1 -0
  297. package/dist/TopBar-DuXL27iD.cjs +2 -0
  298. package/dist/TopBar-DuXL27iD.cjs.map +1 -0
  299. package/dist/TopBar-F1jHuFan.js +248 -0
  300. package/dist/TopBar-F1jHuFan.js.map +1 -0
  301. package/dist/UpgradeToEnterpriseDialog-DVcAH30Y.js +95 -0
  302. package/dist/UpgradeToEnterpriseDialog-DVcAH30Y.js.map +1 -0
  303. package/dist/UpgradeToEnterpriseDialog-DfIKahNK.cjs +2 -0
  304. package/dist/UpgradeToEnterpriseDialog-DfIKahNK.cjs.map +1 -0
  305. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs +1417 -0
  306. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs.map +1 -0
  307. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-iq-jp8dD.js +26941 -0
  308. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-iq-jp8dD.js.map +1 -0
  309. package/dist/VWidget-C2x_zSC2.cjs +2 -0
  310. package/dist/VWidget-C2x_zSC2.cjs.map +1 -0
  311. package/dist/VWidget-C4spAawK.js +323 -0
  312. package/dist/VWidget-C4spAawK.js.map +1 -0
  313. package/dist/ValueWidget-D4RrYVEK.js +116 -0
  314. package/dist/ValueWidget-D4RrYVEK.js.map +1 -0
  315. package/dist/ValueWidget-Do3Yn47P.cjs +2 -0
  316. package/dist/ValueWidget-Do3Yn47P.cjs.map +1 -0
  317. package/dist/ValuelimitsbarWidget-Bc9_Vj_f.js +41 -0
  318. package/dist/ValuelimitsbarWidget-Bc9_Vj_f.js.map +1 -0
  319. package/dist/ValuelimitsbarWidget-DJuh7FOs.cjs +2 -0
  320. package/dist/ValuelimitsbarWidget-DJuh7FOs.cjs.map +1 -0
  321. package/dist/ValuelimitscolumnWidget-BFpG-H7v.cjs +2 -0
  322. package/dist/ValuelimitscolumnWidget-BFpG-H7v.cjs.map +1 -0
  323. package/dist/ValuelimitscolumnWidget-DHKIL7sf.js +40 -0
  324. package/dist/ValuelimitscolumnWidget-DHKIL7sf.js.map +1 -0
  325. package/dist/ValuerangebarWidget-BlZSaiXo.cjs +2 -0
  326. package/dist/ValuerangebarWidget-BlZSaiXo.cjs.map +1 -0
  327. package/dist/ValuerangebarWidget-CecQRIok.js +65 -0
  328. package/dist/ValuerangebarWidget-CecQRIok.js.map +1 -0
  329. package/dist/VerticalWidget--8UErB4q.cjs +2 -0
  330. package/dist/VerticalWidget--8UErB4q.cjs.map +1 -0
  331. package/dist/VerticalWidget-D8jUFxjS.js +40 -0
  332. package/dist/VerticalWidget-D8jUFxjS.js.map +1 -0
  333. package/dist/VerticalboxWidget-B4eGUSYH.js +37 -0
  334. package/dist/VerticalboxWidget-B4eGUSYH.js.map +1 -0
  335. package/dist/VerticalboxWidget-cxHq1WKQ.cjs +2 -0
  336. package/dist/VerticalboxWidget-cxHq1WKQ.cjs.map +1 -0
  337. package/dist/Widget-DNf52jRQ.cjs +2 -0
  338. package/dist/Widget-DNf52jRQ.cjs.map +1 -0
  339. package/dist/Widget-fRCERxGf.js +197 -0
  340. package/dist/Widget-fRCERxGf.js.map +1 -0
  341. package/dist/addMonths-BtG7uZLJ.js +19 -0
  342. package/dist/addMonths-BtG7uZLJ.js.map +1 -0
  343. package/dist/addMonths-n1tnl3ab.cjs +2 -0
  344. package/dist/addMonths-n1tnl3ab.cjs.map +1 -0
  345. package/dist/components.cjs +7 -0
  346. package/dist/components.cjs.map +1 -0
  347. package/dist/components.js +2973 -0
  348. package/dist/components.js.map +1 -0
  349. package/dist/fileIcon-BduOQcTc.cjs +2 -0
  350. package/dist/fileIcon-BduOQcTc.cjs.map +1 -0
  351. package/dist/fileIcon-DqRHb1_Z.js +22 -0
  352. package/dist/fileIcon-DqRHb1_Z.js.map +1 -0
  353. package/dist/format-B22VpiOS.cjs +2 -0
  354. package/dist/format-B22VpiOS.cjs.map +1 -0
  355. package/dist/format-CVeawcIv.js +1295 -0
  356. package/dist/format-CVeawcIv.js.map +1 -0
  357. package/dist/getDefaultOptions-Batab9o8.cjs +2 -0
  358. package/dist/getDefaultOptions-Batab9o8.cjs.map +1 -0
  359. package/dist/getDefaultOptions-BhSDk-Jo.js +8 -0
  360. package/dist/getDefaultOptions-BhSDk-Jo.js.map +1 -0
  361. package/dist/icons/status-dark.png +0 -0
  362. package/dist/icons/status-dark.xcf +0 -0
  363. package/dist/icons/status-light.png +0 -0
  364. package/dist/icons.cjs +2 -0
  365. package/dist/icons.cjs.map +1 -0
  366. package/dist/icons.js +157 -0
  367. package/dist/icons.js.map +1 -0
  368. package/dist/index-Bz_jHTkl.cjs +7 -0
  369. package/dist/index-Bz_jHTkl.cjs.map +1 -0
  370. package/dist/index-CFQnWdPA.js +1705 -0
  371. package/dist/index-CFQnWdPA.js.map +1 -0
  372. package/dist/parse-DnkEsW-3.js +1603 -0
  373. package/dist/parse-DnkEsW-3.js.map +1 -0
  374. package/dist/parse-DwfgQboe.cjs +2 -0
  375. package/dist/parse-DwfgQboe.cjs.map +1 -0
  376. package/dist/plugins.cjs +9 -0
  377. package/dist/plugins.cjs.map +1 -0
  378. package/dist/plugins.js +772 -0
  379. package/dist/plugins.js.map +1 -0
  380. package/dist/timeFilters-8SaYvcH0.cjs +2 -0
  381. package/dist/timeFilters-8SaYvcH0.cjs.map +1 -0
  382. package/dist/timeFilters-CRYpYDdf.js +622 -0
  383. package/dist/timeFilters-CRYpYDdf.js.map +1 -0
  384. package/dist/tools/admin.cjs +13 -0
  385. package/dist/tools/admin.cjs.map +1 -0
  386. package/dist/tools/admin.js +1944 -0
  387. package/dist/tools/admin.js.map +1 -0
  388. package/dist/tools/base.cjs +2 -0
  389. package/dist/tools/base.cjs.map +1 -0
  390. package/dist/tools/base.js +1683 -0
  391. package/dist/tools/base.js.map +1 -0
  392. package/dist/tools/calendar.cjs +2 -0
  393. package/dist/tools/calendar.cjs.map +1 -0
  394. package/dist/tools/calendar.js +1586 -0
  395. package/dist/tools/calendar.js.map +1 -0
  396. package/dist/util.cjs +2 -0
  397. package/dist/util.cjs.map +1 -0
  398. package/dist/util.js +9 -0
  399. package/dist/util.js.map +1 -0
  400. package/dist/vue-common.css +1 -0
  401. package/dist/widgets.cjs +2 -0
  402. package/dist/widgets.cjs.map +1 -0
  403. package/dist/widgets.js +132 -0
  404. package/dist/widgets.js.map +1 -0
  405. package/package.json +2 -2
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs");const e=require("vue"),g=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),f=require("./DetailsDialog-CiuQYvJK.cjs");require("single-spa");const v=require("./VWidget-C2x_zSC2.cjs"),_={components:{DetailsDialog:f.DetailsDialog},data:function(){return{width:200,height:100,itemsPerRow:4,formatter:null}},mixins:[v.VWidget],computed:{aging(){return{"--aging":this.grayLevel}}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height),this.parameters[5]&&(this.formatter=this.parameters[5]),this.parameters[6]&&(this.itemsPerRow=parseInt(this.parameters[6]))},methods:{getType:function(){let t="CONVERTED";return this.parameters[7]&&(t=this.parameters[7]),t},formatValue:function(t){var a;let o="",s=" ",l=`
2
+ `,r=0;if(Array.isArray(t)){for(const i of t)this.formatter&&((a=this.formatter)==null?void 0:a.toLowerCase())!=="nil"?o+=sprintf(this.formatter,i):o+=i,r+=1,r%this.itemsPerRow===0?(r=0,o+=l):o+=s;return o.trim()}else return t}}},w={class:"array-widget-container"};function y(t,o,s,l,r,a){const i=e.resolveComponent("v-textarea"),m=e.resolveComponent("v-list-item-title"),u=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-list"),p=e.resolveComponent("v-menu"),c=e.resolveComponent("details-dialog");return e.openBlock(),e.createElementBlock("div",w,[e.createVNode(i,{variant:"solo",density:"compact",readonly:"","no-resize":"","auto-grow":"",rows:"2","hide-details":"","model-value":t._value,class:e.normalizeClass(t.valueClass),style:e.normalizeStyle([t.computedStyle,a.aging]),"data-test":"array-widget",onContextmenu:t.showContextMenu},null,8,["model-value","class","style","onContextmenu"]),e.createVNode(p,{modelValue:t.contextMenuShown,"onUpdate:modelValue":o[0]||(o[0]=n=>t.contextMenuShown=n),target:[t.x,t.y]},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.contextMenuOptions,(n,h)=>(e.openBlock(),e.createBlock(u,{key:h,onClick:e.withModifiers(n.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),e.createVNode(c,{"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2],modelValue:t.viewDetails,"onUpdate:modelValue":o[1]||(o[1]=n=>t.viewDetails=n)},null,8,["target-name","packet-name","item-name","modelValue"])])}const C=g._export_sfc(_,[["render",y],["__scopeId","data-v-62b9e9e1"]]);exports.default=C;
3
+ //# sourceMappingURL=ArrayWidget-BIQi_bWC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayWidget-BIQi_bWC.cjs","sources":["../src/widgets/ArrayWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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\n<template>\n <div class=\"array-widget-container\">\n <v-textarea\n variant=\"solo\"\n density=\"compact\"\n readonly\n no-resize\n auto-grow\n rows=\"2\"\n hide-details\n :model-value=\"_value\"\n :class=\"valueClass\"\n :style=\"[computedStyle, aging]\"\n data-test=\"array-widget\"\n @contextmenu=\"showContextMenu\"\n />\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n v-model=\"viewDetails\"\n />\n </div>\n</template>\n\n<script>\nimport { DetailsDialog } from '@/components'\nimport VWidget from './VWidget'\nimport 'sprintf-js'\n\nexport default {\n components: {\n DetailsDialog,\n },\n data: function () {\n return {\n width: 200,\n height: 100,\n itemsPerRow: 4,\n formatter: null,\n }\n },\n mixins: [VWidget],\n computed: {\n aging() {\n return {\n '--aging': this.grayLevel,\n }\n },\n },\n created: function () {\n this.width = this.setWidth(this.parameters[3], 'px', this.width)\n this.height = this.setHeight(this.parameters[4], 'px', this.height)\n if (this.parameters[5]) {\n this.formatter = this.parameters[5]\n }\n if (this.parameters[6]) {\n this.itemsPerRow = parseInt(this.parameters[6])\n }\n },\n methods: {\n getType: function () {\n let type = 'CONVERTED'\n if (this.parameters[7]) {\n type = this.parameters[7]\n }\n return type\n },\n formatValue: function (data) {\n let text = ''\n let space = ' '\n let newLine = '\\n'\n let count = 0\n\n if (Array.isArray(data)) {\n for (const value of data) {\n if (this.formatter && this.formatter?.toLowerCase() !== 'nil') {\n text += sprintf(this.formatter, value)\n } else {\n text += value\n }\n count += 1\n if (count % this.itemsPerRow === 0) {\n count = 0\n text += newLine\n } else {\n text += space\n }\n }\n return text.trim()\n } else {\n return data\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.array-widget-container :deep(.v-input__slot) {\n background: rgba(var(--aging), var(--aging), var(--aging), 1) !important;\n}\n.value :deep(div) {\n min-height: 24px !important;\n display: flex !important;\n align-items: center !important;\n}\n.array-widget-container :deep(.v-field__loader) {\n display: none !important;\n}\n.openc3-green :deep(input) {\n color: rgb(0, 200, 0);\n}\n.openc3-yellow :deep(input) {\n color: rgb(255, 220, 0);\n}\n.openc3-red :deep(input) {\n color: rgb(255, 45, 45);\n}\n.openc3-blue :deep(input) {\n color: rgb(0, 153, 255);\n}\n.openc3-purple :deep(input) {\n color: rgb(200, 0, 200);\n}\n.openc3-black :deep(input) {\n color: black;\n}\n.openc3-white :deep(input) {\n color: white;\n}\n</style>\n"],"names":["_sfc_main","DetailsDialog","VWidget","type","data","text","space","newLine","count","value","_a","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_textarea","_ctx","_normalizeClass","_normalizeStyle","$options","_component_v_menu","_cache","$event","_withCtx","_component_v_list","_Fragment","_renderList","item","index","_createBlock","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"+YAgEKA,EAAU,CACb,WAAY,eACVC,EAAa,aACd,EACD,KAAM,UAAY,CAChB,MAAO,CACL,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,IACb,CACD,EACD,OAAQ,CAACC,EAAAA,OAAO,EAChB,SAAU,CACR,OAAQ,CACN,MAAO,CACL,UAAW,KAAK,SAClB,CACD,CACF,EACD,QAAS,UAAY,CACnB,KAAK,MAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,KAAK,EAC/D,KAAK,OAAS,KAAK,UAAU,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,MAAM,EAC9D,KAAK,WAAW,CAAC,IACnB,KAAK,UAAY,KAAK,WAAW,CAAC,GAEhC,KAAK,WAAW,CAAC,IACnB,KAAK,YAAc,SAAS,KAAK,WAAW,CAAC,CAAC,EAEjD,EACD,QAAS,CACP,QAAS,UAAY,CACnB,IAAIC,EAAO,YACX,OAAI,KAAK,WAAW,CAAC,IACnBA,EAAO,KAAK,WAAW,CAAC,GAEnBA,CACR,EACD,YAAa,SAAUC,EAAM,OAC3B,IAAIC,EAAO,GACPC,EAAQ,IACRC,EAAU;AAAA,EACVC,EAAQ,EAEZ,GAAI,MAAM,QAAQJ,CAAI,EAAG,CACvB,UAAWK,KAASL,EACd,KAAK,aAAaM,EAAA,KAAK,YAAL,YAAAA,EAAgB,iBAAkB,MACtDL,GAAQ,QAAQ,KAAK,UAAWI,CAAK,EAErCJ,GAAQI,EAEVD,GAAS,EACLA,EAAQ,KAAK,cAAgB,GAC/BA,EAAQ,EACRH,GAAQE,GAERF,GAAQC,EAGZ,OAAOD,EAAK,KAAI,MAEhB,QAAOD,CAEV,CACF,CACH,EA1GOO,EAAA,CAAA,MAAM,wBAAwB,sPAAnC,OAAAC,YAAA,EAAAC,qBAiCM,MAjCNF,EAiCM,CAhCJG,EAAAA,YAaEC,EAAA,CAZA,QAAQ,OACR,QAAQ,UACR,SAAA,GACA,YAAA,GACA,YAAA,GACA,KAAK,IACL,eAAA,GACC,cAAaC,EAAM,OACnB,MAjCPC,EAAAA,eAiCcD,EAAU,UAAA,EACjB,MAlCPE,EAAA,eAAA,CAkCeF,EAAa,cAAEG,EAAK,KAAA,CAAA,EAC7B,YAAU,eACT,cAAaH,EAAe,yEAE/BF,EAAAA,YAUSM,EAAA,CAhDb,WAsCqBJ,EAAgB,iBAtCrC,sBAAAK,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAsCqBN,EAAgB,iBAAAM,GAAG,OAAM,CAAGN,EAAC,EAAEA,EAAC,CAAA,IAtCrD,QAAAO,EAAA,QAuCM,IAQS,CARTT,EAQS,YAAAU,EAAA,KAAA,CA/Cf,QAAAD,EAAA,QAyCU,IAA2C,EAD7CX,EAAAA,UAAA,EAAA,EAAAC,EAAA,mBAMcY,gBA9CtBC,EAyCkC,WAAAV,EAAA,mBAzClC,CAyCkBW,EAAMC,mBADhBC,EAMc,YAAAC,EAAA,CAJX,IAAKF,EACL,QA3CXG,EAAAA,cA2CuBJ,EAAK,OAAM,CAAA,MAAA,CAAA,IA3ClC,QAAAJ,EAAA,QA6CU,IAAuD,CAAvDT,EAAuD,YAAAkB,EAAA,KAAA,CA7CjE,QAAAT,EAAA,QA6C6B,IAAgB,CA7C7CU,EAAAA,gBA6CgCC,EAAA,gBAAAP,EAAK,KAAK,EAAA,CAAA,IA7C1C,EAAA,WAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,8BAkDIb,EAAAA,YAKEqB,EAAA,CAJC,cAAanB,EAAU,WAAA,CAAA,EACvB,cAAaA,EAAU,WAAA,CAAA,EACvB,YAAWA,EAAU,WAAA,CAAA,EArD5B,WAsDeA,EAAW,YAtD1B,sBAAAK,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAsDeN,EAAW,YAAAM"}
@@ -0,0 +1,106 @@
1
+ import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-iq-jp8dD.js";
2
+ import { resolveComponent as o, createElementBlock as d, openBlock as m, createVNode as i, normalizeStyle as w, normalizeClass as y, withCtx as l, Fragment as V, renderList as C, createBlock as k, withModifiers as D, createTextVNode as M, toDisplayString as S } from "vue";
3
+ import { _ as x } from "./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js";
4
+ import { D as L } from "./DetailsDialog-BvbziA7Y.js";
5
+ import "single-spa";
6
+ import { V as R } from "./VWidget-C4spAawK.js";
7
+ const z = {
8
+ components: {
9
+ DetailsDialog: L
10
+ },
11
+ data: function() {
12
+ return {
13
+ width: 200,
14
+ height: 100,
15
+ itemsPerRow: 4,
16
+ formatter: null
17
+ };
18
+ },
19
+ mixins: [R],
20
+ computed: {
21
+ aging() {
22
+ return {
23
+ "--aging": this.grayLevel
24
+ };
25
+ }
26
+ },
27
+ created: function() {
28
+ this.width = this.setWidth(this.parameters[3], "px", this.width), this.height = this.setHeight(this.parameters[4], "px", this.height), this.parameters[5] && (this.formatter = this.parameters[5]), this.parameters[6] && (this.itemsPerRow = parseInt(this.parameters[6]));
29
+ },
30
+ methods: {
31
+ getType: function() {
32
+ let e = "CONVERTED";
33
+ return this.parameters[7] && (e = this.parameters[7]), e;
34
+ },
35
+ formatValue: function(e) {
36
+ var n;
37
+ let t = "", p = " ", u = `
38
+ `, r = 0;
39
+ if (Array.isArray(e)) {
40
+ for (const s of e)
41
+ this.formatter && ((n = this.formatter) == null ? void 0 : n.toLowerCase()) !== "nil" ? t += sprintf(this.formatter, s) : t += s, r += 1, r % this.itemsPerRow === 0 ? (r = 0, t += u) : t += p;
42
+ return t.trim();
43
+ } else
44
+ return e;
45
+ }
46
+ }
47
+ }, A = { class: "array-widget-container" };
48
+ function B(e, t, p, u, r, n) {
49
+ const s = o("v-textarea"), h = o("v-list-item-title"), c = o("v-list-item"), f = o("v-list"), g = o("v-menu"), v = o("details-dialog");
50
+ return m(), d("div", A, [
51
+ i(s, {
52
+ variant: "solo",
53
+ density: "compact",
54
+ readonly: "",
55
+ "no-resize": "",
56
+ "auto-grow": "",
57
+ rows: "2",
58
+ "hide-details": "",
59
+ "model-value": e._value,
60
+ class: y(e.valueClass),
61
+ style: w([e.computedStyle, n.aging]),
62
+ "data-test": "array-widget",
63
+ onContextmenu: e.showContextMenu
64
+ }, null, 8, ["model-value", "class", "style", "onContextmenu"]),
65
+ i(g, {
66
+ modelValue: e.contextMenuShown,
67
+ "onUpdate:modelValue": t[0] || (t[0] = (a) => e.contextMenuShown = a),
68
+ target: [e.x, e.y]
69
+ }, {
70
+ default: l(() => [
71
+ i(f, null, {
72
+ default: l(() => [
73
+ (m(!0), d(V, null, C(e.contextMenuOptions, (a, _) => (m(), k(c, {
74
+ key: _,
75
+ onClick: D(a.action, ["stop"])
76
+ }, {
77
+ default: l(() => [
78
+ i(h, null, {
79
+ default: l(() => [
80
+ M(S(a.title), 1)
81
+ ]),
82
+ _: 2
83
+ }, 1024)
84
+ ]),
85
+ _: 2
86
+ }, 1032, ["onClick"]))), 128))
87
+ ]),
88
+ _: 1
89
+ })
90
+ ]),
91
+ _: 1
92
+ }, 8, ["modelValue", "target"]),
93
+ i(v, {
94
+ "target-name": e.parameters[0],
95
+ "packet-name": e.parameters[1],
96
+ "item-name": e.parameters[2],
97
+ modelValue: e.viewDetails,
98
+ "onUpdate:modelValue": t[1] || (t[1] = (a) => e.viewDetails = a)
99
+ }, null, 8, ["target-name", "packet-name", "item-name", "modelValue"])
100
+ ]);
101
+ }
102
+ const I = /* @__PURE__ */ x(z, [["render", B], ["__scopeId", "data-v-62b9e9e1"]]);
103
+ export {
104
+ I as default
105
+ };
106
+ //# sourceMappingURL=ArrayWidget-BxEO5hEG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayWidget-BxEO5hEG.js","sources":["../src/widgets/ArrayWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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\n<template>\n <div class=\"array-widget-container\">\n <v-textarea\n variant=\"solo\"\n density=\"compact\"\n readonly\n no-resize\n auto-grow\n rows=\"2\"\n hide-details\n :model-value=\"_value\"\n :class=\"valueClass\"\n :style=\"[computedStyle, aging]\"\n data-test=\"array-widget\"\n @contextmenu=\"showContextMenu\"\n />\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n v-model=\"viewDetails\"\n />\n </div>\n</template>\n\n<script>\nimport { DetailsDialog } from '@/components'\nimport VWidget from './VWidget'\nimport 'sprintf-js'\n\nexport default {\n components: {\n DetailsDialog,\n },\n data: function () {\n return {\n width: 200,\n height: 100,\n itemsPerRow: 4,\n formatter: null,\n }\n },\n mixins: [VWidget],\n computed: {\n aging() {\n return {\n '--aging': this.grayLevel,\n }\n },\n },\n created: function () {\n this.width = this.setWidth(this.parameters[3], 'px', this.width)\n this.height = this.setHeight(this.parameters[4], 'px', this.height)\n if (this.parameters[5]) {\n this.formatter = this.parameters[5]\n }\n if (this.parameters[6]) {\n this.itemsPerRow = parseInt(this.parameters[6])\n }\n },\n methods: {\n getType: function () {\n let type = 'CONVERTED'\n if (this.parameters[7]) {\n type = this.parameters[7]\n }\n return type\n },\n formatValue: function (data) {\n let text = ''\n let space = ' '\n let newLine = '\\n'\n let count = 0\n\n if (Array.isArray(data)) {\n for (const value of data) {\n if (this.formatter && this.formatter?.toLowerCase() !== 'nil') {\n text += sprintf(this.formatter, value)\n } else {\n text += value\n }\n count += 1\n if (count % this.itemsPerRow === 0) {\n count = 0\n text += newLine\n } else {\n text += space\n }\n }\n return text.trim()\n } else {\n return data\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.array-widget-container :deep(.v-input__slot) {\n background: rgba(var(--aging), var(--aging), var(--aging), 1) !important;\n}\n.value :deep(div) {\n min-height: 24px !important;\n display: flex !important;\n align-items: center !important;\n}\n.array-widget-container :deep(.v-field__loader) {\n display: none !important;\n}\n.openc3-green :deep(input) {\n color: rgb(0, 200, 0);\n}\n.openc3-yellow :deep(input) {\n color: rgb(255, 220, 0);\n}\n.openc3-red :deep(input) {\n color: rgb(255, 45, 45);\n}\n.openc3-blue :deep(input) {\n color: rgb(0, 153, 255);\n}\n.openc3-purple :deep(input) {\n color: rgb(200, 0, 200);\n}\n.openc3-black :deep(input) {\n color: black;\n}\n.openc3-white :deep(input) {\n color: white;\n}\n</style>\n"],"names":["_sfc_main","DetailsDialog","VWidget","type","data","text","space","newLine","count","value","_a","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_textarea","_ctx","_normalizeClass","_normalizeStyle","$options","_component_v_menu","_cache","$event","_withCtx","_component_v_list","_Fragment","_renderList","item","index","_createBlock","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ import { u as c, f as d } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-iq-jp8dD.js";
2
+ import { G as h } from "./GraphWidget-Dycey-mj.js";
3
+ import { createElementBlock as l, openBlock as p } from "vue";
4
+ import { _ as u } from "./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js";
5
+ const f = {
6
+ data: function() {
7
+ return {
8
+ items: [],
9
+ indexes: {},
10
+ data: [[]],
11
+ cable: new d(),
12
+ subscription: null,
13
+ graph: null,
14
+ xAxis: null,
15
+ title: "Array Plot",
16
+ colorIndex: 0,
17
+ colors: [
18
+ // The first 3 are taken from the Astro css definitions for
19
+ // --color-data-visualization-1 through 3
20
+ "#00c7cb",
21
+ "#938bdb",
22
+ "#4dacff",
23
+ "lime",
24
+ "darkorange",
25
+ "red",
26
+ "gold",
27
+ "hotpink",
28
+ "tan",
29
+ "cyan",
30
+ "maroon",
31
+ "blue",
32
+ "teal",
33
+ "purple",
34
+ "green",
35
+ "brown",
36
+ "lightblue",
37
+ "white",
38
+ "black"
39
+ ]
40
+ };
41
+ },
42
+ mixins: [h],
43
+ created() {
44
+ for (const [e, t] of this.items.entries())
45
+ this.data.push([]), this.indexes[this.subscriptionKey(t)] = e + 1, t.color = this.colors[this.colorIndex], this.colorIndex++;
46
+ this.appliedSettings.forEach((e) => {
47
+ switch (e[0]) {
48
+ case "TITLE":
49
+ this.title = e[1];
50
+ break;
51
+ case "X_AXIS":
52
+ this.xAxis = {
53
+ start: parseFloat(e[1]),
54
+ step: parseFloat(e[2])
55
+ };
56
+ break;
57
+ }
58
+ });
59
+ },
60
+ mounted() {
61
+ let e = [];
62
+ this.items.forEach((s) => {
63
+ e.push({
64
+ label: this.itemName(s),
65
+ stroke: s.color,
66
+ width: 2,
67
+ value: (r, i) => typeof i == "string" || isNaN(i) ? "NaN" : i == null ? "--" : i.toFixed(3)
68
+ });
69
+ });
70
+ let t = {
71
+ title: this.title,
72
+ width: this.size.width,
73
+ height: this.size.height,
74
+ scales: {
75
+ x: {
76
+ time: !1
77
+ },
78
+ y: {
79
+ time: !1,
80
+ range: (s, r, i) => [r, i]
81
+ }
82
+ },
83
+ axes: [
84
+ {
85
+ stroke: "white",
86
+ grid: {
87
+ show: !0,
88
+ stroke: "rgba(255, 255, 255, .1)",
89
+ width: 2
90
+ }
91
+ },
92
+ {
93
+ stroke: "white",
94
+ grid: {
95
+ show: !0,
96
+ stroke: "rgba(255, 255, 255, .1)",
97
+ width: 2
98
+ }
99
+ }
100
+ ],
101
+ series: [
102
+ {
103
+ label: "X Value"
104
+ },
105
+ ...e
106
+ ]
107
+ };
108
+ this.graph = new c(
109
+ t,
110
+ this.data,
111
+ document.getElementById(`chart${this.id}`)
112
+ ), this.subscribe();
113
+ },
114
+ beforeUnmount: function() {
115
+ this.cable.disconnect();
116
+ },
117
+ computed: {
118
+ dataOnly() {
119
+ return this.data[1];
120
+ }
121
+ },
122
+ watch: {
123
+ // This is always firing even when the data is the same
124
+ // Is it because we're setting the whole array data[1]?
125
+ dataOnly: function() {
126
+ this.graph && this.graph.setData(this.data);
127
+ }
128
+ },
129
+ methods: {
130
+ subscribe: function() {
131
+ this.cable.createSubscription("StreamingChannel", window.openc3Scope, {
132
+ received: (e) => this.received(e),
133
+ connected: () => {
134
+ this.addItemsToSubscription(this.items);
135
+ },
136
+ disconnected: (e) => {
137
+ e.allowReconnect && this.errors.push({
138
+ type: "disconnected",
139
+ message: "OpenC3 backend connection disconnected",
140
+ time: (/* @__PURE__ */ new Date()).getTime()
141
+ });
142
+ },
143
+ rejected: () => {
144
+ this.errors.push({
145
+ type: "rejected",
146
+ message: "OpenC3 backend connection rejected",
147
+ time: (/* @__PURE__ */ new Date()).getTime()
148
+ });
149
+ }
150
+ }).then((e) => {
151
+ this.subscription = e;
152
+ });
153
+ },
154
+ received: function(e) {
155
+ for (let t of e) {
156
+ let s = [];
157
+ for (const [r, i] of Object.entries(t)) {
158
+ r === "__time" && (this.xAxis ? s = Array.from(
159
+ { length: this.data[1].length },
160
+ (o, a) => this.xAxis.start + a * this.xAxis.step
161
+ ) : s.length === 0 && (s = Array.from({ length: this.data[1].length }, (o, a) => a)), this.data[0] = s);
162
+ let n = this.indexes[r];
163
+ n && (Array.isArray(i[0]) ? (this.data[n] = i[1], s = i[0]) : this.data[n] = i);
164
+ }
165
+ }
166
+ },
167
+ addItemsToSubscription: function(e = this.items) {
168
+ this.subscription && OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(
169
+ (t) => {
170
+ t && OpenC3Auth.setTokens(), this.subscription.perform("add", {
171
+ scope: window.openc3Scope,
172
+ token: localStorage.openc3Token,
173
+ items: e.map(this.subscriptionKey),
174
+ start_time: null,
175
+ end_time: null
176
+ });
177
+ }
178
+ );
179
+ },
180
+ itemName: function(e) {
181
+ return `${e.targetName} ${e.packetName} ${e.itemName}`;
182
+ },
183
+ subscriptionKey: function(e) {
184
+ let t = `${e.reduced}__TLM__${e.targetName}__${e.packetName}__${e.itemName}__${e.valueType}`;
185
+ return (e.reduced === "REDUCED_MINUTE" || e.reduced === "REDUCED_HOUR" || e.reduced === "REDUCED_DAY") && (t += `__${e.reducedType}`), t;
186
+ }
187
+ }
188
+ }, m = ["id"];
189
+ function b(e, t, s, r, i, n) {
190
+ return p(), l("div", {
191
+ class: "pa-1",
192
+ id: `chart${e.id}`
193
+ }, null, 8, m);
194
+ }
195
+ const y = /* @__PURE__ */ u(f, [["render", b]]);
196
+ export {
197
+ y as default
198
+ };
199
+ //# sourceMappingURL=ArrayplotWidget-B_VPoV4v.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayplotWidget-B_VPoV4v.js","sources":["../src/widgets/ArrayplotWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"pa-1\" :id=\"`chart${id}`\"></div>\n</template>\n\n<script>\nimport uPlot from 'uplot'\nimport 'uplot/dist/uPlot.min.css'\nimport { Cable } from '@openc3/js-common/services'\nimport GraphWidget from './GraphWidget'\n\nexport default {\n data: function () {\n return {\n items: [],\n indexes: {},\n data: [[]],\n cable: new Cable(),\n subscription: null,\n graph: null,\n xAxis: null,\n title: 'Array Plot',\n colorIndex: 0,\n colors: [\n // The first 3 are taken from the Astro css definitions for\n // --color-data-visualization-1 through 3\n '#00c7cb',\n '#938bdb',\n '#4dacff',\n 'lime',\n 'darkorange',\n 'red',\n 'gold',\n 'hotpink',\n 'tan',\n 'cyan',\n 'maroon',\n 'blue',\n 'teal',\n 'purple',\n 'green',\n 'brown',\n 'lightblue',\n 'white',\n 'black',\n ],\n }\n },\n mixins: [GraphWidget],\n created() {\n for (const [index, item] of this.items.entries()) {\n this.data.push([]) // initialize the empty data arrays\n this.indexes[this.subscriptionKey(item)] = index + 1\n item.color = this.colors[this.colorIndex]\n this.colorIndex++\n }\n\n this.appliedSettings.forEach((setting) => {\n switch (setting[0]) {\n case 'TITLE':\n this.title = setting[1]\n break\n case 'X_AXIS':\n this.xAxis = {\n start: parseFloat(setting[1]),\n step: parseFloat(setting[2]),\n }\n break\n }\n })\n },\n mounted() {\n let chartSeries = []\n this.items.forEach((item) => {\n chartSeries.push({\n label: this.itemName(item),\n stroke: item.color,\n width: 2,\n value: (self, rawValue) => {\n if (typeof rawValue === 'string' || isNaN(rawValue)) {\n return 'NaN'\n } else {\n return rawValue == null ? '--' : rawValue.toFixed(3)\n }\n },\n })\n })\n\n let chartOpts = {\n title: this.title,\n width: this.size.width,\n height: this.size.height,\n scales: {\n x: {\n time: false,\n },\n y: {\n time: false,\n range: (u, min, max) => [min, max],\n },\n },\n axes: [\n {\n stroke: 'white',\n grid: {\n show: true,\n stroke: 'rgba(255, 255, 255, .1)',\n width: 2,\n },\n },\n {\n stroke: 'white',\n grid: {\n show: true,\n stroke: 'rgba(255, 255, 255, .1)',\n width: 2,\n },\n },\n ],\n series: [\n {\n label: 'X Value',\n },\n ...chartSeries,\n ],\n }\n this.graph = new uPlot(\n chartOpts,\n this.data,\n document.getElementById(`chart${this.id}`),\n )\n this.subscribe()\n },\n beforeUnmount: function () {\n this.cable.disconnect()\n },\n computed: {\n dataOnly() {\n return this.data[1] // Ignore the x axis data\n },\n },\n watch: {\n // This is always firing even when the data is the same\n // Is it because we're setting the whole array data[1]?\n dataOnly: function () {\n if (this.graph) {\n this.graph.setData(this.data)\n }\n },\n },\n methods: {\n subscribe: function () {\n this.cable\n .createSubscription('StreamingChannel', window.openc3Scope, {\n received: (data) => this.received(data),\n connected: () => {\n this.addItemsToSubscription(this.items)\n },\n disconnected: (data) => {\n // If allowReconnect is true it means we got a disconnect due to connection lost or server disconnect\n // If allowReconnect is false this is a normal server close or client close\n if (data.allowReconnect) {\n this.errors.push({\n type: 'disconnected',\n message: 'OpenC3 backend connection disconnected',\n time: new Date().getTime(),\n })\n }\n },\n rejected: () => {\n this.errors.push({\n type: 'rejected',\n message: 'OpenC3 backend connection rejected',\n time: new Date().getTime(),\n })\n },\n })\n .then((subscription) => {\n this.subscription = subscription\n })\n },\n received: function (data_array) {\n for (let data of data_array) {\n let xaxis = [] // Declare outside the loop so we can use it for the X axis values\n for (const [key, value] of Object.entries(data)) {\n // We support 2 different kind of data, a simple array of Y values\n // or an array with both X and Y values, e.g. [[x1,x2,x3...], [y1,y2,y3...]]\n if (key === '__time') {\n // Explicitly setting the X axis values always wins\n if (this.xAxis) {\n xaxis = Array.from(\n { length: this.data[1].length },\n (_, i) => this.xAxis.start + i * this.xAxis.step,\n )\n } else if (xaxis.length === 0) {\n // If we don't have an array of X values we generate them\n xaxis = Array.from({ length: this.data[1].length }, (_, i) => i)\n }\n this.data[0] = xaxis\n }\n let key_index = this.indexes[key]\n if (key_index) {\n // Check for the array of arrays case\n if (Array.isArray(value[0])) {\n this.data[key_index] = value[1]\n xaxis = value[0]\n } else {\n this.data[key_index] = value\n }\n }\n }\n }\n },\n addItemsToSubscription: function (itemArray = this.items) {\n if (this.subscription) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(\n (refreshed) => {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n this.subscription.perform('add', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n items: itemArray.map(this.subscriptionKey),\n start_time: null,\n end_time: null,\n })\n },\n )\n }\n },\n itemName: function (item) {\n return `${item.targetName} ${item.packetName} ${item.itemName}`\n },\n subscriptionKey: function (item) {\n let key = `${item.reduced}__TLM__${item.targetName}__${item.packetName}__${item.itemName}__${item.valueType}`\n if (\n item.reduced === 'REDUCED_MINUTE' ||\n item.reduced === 'REDUCED_HOUR' ||\n item.reduced === 'REDUCED_DAY'\n ) {\n key += `__${item.reducedType}`\n }\n return key\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Cable","GraphWidget","index","item","setting","chartSeries","self","rawValue","chartOpts","u","min","max","uPlot","data","subscription","data_array","xaxis","key","value","_","i","key_index","itemArray","refreshed","_hoisted_1","_createElementBlock","_ctx"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs"),h=require("./GraphWidget-22NxFa9k.cjs"),c=require("vue"),l=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),u={data:function(){return{items:[],indexes:{},data:[[]],cable:new o.fi,subscription:null,graph:null,xAxis:null,title:"Array Plot",colorIndex:0,colors:["#00c7cb","#938bdb","#4dacff","lime","darkorange","red","gold","hotpink","tan","cyan","maroon","blue","teal","purple","green","brown","lightblue","white","black"]}},mixins:[h.GraphWidget],created(){for(const[e,t]of this.items.entries())this.data.push([]),this.indexes[this.subscriptionKey(t)]=e+1,t.color=this.colors[this.colorIndex],this.colorIndex++;this.appliedSettings.forEach(e=>{switch(e[0]){case"TITLE":this.title=e[1];break;case"X_AXIS":this.xAxis={start:parseFloat(e[1]),step:parseFloat(e[2])};break}})},mounted(){let e=[];this.items.forEach(s=>{e.push({label:this.itemName(s),stroke:s.color,width:2,value:(n,i)=>typeof i=="string"||isNaN(i)?"NaN":i==null?"--":i.toFixed(3)})});let t={title:this.title,width:this.size.width,height:this.size.height,scales:{x:{time:!1},y:{time:!1,range:(s,n,i)=>[n,i]}},axes:[{stroke:"white",grid:{show:!0,stroke:"rgba(255, 255, 255, .1)",width:2}},{stroke:"white",grid:{show:!0,stroke:"rgba(255, 255, 255, .1)",width:2}}],series:[{label:"X Value"},...e]};this.graph=new o.uPlot(t,this.data,document.getElementById(`chart${this.id}`)),this.subscribe()},beforeUnmount:function(){this.cable.disconnect()},computed:{dataOnly(){return this.data[1]}},watch:{dataOnly:function(){this.graph&&this.graph.setData(this.data)}},methods:{subscribe:function(){this.cable.createSubscription("StreamingChannel",window.openc3Scope,{received:e=>this.received(e),connected:()=>{this.addItemsToSubscription(this.items)},disconnected:e=>{e.allowReconnect&&this.errors.push({type:"disconnected",message:"OpenC3 backend connection disconnected",time:new Date().getTime()})},rejected:()=>{this.errors.push({type:"rejected",message:"OpenC3 backend connection rejected",time:new Date().getTime()})}}).then(e=>{this.subscription=e})},received:function(e){for(let t of e){let s=[];for(const[n,i]of Object.entries(t)){n==="__time"&&(this.xAxis?s=Array.from({length:this.data[1].length},(d,a)=>this.xAxis.start+a*this.xAxis.step):s.length===0&&(s=Array.from({length:this.data[1].length},(d,a)=>a)),this.data[0]=s);let r=this.indexes[n];r&&(Array.isArray(i[0])?(this.data[r]=i[1],s=i[0]):this.data[r]=i)}}},addItemsToSubscription:function(e=this.items){this.subscription&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(t=>{t&&OpenC3Auth.setTokens(),this.subscription.perform("add",{scope:window.openc3Scope,token:localStorage.openc3Token,items:e.map(this.subscriptionKey),start_time:null,end_time:null})})},itemName:function(e){return`${e.targetName} ${e.packetName} ${e.itemName}`},subscriptionKey:function(e){let t=`${e.reduced}__TLM__${e.targetName}__${e.packetName}__${e.itemName}__${e.valueType}`;return(e.reduced==="REDUCED_MINUTE"||e.reduced==="REDUCED_HOUR"||e.reduced==="REDUCED_DAY")&&(t+=`__${e.reducedType}`),t}}},p=["id"];function _(e,t,s,n,i,r){return c.openBlock(),c.createElementBlock("div",{class:"pa-1",id:`chart${e.id}`},null,8,p)}const f=l._export_sfc(u,[["render",_]]);exports.default=f;
2
+ //# sourceMappingURL=ArrayplotWidget-Donxhd8_.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayplotWidget-Donxhd8_.cjs","sources":["../src/widgets/ArrayplotWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"pa-1\" :id=\"`chart${id}`\"></div>\n</template>\n\n<script>\nimport uPlot from 'uplot'\nimport 'uplot/dist/uPlot.min.css'\nimport { Cable } from '@openc3/js-common/services'\nimport GraphWidget from './GraphWidget'\n\nexport default {\n data: function () {\n return {\n items: [],\n indexes: {},\n data: [[]],\n cable: new Cable(),\n subscription: null,\n graph: null,\n xAxis: null,\n title: 'Array Plot',\n colorIndex: 0,\n colors: [\n // The first 3 are taken from the Astro css definitions for\n // --color-data-visualization-1 through 3\n '#00c7cb',\n '#938bdb',\n '#4dacff',\n 'lime',\n 'darkorange',\n 'red',\n 'gold',\n 'hotpink',\n 'tan',\n 'cyan',\n 'maroon',\n 'blue',\n 'teal',\n 'purple',\n 'green',\n 'brown',\n 'lightblue',\n 'white',\n 'black',\n ],\n }\n },\n mixins: [GraphWidget],\n created() {\n for (const [index, item] of this.items.entries()) {\n this.data.push([]) // initialize the empty data arrays\n this.indexes[this.subscriptionKey(item)] = index + 1\n item.color = this.colors[this.colorIndex]\n this.colorIndex++\n }\n\n this.appliedSettings.forEach((setting) => {\n switch (setting[0]) {\n case 'TITLE':\n this.title = setting[1]\n break\n case 'X_AXIS':\n this.xAxis = {\n start: parseFloat(setting[1]),\n step: parseFloat(setting[2]),\n }\n break\n }\n })\n },\n mounted() {\n let chartSeries = []\n this.items.forEach((item) => {\n chartSeries.push({\n label: this.itemName(item),\n stroke: item.color,\n width: 2,\n value: (self, rawValue) => {\n if (typeof rawValue === 'string' || isNaN(rawValue)) {\n return 'NaN'\n } else {\n return rawValue == null ? '--' : rawValue.toFixed(3)\n }\n },\n })\n })\n\n let chartOpts = {\n title: this.title,\n width: this.size.width,\n height: this.size.height,\n scales: {\n x: {\n time: false,\n },\n y: {\n time: false,\n range: (u, min, max) => [min, max],\n },\n },\n axes: [\n {\n stroke: 'white',\n grid: {\n show: true,\n stroke: 'rgba(255, 255, 255, .1)',\n width: 2,\n },\n },\n {\n stroke: 'white',\n grid: {\n show: true,\n stroke: 'rgba(255, 255, 255, .1)',\n width: 2,\n },\n },\n ],\n series: [\n {\n label: 'X Value',\n },\n ...chartSeries,\n ],\n }\n this.graph = new uPlot(\n chartOpts,\n this.data,\n document.getElementById(`chart${this.id}`),\n )\n this.subscribe()\n },\n beforeUnmount: function () {\n this.cable.disconnect()\n },\n computed: {\n dataOnly() {\n return this.data[1] // Ignore the x axis data\n },\n },\n watch: {\n // This is always firing even when the data is the same\n // Is it because we're setting the whole array data[1]?\n dataOnly: function () {\n if (this.graph) {\n this.graph.setData(this.data)\n }\n },\n },\n methods: {\n subscribe: function () {\n this.cable\n .createSubscription('StreamingChannel', window.openc3Scope, {\n received: (data) => this.received(data),\n connected: () => {\n this.addItemsToSubscription(this.items)\n },\n disconnected: (data) => {\n // If allowReconnect is true it means we got a disconnect due to connection lost or server disconnect\n // If allowReconnect is false this is a normal server close or client close\n if (data.allowReconnect) {\n this.errors.push({\n type: 'disconnected',\n message: 'OpenC3 backend connection disconnected',\n time: new Date().getTime(),\n })\n }\n },\n rejected: () => {\n this.errors.push({\n type: 'rejected',\n message: 'OpenC3 backend connection rejected',\n time: new Date().getTime(),\n })\n },\n })\n .then((subscription) => {\n this.subscription = subscription\n })\n },\n received: function (data_array) {\n for (let data of data_array) {\n let xaxis = [] // Declare outside the loop so we can use it for the X axis values\n for (const [key, value] of Object.entries(data)) {\n // We support 2 different kind of data, a simple array of Y values\n // or an array with both X and Y values, e.g. [[x1,x2,x3...], [y1,y2,y3...]]\n if (key === '__time') {\n // Explicitly setting the X axis values always wins\n if (this.xAxis) {\n xaxis = Array.from(\n { length: this.data[1].length },\n (_, i) => this.xAxis.start + i * this.xAxis.step,\n )\n } else if (xaxis.length === 0) {\n // If we don't have an array of X values we generate them\n xaxis = Array.from({ length: this.data[1].length }, (_, i) => i)\n }\n this.data[0] = xaxis\n }\n let key_index = this.indexes[key]\n if (key_index) {\n // Check for the array of arrays case\n if (Array.isArray(value[0])) {\n this.data[key_index] = value[1]\n xaxis = value[0]\n } else {\n this.data[key_index] = value\n }\n }\n }\n }\n },\n addItemsToSubscription: function (itemArray = this.items) {\n if (this.subscription) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(\n (refreshed) => {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n this.subscription.perform('add', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n items: itemArray.map(this.subscriptionKey),\n start_time: null,\n end_time: null,\n })\n },\n )\n }\n },\n itemName: function (item) {\n return `${item.targetName} ${item.packetName} ${item.itemName}`\n },\n subscriptionKey: function (item) {\n let key = `${item.reduced}__TLM__${item.targetName}__${item.packetName}__${item.itemName}__${item.valueType}`\n if (\n item.reduced === 'REDUCED_MINUTE' ||\n item.reduced === 'REDUCED_HOUR' ||\n item.reduced === 'REDUCED_DAY'\n ) {\n key += `__${item.reducedType}`\n }\n return key\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Cable","GraphWidget","index","item","setting","chartSeries","self","rawValue","chartOpts","u","min","max","uPlot","data","subscription","data_array","xaxis","key","value","_","i","key_index","itemArray","refreshed","_hoisted_1","_createElementBlock","_ctx"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const c=["FATAL","fatal","ERROR","critical","serious","WARN","caution","INFO","normal","standby","off","DEBUG"],r=function(n){return n.map(e=>c.indexOf(e))},s=function(n){const e=r(n),t=Math.min(...e);return c[t]},u=function(n){const e=r(n),t=Math.max(...e);return c[t]},l=function(n,e=t=>t.level){return n.sort((t,o)=>c.indexOf(e(t))-c.indexOf(e(o)))},a=function(n,e=t=>t.level){return n.reduce((t,o)=>{const i=e(o);return t[i]||(t[i]=[]),t[i].push(o),t},{})},d=Object.freeze(Object.defineProperty({__proto__:null,groupByLevel:a,highestLevel:s,lowestLevel:u,orderByLevel:l},Symbol.toStringTag,{value:"Module"}));exports.AstroStatus=d;
2
+ //# sourceMappingURL=AstroStatus-CILMWL6F.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AstroStatus-CILMWL6F.cjs","sources":["../src/util/AstroStatus.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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\nconst _levels = [\n // order of levels from highest to lowest\n 'FATAL',\n 'fatal',\n 'ERROR',\n 'critical',\n 'serious',\n 'WARN',\n 'caution',\n 'INFO',\n 'normal',\n 'standby',\n 'off',\n 'DEBUG',\n]\n\nconst _getLevelIndeces = function (levels) {\n return levels.map((level) => _levels.indexOf(level))\n}\n\nconst highestLevel = function (levels) {\n const indices = _getLevelIndeces(levels)\n const index = Math.min(...indices)\n return _levels[index]\n}\n\nconst lowestLevel = function (levels) {\n const indices = _getLevelIndeces(levels)\n const index = Math.max(...indices)\n return _levels[index]\n}\n\nconst orderByLevel = function (objects, levelGetter = (x) => x.level) {\n return objects.sort((a, b) => {\n return _levels.indexOf(levelGetter(a)) - _levels.indexOf(levelGetter(b))\n })\n}\n\nconst groupByLevel = function (objects, levelGetter = (x) => x.level) {\n return objects.reduce((groups, obj) => {\n const level = levelGetter(obj)\n groups[level] ||= []\n groups[level].push(obj)\n return groups\n }, {})\n}\n\nexport { highestLevel, lowestLevel, orderByLevel, groupByLevel }\n"],"names":["_levels","_getLevelIndeces","levels","level","highestLevel","indices","index","lowestLevel","orderByLevel","objects","levelGetter","x","a","b","groupByLevel","groups","obj"],"mappings":"aAsBA,MAAMA,EAAU,CAEd,QACA,QACA,QACA,WACA,UACA,OACA,UACA,OACA,SACA,UACA,MACA,OACF,EAEMC,EAAmB,SAAUC,EAAQ,CACzC,OAAOA,EAAO,IAAKC,GAAUH,EAAQ,QAAQG,CAAK,CAAC,CACrD,EAEMC,EAAe,SAAUF,EAAQ,CACrC,MAAMG,EAAUJ,EAAiBC,CAAM,EACjCI,EAAQ,KAAK,IAAI,GAAGD,CAAO,EACjC,OAAOL,EAAQM,CAAK,CACtB,EAEMC,EAAc,SAAUL,EAAQ,CACpC,MAAMG,EAAUJ,EAAiBC,CAAM,EACjCI,EAAQ,KAAK,IAAI,GAAGD,CAAO,EACjC,OAAOL,EAAQM,CAAK,CACtB,EAEME,EAAe,SAAUC,EAASC,EAAeC,GAAMA,EAAE,MAAO,CACpE,OAAOF,EAAQ,KAAK,CAACG,EAAGC,IACfb,EAAQ,QAAQU,EAAYE,CAAC,CAAC,EAAIZ,EAAQ,QAAQU,EAAYG,CAAC,CAAC,CACxE,CACH,EAEMC,EAAe,SAAUL,EAASC,EAAeC,GAAMA,EAAE,MAAO,CACpE,OAAOF,EAAQ,OAAO,CAACM,EAAQC,IAAQ,CACrC,MAAMb,EAAQO,EAAYM,CAAG,EAC7B,OAAAD,EAAAZ,KAAAY,EAAAZ,GAAkB,CAAA,GAClBY,EAAOZ,CAAK,EAAE,KAAKa,CAAG,EACfD,CACX,EAAK,CAAE,CAAA,CACP"}
@@ -0,0 +1,40 @@
1
+ const c = [
2
+ // order of levels from highest to lowest
3
+ "FATAL",
4
+ "fatal",
5
+ "ERROR",
6
+ "critical",
7
+ "serious",
8
+ "WARN",
9
+ "caution",
10
+ "INFO",
11
+ "normal",
12
+ "standby",
13
+ "off",
14
+ "DEBUG"
15
+ ], r = function(t) {
16
+ return t.map((n) => c.indexOf(n));
17
+ }, s = function(t) {
18
+ const n = r(t), e = Math.min(...n);
19
+ return c[e];
20
+ }, l = function(t) {
21
+ const n = r(t), e = Math.max(...n);
22
+ return c[e];
23
+ }, u = function(t, n = (e) => e.level) {
24
+ return t.sort((e, o) => c.indexOf(n(e)) - c.indexOf(n(o)));
25
+ }, a = function(t, n = (e) => e.level) {
26
+ return t.reduce((e, o) => {
27
+ const i = n(o);
28
+ return e[i] || (e[i] = []), e[i].push(o), e;
29
+ }, {});
30
+ }, d = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
31
+ __proto__: null,
32
+ groupByLevel: a,
33
+ highestLevel: s,
34
+ lowestLevel: l,
35
+ orderByLevel: u
36
+ }, Symbol.toStringTag, { value: "Module" }));
37
+ export {
38
+ d as A
39
+ };
40
+ //# sourceMappingURL=AstroStatus-CY9VkeTN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AstroStatus-CY9VkeTN.js","sources":["../src/util/AstroStatus.js"],"sourcesContent":["/*\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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\nconst _levels = [\n // order of levels from highest to lowest\n 'FATAL',\n 'fatal',\n 'ERROR',\n 'critical',\n 'serious',\n 'WARN',\n 'caution',\n 'INFO',\n 'normal',\n 'standby',\n 'off',\n 'DEBUG',\n]\n\nconst _getLevelIndeces = function (levels) {\n return levels.map((level) => _levels.indexOf(level))\n}\n\nconst highestLevel = function (levels) {\n const indices = _getLevelIndeces(levels)\n const index = Math.min(...indices)\n return _levels[index]\n}\n\nconst lowestLevel = function (levels) {\n const indices = _getLevelIndeces(levels)\n const index = Math.max(...indices)\n return _levels[index]\n}\n\nconst orderByLevel = function (objects, levelGetter = (x) => x.level) {\n return objects.sort((a, b) => {\n return _levels.indexOf(levelGetter(a)) - _levels.indexOf(levelGetter(b))\n })\n}\n\nconst groupByLevel = function (objects, levelGetter = (x) => x.level) {\n return objects.reduce((groups, obj) => {\n const level = levelGetter(obj)\n groups[level] ||= []\n groups[level].push(obj)\n return groups\n }, {})\n}\n\nexport { highestLevel, lowestLevel, orderByLevel, groupByLevel }\n"],"names":["_levels","_getLevelIndeces","levels","level","highestLevel","indices","index","lowestLevel","orderByLevel","objects","levelGetter","x","a","b","groupByLevel","groups","obj"],"mappings":"AAsBA,MAAMA,IAAU;AAAA;AAAA,EAEd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEMC,IAAmB,SAAUC,GAAQ;AACzC,SAAOA,EAAO,IAAI,CAACC,MAAUH,EAAQ,QAAQG,CAAK,CAAC;AACrD,GAEMC,IAAe,SAAUF,GAAQ;AACrC,QAAMG,IAAUJ,EAAiBC,CAAM,GACjCI,IAAQ,KAAK,IAAI,GAAGD,CAAO;AACjC,SAAOL,EAAQM,CAAK;AACtB,GAEMC,IAAc,SAAUL,GAAQ;AACpC,QAAMG,IAAUJ,EAAiBC,CAAM,GACjCI,IAAQ,KAAK,IAAI,GAAGD,CAAO;AACjC,SAAOL,EAAQM,CAAK;AACtB,GAEME,IAAe,SAAUC,GAASC,IAAc,CAACC,MAAMA,EAAE,OAAO;AACpE,SAAOF,EAAQ,KAAK,CAACG,GAAGC,MACfb,EAAQ,QAAQU,EAAYE,CAAC,CAAC,IAAIZ,EAAQ,QAAQU,EAAYG,CAAC,CAAC,CACxE;AACH,GAEMC,IAAe,SAAUL,GAASC,IAAc,CAACC,MAAMA,EAAE,OAAO;AACpE,SAAOF,EAAQ,OAAO,CAACM,GAAQC,MAAQ;AACrC,UAAMb,IAAQO,EAAYM,CAAG;AAC7B,WAAAD,EAAAZ,OAAAY,EAAAZ,KAAkB,CAAA,IAClBY,EAAOZ,CAAK,EAAE,KAAKa,CAAG,GACfD;AAAA,EACX,GAAK,CAAE,CAAA;AACP;;;;;;;"}
@@ -0,0 +1,108 @@
1
+ import { W as t } from "./Widget-fRCERxGf.js";
2
+ import { m as a } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-iq-jp8dD.js";
3
+ const l = {
4
+ mixins: [t],
5
+ data() {
6
+ return {
7
+ minValue: null,
8
+ maxValue: null,
9
+ redLow: 0,
10
+ yellowLow: 0,
11
+ greenLow: 0,
12
+ greenHigh: 0,
13
+ yellowHigh: 0,
14
+ redHigh: 0,
15
+ blue: 0,
16
+ api: null,
17
+ limitsSettings: {
18
+ DEFAULT: []
19
+ },
20
+ currentLimitsSet: "DEFAULT",
21
+ currentSetRefreshInterval: null
22
+ };
23
+ },
24
+ computed: {
25
+ cssProps: function() {
26
+ let e = this.screenValues[this.valueId][0], h = this.modifyLimits(
27
+ this.limitsSettings[this.selectedLimitsSet]
28
+ );
29
+ return this.calcLimits(h), {
30
+ "--height": this.height + "px",
31
+ "--width": this.width + "px",
32
+ "--container-height": this.height - 5 + "px",
33
+ "--position": this.calcPosition(e, h) + "%",
34
+ "--redlow-width": this.redLow + "%",
35
+ "--redhigh-width": this.redHigh + "%",
36
+ "--yellowlow-width": this.yellowLow + "%",
37
+ "--yellowhigh-width": this.yellowHigh + "%",
38
+ "--greenlow-width": this.greenLow + "%",
39
+ "--greenhigh-width": this.greenHigh + "%",
40
+ "--blue-width": this.blue + "%"
41
+ };
42
+ },
43
+ selectedLimitsSet: function() {
44
+ return this.limitsSettings.hasOwnProperty(this.currentLimitsSet) ? this.currentLimitsSet : "DEFAULT";
45
+ }
46
+ },
47
+ created() {
48
+ this.api = new a(), this.api.get_limits(this.parameters[0], this.parameters[1], this.parameters[2]).then((e) => {
49
+ this.limitsSettings = e;
50
+ }), this.getCurrentLimitsSet(), this.currentSetRefreshInterval = setInterval(
51
+ this.getCurrentLimitsSet,
52
+ 60 * 1e3
53
+ ), this.appliedSettings.forEach((e) => {
54
+ e[0] === "MIN_VALUE" && (this.minValue = parseInt(e[1])), e[0] === "MAX_VALUE" && (this.maxValue = parseInt(e[1]));
55
+ }), this.width = this.setWidth(this.parameters[4], "px", this.width), this.height = this.setHeight(this.parameters[5], "px", this.height), this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__CONVERTED`, this.$emit("addItem", this.valueId);
56
+ },
57
+ destroyed() {
58
+ this.$emit("deleteItem", this.valueId), clearInterval(this.currentSetRefreshInterval);
59
+ },
60
+ methods: {
61
+ modifyLimits(e) {
62
+ if (!e)
63
+ return;
64
+ this.redLow = 10, this.redHigh = 10, this.minValue !== null && (e[0] <= this.minValue && (e[0] = this.minValue, this.redLow = 0), e[1] <= this.minValue && (e[1] = this.minValue), e[2] <= this.minValue && (e[2] = this.minValue), e[3] <= this.minValue && (e[3] = this.minValue), e.length > 4 && e[4] <= this.minValue && (e[4] = this.minValue), e.length > 4 && e[5] <= this.minValue && (e[5] = this.minValue)), this.maxValue !== null && (e[0] >= this.maxValue && (e[0] = this.maxValue), e[1] >= this.maxValue && (e[1] = this.maxValue), e[2] >= this.maxValue && (e[2] = this.maxValue), e[3] >= this.maxValue && (e[3] = this.maxValue, this.redHigh = 0), e.length > 4 && e[4] >= this.maxValue && (e[4] = this.maxValue), e.length > 4 && e[5] >= this.maxValue && (e[5] = this.maxValue)), e[0] == e[1] && (this.yellowLow = 0), e[2] == e[3] && (this.yellowHigh = 0);
65
+ let h = 80;
66
+ return this.redLow == 0 && (h += 10), this.redHigh == 0 && (h += 10), this.scale = (e[3] - e[0]) / h, e;
67
+ },
68
+ calcPosition(e, h) {
69
+ if (!e || !h)
70
+ return;
71
+ let r = h[0] - 10 * this.scale;
72
+ if (this.minValue && this.minValue == h[0] && (r = h[0]), h[3] - 10 * this.scale, this.maxValue && this.maxValue == h[3] && h[3], e.raw)
73
+ return e.raw === "-Infinity" ? 0 : 100;
74
+ if (e < this.min)
75
+ return 0;
76
+ if (e > this.max)
77
+ return 100;
78
+ {
79
+ const i = parseInt((e - r) / this.scale);
80
+ return i > 100 ? 100 : i < 0 ? 0 : i;
81
+ }
82
+ },
83
+ calcLimits(e) {
84
+ e && (this.yellowLow = Math.round(
85
+ (e[1] - e[0]) / this.scale
86
+ ), this.yellowHigh = Math.round(
87
+ (e[3] - e[2]) / this.scale
88
+ ), e.length > 4 ? (this.greenLow = Math.round(
89
+ (e[4] - e[1]) / this.scale
90
+ ), this.greenHigh = Math.round(
91
+ (e[2] - e[5]) / this.scale
92
+ ), this.blue = Math.round(
93
+ 100 - this.redLow - this.yellowLow - this.greenLow - this.greenHigh - this.yellowHigh - this.redHigh
94
+ )) : (this.greenLow = Math.round(
95
+ 100 - this.redLow - this.yellowLow - this.yellowHigh - this.redHigh
96
+ ), this.greenHigh = 0, this.blue = 0));
97
+ },
98
+ getCurrentLimitsSet: function() {
99
+ this.api.get_limits_set().then((e) => {
100
+ this.currentLimitsSet = e;
101
+ });
102
+ }
103
+ }
104
+ };
105
+ export {
106
+ l as B
107
+ };
108
+ //# sourceMappingURL=BarColumn-C9dkpg2O.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarColumn-C9dkpg2O.js","sources":["../src/widgets/BarColumn.js"],"sourcesContent":["/*\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport Widget from './Widget'\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n mixins: [Widget],\n data() {\n return {\n minValue: null,\n maxValue: null,\n redLow: 0,\n yellowLow: 0,\n greenLow: 0,\n greenHigh: 0,\n yellowHigh: 0,\n redHigh: 0,\n blue: 0,\n api: null,\n limitsSettings: {\n DEFAULT: [],\n },\n currentLimitsSet: 'DEFAULT',\n currentSetRefreshInterval: null,\n }\n },\n computed: {\n cssProps: function () {\n let value = this.screenValues[this.valueId][0]\n let limits = this.modifyLimits(\n this.limitsSettings[this.selectedLimitsSet],\n )\n this.calcLimits(limits)\n return {\n '--height': this.height + 'px',\n '--width': this.width + 'px',\n '--container-height': this.height - 5 + 'px',\n '--position': this.calcPosition(value, limits) + '%',\n '--redlow-width': this.redLow + '%',\n '--redhigh-width': this.redHigh + '%',\n '--yellowlow-width': this.yellowLow + '%',\n '--yellowhigh-width': this.yellowHigh + '%',\n '--greenlow-width': this.greenLow + '%',\n '--greenhigh-width': this.greenHigh + '%',\n '--blue-width': this.blue + '%',\n }\n },\n selectedLimitsSet: function () {\n return this.limitsSettings.hasOwnProperty(this.currentLimitsSet)\n ? this.currentLimitsSet\n : 'DEFAULT'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_limits(this.parameters[0], this.parameters[1], this.parameters[2])\n .then((data) => {\n this.limitsSettings = data\n })\n this.getCurrentLimitsSet()\n this.currentSetRefreshInterval = setInterval(\n this.getCurrentLimitsSet,\n 60 * 1000,\n )\n\n this.appliedSettings.forEach((setting) => {\n if (setting[0] === 'MIN_VALUE') {\n this.minValue = parseInt(setting[1])\n }\n if (setting[0] === 'MAX_VALUE') {\n this.maxValue = parseInt(setting[1])\n }\n })\n this.width = this.setWidth(this.parameters[4], 'px', this.width)\n this.height = this.setHeight(this.parameters[5], 'px', this.height)\n // Always pass CONVERTED so we can calculate the value against the limits (in converted units)\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__CONVERTED`\n\n this.$emit('addItem', this.valueId)\n },\n destroyed() {\n this.$emit('deleteItem', this.valueId)\n clearInterval(this.currentSetRefreshInterval)\n },\n methods: {\n modifyLimits(limitsSettings) {\n if (!limitsSettings) {\n return\n }\n // By default the red bars take 10% of the display\n this.redLow = 10\n this.redHigh = 10\n\n // Modify values to respect the user defined minimum\n if (this.minValue !== null) {\n if (limitsSettings[0] <= this.minValue) {\n limitsSettings[0] = this.minValue\n // No red low will be displayed\n this.redLow = 0\n }\n if (limitsSettings[1] <= this.minValue) {\n limitsSettings[1] = this.minValue\n }\n if (limitsSettings[2] <= this.minValue) {\n limitsSettings[2] = this.minValue\n }\n if (limitsSettings[3] <= this.minValue) {\n limitsSettings[3] = this.minValue\n }\n if (limitsSettings.length > 4 && limitsSettings[4] <= this.minValue) {\n limitsSettings[4] = this.minValue\n }\n if (limitsSettings.length > 4 && limitsSettings[5] <= this.minValue) {\n limitsSettings[5] = this.minValue\n }\n }\n if (this.maxValue !== null) {\n if (limitsSettings[0] >= this.maxValue) {\n limitsSettings[0] = this.maxValue\n }\n if (limitsSettings[1] >= this.maxValue) {\n limitsSettings[1] = this.maxValue\n }\n if (limitsSettings[2] >= this.maxValue) {\n limitsSettings[2] = this.maxValue\n }\n if (limitsSettings[3] >= this.maxValue) {\n limitsSettings[3] = this.maxValue\n // No red high will be displayed\n this.redHigh = 0\n }\n if (limitsSettings.length > 4 && limitsSettings[4] >= this.maxValue) {\n limitsSettings[4] = this.maxValue\n }\n if (limitsSettings.length > 4 && limitsSettings[5] >= this.maxValue) {\n limitsSettings[5] = this.maxValue\n }\n }\n // If the red low matches yellow low there is no yellow low\n if (limitsSettings[0] == limitsSettings[1]) {\n this.yellowLow = 0\n }\n // If the red high matches yellow high there is no yellow high\n if (limitsSettings[2] == limitsSettings[3]) {\n this.yellowHigh = 0\n }\n\n let divisor = 80\n if (this.redLow == 0) {\n divisor += 10\n }\n if (this.redHigh == 0) {\n divisor += 10\n }\n this.scale = (limitsSettings[3] - limitsSettings[0]) / divisor\n\n return limitsSettings\n },\n calcPosition(value, limitsSettings) {\n if (!value || !limitsSettings) {\n return\n }\n let lowValue = limitsSettings[0] - 10 * this.scale\n if (this.minValue && this.minValue == limitsSettings[0]) {\n lowValue = limitsSettings[0]\n }\n let highValue = limitsSettings[3] - 10 * this.scale\n if (this.maxValue && this.maxValue == limitsSettings[3]) {\n highValue = limitsSettings[3]\n }\n\n if (value.raw) {\n if (value.raw === '-Infinity') {\n return 0\n } else {\n // NaN and Infinity\n return 100\n }\n }\n if (value < this.min) {\n return 0\n } else if (value > this.max) {\n return 100\n } else {\n const result = parseInt((value - lowValue) / this.scale)\n if (result > 100) {\n return 100\n } else if (result < 0) {\n return 0\n } else {\n return result\n }\n }\n },\n calcLimits(limitsSettings) {\n if (!limitsSettings) {\n return\n }\n this.yellowLow = Math.round(\n (limitsSettings[1] - limitsSettings[0]) / this.scale,\n )\n this.yellowHigh = Math.round(\n (limitsSettings[3] - limitsSettings[2]) / this.scale,\n )\n if (limitsSettings.length > 4) {\n this.greenLow = Math.round(\n (limitsSettings[4] - limitsSettings[1]) / this.scale,\n )\n this.greenHigh = Math.round(\n (limitsSettings[2] - limitsSettings[5]) / this.scale,\n )\n this.blue = Math.round(\n 100 -\n this.redLow -\n this.yellowLow -\n this.greenLow -\n this.greenHigh -\n this.yellowHigh -\n this.redHigh,\n )\n } else {\n this.greenLow = Math.round(\n 100 - this.redLow - this.yellowLow - this.yellowHigh - this.redHigh,\n )\n this.greenHigh = 0\n this.blue = 0\n }\n },\n getCurrentLimitsSet: function () {\n this.api.get_limits_set().then((result) => {\n this.currentLimitsSet = result\n })\n },\n },\n}\n"],"names":["BarColumn","Widget","value","limits","OpenC3Api","data","setting","limitsSettings","divisor","lowValue","result"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=require("./Widget-DNf52jRQ.cjs"),a=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs"),s={mixins:[t.Widget],data(){return{minValue:null,maxValue:null,redLow:0,yellowLow:0,greenLow:0,greenHigh:0,yellowHigh:0,redHigh:0,blue:0,api:null,limitsSettings:{DEFAULT:[]},currentLimitsSet:"DEFAULT",currentSetRefreshInterval:null}},computed:{cssProps:function(){let e=this.screenValues[this.valueId][0],h=this.modifyLimits(this.limitsSettings[this.selectedLimitsSet]);return this.calcLimits(h),{"--height":this.height+"px","--width":this.width+"px","--container-height":this.height-5+"px","--position":this.calcPosition(e,h)+"%","--redlow-width":this.redLow+"%","--redhigh-width":this.redHigh+"%","--yellowlow-width":this.yellowLow+"%","--yellowhigh-width":this.yellowHigh+"%","--greenlow-width":this.greenLow+"%","--greenhigh-width":this.greenHigh+"%","--blue-width":this.blue+"%"}},selectedLimitsSet:function(){return this.limitsSettings.hasOwnProperty(this.currentLimitsSet)?this.currentLimitsSet:"DEFAULT"}},created(){this.api=new a.mi,this.api.get_limits(this.parameters[0],this.parameters[1],this.parameters[2]).then(e=>{this.limitsSettings=e}),this.getCurrentLimitsSet(),this.currentSetRefreshInterval=setInterval(this.getCurrentLimitsSet,60*1e3),this.appliedSettings.forEach(e=>{e[0]==="MIN_VALUE"&&(this.minValue=parseInt(e[1])),e[0]==="MAX_VALUE"&&(this.maxValue=parseInt(e[1]))}),this.width=this.setWidth(this.parameters[4],"px",this.width),this.height=this.setHeight(this.parameters[5],"px",this.height),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__CONVERTED`,this.$emit("addItem",this.valueId)},destroyed(){this.$emit("deleteItem",this.valueId),clearInterval(this.currentSetRefreshInterval)},methods:{modifyLimits(e){if(!e)return;this.redLow=10,this.redHigh=10,this.minValue!==null&&(e[0]<=this.minValue&&(e[0]=this.minValue,this.redLow=0),e[1]<=this.minValue&&(e[1]=this.minValue),e[2]<=this.minValue&&(e[2]=this.minValue),e[3]<=this.minValue&&(e[3]=this.minValue),e.length>4&&e[4]<=this.minValue&&(e[4]=this.minValue),e.length>4&&e[5]<=this.minValue&&(e[5]=this.minValue)),this.maxValue!==null&&(e[0]>=this.maxValue&&(e[0]=this.maxValue),e[1]>=this.maxValue&&(e[1]=this.maxValue),e[2]>=this.maxValue&&(e[2]=this.maxValue),e[3]>=this.maxValue&&(e[3]=this.maxValue,this.redHigh=0),e.length>4&&e[4]>=this.maxValue&&(e[4]=this.maxValue),e.length>4&&e[5]>=this.maxValue&&(e[5]=this.maxValue)),e[0]==e[1]&&(this.yellowLow=0),e[2]==e[3]&&(this.yellowHigh=0);let h=80;return this.redLow==0&&(h+=10),this.redHigh==0&&(h+=10),this.scale=(e[3]-e[0])/h,e},calcPosition(e,h){if(!e||!h)return;let r=h[0]-10*this.scale;if(this.minValue&&this.minValue==h[0]&&(r=h[0]),h[3]-10*this.scale,this.maxValue&&this.maxValue==h[3]&&h[3],e.raw)return e.raw==="-Infinity"?0:100;if(e<this.min)return 0;if(e>this.max)return 100;{const i=parseInt((e-r)/this.scale);return i>100?100:i<0?0:i}},calcLimits(e){e&&(this.yellowLow=Math.round((e[1]-e[0])/this.scale),this.yellowHigh=Math.round((e[3]-e[2])/this.scale),e.length>4?(this.greenLow=Math.round((e[4]-e[1])/this.scale),this.greenHigh=Math.round((e[2]-e[5])/this.scale),this.blue=Math.round(100-this.redLow-this.yellowLow-this.greenLow-this.greenHigh-this.yellowHigh-this.redHigh)):(this.greenLow=Math.round(100-this.redLow-this.yellowLow-this.yellowHigh-this.redHigh),this.greenHigh=0,this.blue=0))},getCurrentLimitsSet:function(){this.api.get_limits_set().then(e=>{this.currentLimitsSet=e})}}};exports.BarColumn=s;
2
+ //# sourceMappingURL=BarColumn-CyRSZHMh.cjs.map