@openc3/vue-common 6.5.1 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/dist/{ArrayWidget-Ck6pzAyW.js → ArrayWidget-BSG8KEtf.js} +4 -4
  2. package/dist/{ArrayWidget-Ck6pzAyW.js.map → ArrayWidget-BSG8KEtf.js.map} +1 -1
  3. package/dist/{ArrayWidget-Bb_Ldxq7.cjs → ArrayWidget-B__t3xOt.cjs} +2 -2
  4. package/dist/{ArrayWidget-Bb_Ldxq7.cjs.map → ArrayWidget-B__t3xOt.cjs.map} +1 -1
  5. package/dist/ArrayplotWidget-BduWyJlL.cjs +2 -0
  6. package/dist/ArrayplotWidget-BduWyJlL.cjs.map +1 -0
  7. package/dist/{ArrayplotWidget-ntRLh6-B.js → ArrayplotWidget-WVu76Kqn.js} +22 -22
  8. package/dist/ArrayplotWidget-WVu76Kqn.js.map +1 -0
  9. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -1
  10. package/dist/AstroStatus-CY9VkeTN.js.map +1 -1
  11. package/dist/{BarColumn-Bgz2YJ59.js → BarColumn-Cflh9pUz.js} +3 -3
  12. package/dist/{BarColumn-Bgz2YJ59.js.map → BarColumn-Cflh9pUz.js.map} +1 -1
  13. package/dist/{BarColumn-DtRNuOpa.cjs → BarColumn-DVn9f2WO.cjs} +2 -2
  14. package/dist/{BarColumn-DtRNuOpa.cjs.map → BarColumn-DVn9f2WO.cjs.map} +1 -1
  15. package/dist/{BlockWidget-DGH3Zz5p.js → BlockWidget-B7ryWGCq.js} +4 -4
  16. package/dist/{BlockWidget-DGH3Zz5p.js.map → BlockWidget-B7ryWGCq.js.map} +1 -1
  17. package/dist/{BlockWidget-DOY5lVfa.cjs → BlockWidget-CRqA09Ve.cjs} +2 -2
  18. package/dist/{BlockWidget-DOY5lVfa.cjs.map → BlockWidget-CRqA09Ve.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-D_tupiPB.js → ButtonWidget-BKih3ix9.js} +17 -13
  20. package/dist/{ButtonWidget-D_tupiPB.js.map → ButtonWidget-BKih3ix9.js.map} +1 -1
  21. package/dist/{ButtonWidget-CFyZXGt6.cjs → ButtonWidget-Bb46aUCR.cjs} +3 -3
  22. package/dist/{ButtonWidget-CFyZXGt6.cjs.map → ButtonWidget-Bb46aUCR.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-CzG2jYQb.js → CanvasWidget-DT9xMSfb.js} +2 -2
  24. package/dist/{CanvasWidget-CzG2jYQb.js.map → CanvasWidget-DT9xMSfb.js.map} +1 -1
  25. package/dist/{CanvasWidget-C6dc7mUw.cjs → CanvasWidget-DT_vPAoc.cjs} +2 -2
  26. package/dist/{CanvasWidget-C6dc7mUw.cjs.map → CanvasWidget-DT_vPAoc.cjs.map} +1 -1
  27. package/dist/{CanvasdotWidget-0FAaw4G2.js → CanvasdotWidget-7H5Hvcn-.js} +2 -2
  28. package/dist/{CanvasdotWidget-0FAaw4G2.js.map → CanvasdotWidget-7H5Hvcn-.js.map} +1 -1
  29. package/dist/{CanvasdotWidget-9bBVHC1l.cjs → CanvasdotWidget-DNSQriVo.cjs} +2 -2
  30. package/dist/{CanvasdotWidget-9bBVHC1l.cjs.map → CanvasdotWidget-DNSQriVo.cjs.map} +1 -1
  31. package/dist/{CanvasimageWidget-CNJlzLqo.js → CanvasimageWidget-BbWYx6Gj.js} +3 -3
  32. package/dist/{CanvasimageWidget-CNJlzLqo.js.map → CanvasimageWidget-BbWYx6Gj.js.map} +1 -1
  33. package/dist/{CanvasimageWidget-DjvdDCRS.cjs → CanvasimageWidget-CfleScIF.cjs} +2 -2
  34. package/dist/{CanvasimageWidget-DjvdDCRS.cjs.map → CanvasimageWidget-CfleScIF.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-DudwwOD6.js → CanvasimagevalueWidget-Blvoe2X4.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-DudwwOD6.js.map → CanvasimagevalueWidget-Blvoe2X4.js.map} +1 -1
  37. package/dist/{CanvasimagevalueWidget-C1fI-ftP.cjs → CanvasimagevalueWidget-ouM4DBeD.cjs} +2 -2
  38. package/dist/{CanvasimagevalueWidget-C1fI-ftP.cjs.map → CanvasimagevalueWidget-ouM4DBeD.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-BZQp16dH.js → CanvaslabelWidget-BPx_Rm4o.js} +2 -2
  40. package/dist/{CanvaslabelWidget-BZQp16dH.js.map → CanvaslabelWidget-BPx_Rm4o.js.map} +1 -1
  41. package/dist/{CanvaslabelWidget--6Sjc4E8.cjs → CanvaslabelWidget-DB3qox5N.cjs} +2 -2
  42. package/dist/{CanvaslabelWidget--6Sjc4E8.cjs.map → CanvaslabelWidget-DB3qox5N.cjs.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-DZCxsIKk.cjs → CanvaslabelvalueWidget-2k6TjSNj.cjs} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-DZCxsIKk.cjs.map → CanvaslabelvalueWidget-2k6TjSNj.cjs.map} +1 -1
  45. package/dist/{CanvaslabelvalueWidget-CHS36Te9.js → CanvaslabelvalueWidget-DzdWvL0W.js} +2 -2
  46. package/dist/{CanvaslabelvalueWidget-CHS36Te9.js.map → CanvaslabelvalueWidget-DzdWvL0W.js.map} +1 -1
  47. package/dist/{CanvaslineWidget-nhKEAGhs.js → CanvaslineWidget-CqskilGk.js} +2 -2
  48. package/dist/{CanvaslineWidget-nhKEAGhs.js.map → CanvaslineWidget-CqskilGk.js.map} +1 -1
  49. package/dist/{CanvaslineWidget-Bn83Rb10.cjs → CanvaslineWidget-oAoznYZP.cjs} +2 -2
  50. package/dist/{CanvaslineWidget-Bn83Rb10.cjs.map → CanvaslineWidget-oAoznYZP.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-C6x_4Gc9.cjs → CanvaslinevalueWidget-BmyIxGNz.cjs} +2 -2
  52. package/dist/{CanvaslinevalueWidget-C6x_4Gc9.cjs.map → CanvaslinevalueWidget-BmyIxGNz.cjs.map} +1 -1
  53. package/dist/{CanvaslinevalueWidget-DsyIDkJy.js → CanvaslinevalueWidget-C0JIKdvZ.js} +2 -2
  54. package/dist/{CanvaslinevalueWidget-DsyIDkJy.js.map → CanvaslinevalueWidget-C0JIKdvZ.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-BvggsGZY.cjs → CheckbuttonWidget-C548xrRy.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-BvggsGZY.cjs.map → CheckbuttonWidget-C548xrRy.cjs.map} +1 -1
  57. package/dist/{CheckbuttonWidget-DCam7Jd0.js → CheckbuttonWidget-C9FbJx2v.js} +2 -2
  58. package/dist/{CheckbuttonWidget-DCam7Jd0.js.map → CheckbuttonWidget-C9FbJx2v.js.map} +1 -1
  59. package/dist/ClassificationBanners-BTdLBSfy.cjs +2 -0
  60. package/dist/ClassificationBanners-BTdLBSfy.cjs.map +1 -0
  61. package/dist/ClassificationBanners-CgJiwgTp.js +35 -0
  62. package/dist/ClassificationBanners-CgJiwgTp.js.map +1 -0
  63. package/dist/{ComboboxWidget-BS5WSbrK.cjs → ComboboxWidget-AErojGw0.cjs} +2 -2
  64. package/dist/{ComboboxWidget-BS5WSbrK.cjs.map → ComboboxWidget-AErojGw0.cjs.map} +1 -1
  65. package/dist/{ComboboxWidget-ZX-k-_aK.js → ComboboxWidget-BbNKT0s8.js} +2 -2
  66. package/dist/{ComboboxWidget-ZX-k-_aK.js.map → ComboboxWidget-BbNKT0s8.js.map} +1 -1
  67. package/dist/{CriticalCmdDialog-Dylpoz_4.js → CriticalCmdDialog-CF7Sqjdm.js} +11 -8
  68. package/dist/{CriticalCmdDialog-Dylpoz_4.js.map → CriticalCmdDialog-CF7Sqjdm.js.map} +1 -1
  69. package/dist/CriticalCmdDialog-N06JxCHg.cjs +2 -0
  70. package/dist/{CriticalCmdDialog-7tOK2XQk.cjs.map → CriticalCmdDialog-N06JxCHg.cjs.map} +1 -1
  71. package/dist/CustomIcon-Bop2mEnu.cjs.map +1 -1
  72. package/dist/CustomIcon-h5X7369N.js.map +1 -1
  73. package/dist/{DateWidget-DuJ5uC2t.js → DateWidget-CBMsdRUE.js} +2 -2
  74. package/dist/{DateWidget-DuJ5uC2t.js.map → DateWidget-CBMsdRUE.js.map} +1 -1
  75. package/dist/{DateWidget-jejbk2-G.cjs → DateWidget-CCIkDM9_.cjs} +2 -2
  76. package/dist/{DateWidget-jejbk2-G.cjs.map → DateWidget-CCIkDM9_.cjs.map} +1 -1
  77. package/dist/DetailsDialog-CVYBgZll.cjs +2 -0
  78. package/dist/DetailsDialog-CVYBgZll.cjs.map +1 -0
  79. package/dist/{DetailsDialog-BQE0TraI.js → DetailsDialog-DRVahE5z.js} +129 -97
  80. package/dist/DetailsDialog-DRVahE5z.js.map +1 -0
  81. package/dist/DynamicWidget-BWEVCUfd.cjs.map +1 -1
  82. package/dist/DynamicWidget-CfMtj7H8.js.map +1 -1
  83. package/dist/EventListDialog-CjYLRdkb.cjs +2 -0
  84. package/dist/{EventListDialog-CDcJcxy5.cjs.map → EventListDialog-CjYLRdkb.cjs.map} +1 -1
  85. package/dist/{EventListDialog-CGUFCrJF.js → EventListDialog-DDWL9gIQ.js} +46 -31
  86. package/dist/{EventListDialog-CGUFCrJF.js.map → EventListDialog-DDWL9gIQ.js.map} +1 -1
  87. package/dist/{FormatvalueWidget-DYICPNcx.js → FormatvalueWidget-BLWsqhIZ.js} +3 -3
  88. package/dist/{FormatvalueWidget-DYICPNcx.js.map → FormatvalueWidget-BLWsqhIZ.js.map} +1 -1
  89. package/dist/{FormatvalueWidget-wu7Q3sXu.cjs → FormatvalueWidget-BiaqheLJ.cjs} +2 -2
  90. package/dist/{FormatvalueWidget-wu7Q3sXu.cjs.map → FormatvalueWidget-BiaqheLJ.cjs.map} +1 -1
  91. package/dist/Graph-BiU56Qj2.js +2669 -0
  92. package/dist/Graph-BiU56Qj2.js.map +1 -0
  93. package/dist/Graph-CWjf71TK.cjs +2 -0
  94. package/dist/Graph-CWjf71TK.cjs.map +1 -0
  95. package/dist/{GraphWidget-cTVq29cY.js → GraphWidget-Ga0AEfrJ.js} +31 -44
  96. package/dist/{GraphWidget-cTVq29cY.js.map → GraphWidget-Ga0AEfrJ.js.map} +1 -1
  97. package/dist/GraphWidget-cfgX_skM.cjs +2 -0
  98. package/dist/{GraphWidget-CQjKAMPR.cjs.map → GraphWidget-cfgX_skM.cjs.map} +1 -1
  99. package/dist/{HorizontalWidget-v1pfd94Z.js → HorizontalWidget-CsVhLwZO.js} +6 -6
  100. package/dist/{HorizontalWidget-v1pfd94Z.js.map → HorizontalWidget-CsVhLwZO.js.map} +1 -1
  101. package/dist/HorizontalWidget-i6aqMSRv.cjs +2 -0
  102. package/dist/{HorizontalWidget--AkRJPlL.cjs.map → HorizontalWidget-i6aqMSRv.cjs.map} +1 -1
  103. package/dist/HorizontalboxWidget-B_S8mswF.cjs +2 -0
  104. package/dist/{HorizontalboxWidget-synL-Bar.cjs.map → HorizontalboxWidget-B_S8mswF.cjs.map} +1 -1
  105. package/dist/{HorizontalboxWidget-B06-c_n4.js → HorizontalboxWidget-xC6PADl3.js} +15 -15
  106. package/dist/{HorizontalboxWidget-B06-c_n4.js.map → HorizontalboxWidget-xC6PADl3.js.map} +1 -1
  107. package/dist/{HorizontallineWidget-lTr2JTFY.cjs → HorizontallineWidget-Cpys-185.cjs} +2 -2
  108. package/dist/{HorizontallineWidget-lTr2JTFY.cjs.map → HorizontallineWidget-Cpys-185.cjs.map} +1 -1
  109. package/dist/{HorizontallineWidget-DEODVJCk.js → HorizontallineWidget-NZIxmRVN.js} +2 -2
  110. package/dist/{HorizontallineWidget-DEODVJCk.js.map → HorizontallineWidget-NZIxmRVN.js.map} +1 -1
  111. package/dist/{IframeWidget-n8lNXrpt.js → IframeWidget-BgzjSfag.js} +2 -2
  112. package/dist/{IframeWidget-n8lNXrpt.js.map → IframeWidget-BgzjSfag.js.map} +1 -1
  113. package/dist/{IframeWidget-ByhwW9yG.cjs → IframeWidget-CCdvd8rg.cjs} +2 -2
  114. package/dist/{IframeWidget-ByhwW9yG.cjs.map → IframeWidget-CCdvd8rg.cjs.map} +1 -1
  115. package/dist/{ImageLoader-DBWVFtNu.cjs → ImageLoader-BIKl6vGc.cjs} +2 -2
  116. package/dist/{ImageLoader-DBWVFtNu.cjs.map → ImageLoader-BIKl6vGc.cjs.map} +1 -1
  117. package/dist/{ImageLoader-CfcErydq.js → ImageLoader-DbFVK1Ui.js} +2 -2
  118. package/dist/{ImageLoader-CfcErydq.js.map → ImageLoader-DbFVK1Ui.js.map} +1 -1
  119. package/dist/{ImageviewerWidget-DE8fj06Z.js → ImageviewerWidget-BnT5m-nw.js} +2 -2
  120. package/dist/{ImageviewerWidget-DE8fj06Z.js.map → ImageviewerWidget-BnT5m-nw.js.map} +1 -1
  121. package/dist/{ImageviewerWidget-D4mU6wLX.cjs → ImageviewerWidget-lnralJZa.cjs} +2 -2
  122. package/dist/{ImageviewerWidget-D4mU6wLX.cjs.map → ImageviewerWidget-lnralJZa.cjs.map} +1 -1
  123. package/dist/{InterfacesTab-BF-Wx5gk.js → InterfacesTab-Cd_RITVP.js} +3 -3
  124. package/dist/{InterfacesTab-BF-Wx5gk.js.map → InterfacesTab-Cd_RITVP.js.map} +1 -1
  125. package/dist/{InterfacesTab-DTAAIx-y.cjs → InterfacesTab-DjlzjJYG.cjs} +2 -2
  126. package/dist/{InterfacesTab-DTAAIx-y.cjs.map → InterfacesTab-DjlzjJYG.cjs.map} +1 -1
  127. package/dist/{LabelWidget-DQZqRxKF.cjs → LabelWidget-CRHSFVPT.cjs} +2 -2
  128. package/dist/{LabelWidget-DQZqRxKF.cjs.map → LabelWidget-CRHSFVPT.cjs.map} +1 -1
  129. package/dist/{LabelWidget-iUIJLhdA.js → LabelWidget-DSDYmz6X.js} +2 -2
  130. package/dist/{LabelWidget-iUIJLhdA.js.map → LabelWidget-DSDYmz6X.js.map} +1 -1
  131. package/dist/{LabelledWidget-9HWChRmv.cjs → LabelledWidget-BXf9cTf_.cjs} +2 -2
  132. package/dist/{LabelledWidget-9HWChRmv.cjs.map → LabelledWidget-BXf9cTf_.cjs.map} +1 -1
  133. package/dist/{LabelledWidget-KI6fMlsr.js → LabelledWidget-DMb-myxs.js} +4 -4
  134. package/dist/{LabelledWidget-KI6fMlsr.js.map → LabelledWidget-DMb-myxs.js.map} +1 -1
  135. package/dist/{LabelprogressbarWidget-DwzTP73u.cjs → LabelprogressbarWidget-BNHaAUXq.cjs} +2 -2
  136. package/dist/{LabelprogressbarWidget-DwzTP73u.cjs.map → LabelprogressbarWidget-BNHaAUXq.cjs.map} +1 -1
  137. package/dist/{LabelprogressbarWidget-C2lzmqBH.js → LabelprogressbarWidget-CkjDJBao.js} +4 -4
  138. package/dist/{LabelprogressbarWidget-C2lzmqBH.js.map → LabelprogressbarWidget-CkjDJBao.js.map} +1 -1
  139. package/dist/{LabelsparklineWidget-DMjBshq8.cjs → LabelsparklineWidget-BpHMkt-L.cjs} +2 -2
  140. package/dist/{LabelsparklineWidget-DMjBshq8.cjs.map → LabelsparklineWidget-BpHMkt-L.cjs.map} +1 -1
  141. package/dist/{LabelsparklineWidget-Ci6GGm29.js → LabelsparklineWidget-DBYPFz3Y.js} +4 -4
  142. package/dist/{LabelsparklineWidget-Ci6GGm29.js.map → LabelsparklineWidget-DBYPFz3Y.js.map} +1 -1
  143. package/dist/{LabelvalueWidget-mAb0eLA8.cjs → LabelvalueWidget-BFHYb64m.cjs} +2 -2
  144. package/dist/{LabelvalueWidget-mAb0eLA8.cjs.map → LabelvalueWidget-BFHYb64m.cjs.map} +1 -1
  145. package/dist/{LabelvalueWidget-oiW-JDw6.js → LabelvalueWidget-DlTkJC4i.js} +4 -4
  146. package/dist/{LabelvalueWidget-oiW-JDw6.js.map → LabelvalueWidget-DlTkJC4i.js.map} +1 -1
  147. package/dist/{LabelvaluedescWidget-CZJ0kZN-.cjs → LabelvaluedescWidget-CUld9MqE.cjs} +2 -2
  148. package/dist/{LabelvaluedescWidget-CZJ0kZN-.cjs.map → LabelvaluedescWidget-CUld9MqE.cjs.map} +1 -1
  149. package/dist/{LabelvaluedescWidget-Ck0AJ9g0.js → LabelvaluedescWidget-dRqnGZub.js} +5 -5
  150. package/dist/{LabelvaluedescWidget-Ck0AJ9g0.js.map → LabelvaluedescWidget-dRqnGZub.js.map} +1 -1
  151. package/dist/{LabelvaluelimitsbarWidget-DjBqYxRr.cjs → LabelvaluelimitsbarWidget-Br_PXH0r.cjs} +2 -2
  152. package/dist/{LabelvaluelimitsbarWidget-DjBqYxRr.cjs.map → LabelvaluelimitsbarWidget-Br_PXH0r.cjs.map} +1 -1
  153. package/dist/{LabelvaluelimitsbarWidget-aaVLaejn.js → LabelvaluelimitsbarWidget-CS4NAPJ1.js} +4 -4
  154. package/dist/{LabelvaluelimitsbarWidget-aaVLaejn.js.map → LabelvaluelimitsbarWidget-CS4NAPJ1.js.map} +1 -1
  155. package/dist/{LabelvaluelimitscolumnWidget-Uur6aqOg.js → LabelvaluelimitscolumnWidget-D9x4Ppv8.js} +5 -5
  156. package/dist/{LabelvaluelimitscolumnWidget-Uur6aqOg.js.map → LabelvaluelimitscolumnWidget-D9x4Ppv8.js.map} +1 -1
  157. package/dist/{LabelvaluelimitscolumnWidget-GputlDZq.cjs → LabelvaluelimitscolumnWidget-DjLG10C5.cjs} +2 -2
  158. package/dist/{LabelvaluelimitscolumnWidget-GputlDZq.cjs.map → LabelvaluelimitscolumnWidget-DjLG10C5.cjs.map} +1 -1
  159. package/dist/{LabelvaluerangebarWidget-Ci-n_hxk.cjs → LabelvaluerangebarWidget-CsUfrGAM.cjs} +2 -2
  160. package/dist/{LabelvaluerangebarWidget-Ci-n_hxk.cjs.map → LabelvaluerangebarWidget-CsUfrGAM.cjs.map} +1 -1
  161. package/dist/{LabelvaluerangebarWidget-Bs9locqu.js → LabelvaluerangebarWidget-Dhyng4-n.js} +4 -4
  162. package/dist/{LabelvaluerangebarWidget-Bs9locqu.js.map → LabelvaluerangebarWidget-Dhyng4-n.js.map} +1 -1
  163. package/dist/Layout-DDktMnzb.cjs +2 -0
  164. package/dist/{Layout-kOQnicRa.cjs.map → Layout-DDktMnzb.cjs.map} +1 -1
  165. package/dist/{Layout-1z8iJV5-.js → Layout-mWR35VAD.js} +2 -2
  166. package/dist/{Layout-1z8iJV5-.js.map → Layout-mWR35VAD.js.map} +1 -1
  167. package/dist/LedWidget-CCQWCw80.cjs +2 -0
  168. package/dist/LedWidget-CCQWCw80.cjs.map +1 -0
  169. package/dist/{LedWidget-BN8IgAxJ.js → LedWidget-D8cq4pUv.js} +6 -6
  170. package/dist/LedWidget-D8cq4pUv.js.map +1 -0
  171. package/dist/{LimitsbarWidget-Co5GAHro.cjs → LimitsbarWidget-D4O0LWuC.cjs} +2 -2
  172. package/dist/{LimitsbarWidget-Co5GAHro.cjs.map → LimitsbarWidget-D4O0LWuC.cjs.map} +1 -1
  173. package/dist/{LimitsbarWidget-BxxoKTjp.js → LimitsbarWidget-VGJnDuVM.js} +2 -2
  174. package/dist/{LimitsbarWidget-BxxoKTjp.js.map → LimitsbarWidget-VGJnDuVM.js.map} +1 -1
  175. package/dist/{LimitscolorWidget-BpTcgqRC.cjs → LimitscolorWidget-BvxsopUs.cjs} +2 -2
  176. package/dist/{LimitscolorWidget-BpTcgqRC.cjs.map → LimitscolorWidget-BvxsopUs.cjs.map} +1 -1
  177. package/dist/{LimitscolorWidget-DFDwf4In.js → LimitscolorWidget-CG6Pqi12.js} +2 -2
  178. package/dist/{LimitscolorWidget-DFDwf4In.js.map → LimitscolorWidget-CG6Pqi12.js.map} +1 -1
  179. package/dist/{LimitscolumnWidget-CdBh2mJu.js → LimitscolumnWidget-DjovQdiT.js} +2 -2
  180. package/dist/{LimitscolumnWidget-CdBh2mJu.js.map → LimitscolumnWidget-DjovQdiT.js.map} +1 -1
  181. package/dist/{LimitscolumnWidget-CqJJKDzz.cjs → LimitscolumnWidget-Z9JnMlDS.cjs} +2 -2
  182. package/dist/{LimitscolumnWidget-CqJJKDzz.cjs.map → LimitscolumnWidget-Z9JnMlDS.cjs.map} +1 -1
  183. package/dist/LinegraphWidget-B_ECNLzU.cjs +2 -0
  184. package/dist/LinegraphWidget-B_ECNLzU.cjs.map +1 -0
  185. package/dist/{LinegraphWidget-jXksfbPb.js → LinegraphWidget-DSWAhXgZ.js} +13 -13
  186. package/dist/LinegraphWidget-DSWAhXgZ.js.map +1 -0
  187. package/dist/{MatrixbycolumnsWidget-DCwxPjwS.js → MatrixbycolumnsWidget-C3cuhRxz.js} +4 -4
  188. package/dist/{MatrixbycolumnsWidget-DCwxPjwS.js.map → MatrixbycolumnsWidget-C3cuhRxz.js.map} +1 -1
  189. package/dist/MatrixbycolumnsWidget-CPFzRQN5.cjs +2 -0
  190. package/dist/{MatrixbycolumnsWidget-DxRhvPGv.cjs.map → MatrixbycolumnsWidget-CPFzRQN5.cjs.map} +1 -1
  191. package/dist/{MicroservicesTab-DGaTcj-y.cjs → MicroservicesTab-BGgwT56M.cjs} +2 -2
  192. package/dist/{MicroservicesTab-DGaTcj-y.cjs.map → MicroservicesTab-BGgwT56M.cjs.map} +1 -1
  193. package/dist/{MicroservicesTab-B-SdMwek.js → MicroservicesTab-Dbp02UlV.js} +4 -4
  194. package/dist/{MicroservicesTab-B-SdMwek.js.map → MicroservicesTab-Dbp02UlV.js.map} +1 -1
  195. package/dist/Openc3Screen-BP2oW88G.cjs +6 -0
  196. package/dist/Openc3Screen-BP2oW88G.cjs.map +1 -0
  197. package/dist/{Openc3Screen-BZN0Wtrm.js → Openc3Screen-CkdegNDJ.js} +438 -310
  198. package/dist/Openc3Screen-CkdegNDJ.js.map +1 -0
  199. package/dist/{OutputDialog-CxKDhrg6.cjs → OutputDialog-2CmOBAEE.cjs} +2 -2
  200. package/dist/{OutputDialog-CxKDhrg6.cjs.map → OutputDialog-2CmOBAEE.cjs.map} +1 -1
  201. package/dist/{OutputDialog-CcSp-Uqo.js → OutputDialog-M5Xc_DqH.js} +12 -11
  202. package/dist/{OutputDialog-CcSp-Uqo.js.map → OutputDialog-M5Xc_DqH.js.map} +1 -1
  203. package/dist/PackagesTab-Dwp6g8W0.cjs +2 -0
  204. package/dist/{PackagesTab-B4V2n4io.cjs.map → PackagesTab-Dwp6g8W0.cjs.map} +1 -1
  205. package/dist/{PackagesTab-Dx25CfF0.js → PackagesTab-HQCOIGZK.js} +30 -24
  206. package/dist/{PackagesTab-Dx25CfF0.js.map → PackagesTab-HQCOIGZK.js.map} +1 -1
  207. package/dist/PluginsTab-COKDXShE.cjs +6 -0
  208. package/dist/PluginsTab-COKDXShE.cjs.map +1 -0
  209. package/dist/PluginsTab-CZApRILr.js +1288 -0
  210. package/dist/PluginsTab-CZApRILr.js.map +1 -0
  211. package/dist/{ProgressbarWidget-C0AkbX_o.cjs → ProgressbarWidget-BADSYuUN.cjs} +2 -2
  212. package/dist/{ProgressbarWidget-C0AkbX_o.cjs.map → ProgressbarWidget-BADSYuUN.cjs.map} +1 -1
  213. package/dist/{ProgressbarWidget-Cdu5nJC3.js → ProgressbarWidget-oCgAEFBO.js} +2 -2
  214. package/dist/{ProgressbarWidget-Cdu5nJC3.js.map → ProgressbarWidget-oCgAEFBO.js.map} +1 -1
  215. package/dist/{RadiobuttonWidget-DslmJO31.cjs → RadiobuttonWidget-Bklx2_Au.cjs} +2 -2
  216. package/dist/{RadiobuttonWidget-DslmJO31.cjs.map → RadiobuttonWidget-Bklx2_Au.cjs.map} +1 -1
  217. package/dist/{RadiobuttonWidget-CZZGbvdG.js → RadiobuttonWidget-D4Dak3lc.js} +2 -2
  218. package/dist/{RadiobuttonWidget-CZZGbvdG.js.map → RadiobuttonWidget-D4Dak3lc.js.map} +1 -1
  219. package/dist/{RadiogroupWidget-CQN3v8Ip.js → RadiogroupWidget-Dbe9T4fp.js} +2 -2
  220. package/dist/{RadiogroupWidget-CQN3v8Ip.js.map → RadiogroupWidget-Dbe9T4fp.js.map} +1 -1
  221. package/dist/{RadiogroupWidget-DKgBAR9E.cjs → RadiogroupWidget-Z2S2tgjG.cjs} +2 -2
  222. package/dist/{RadiogroupWidget-DKgBAR9E.cjs.map → RadiogroupWidget-Z2S2tgjG.cjs.map} +1 -1
  223. package/dist/{RangebarWidget-Tq80I5zA.cjs → RangebarWidget-C0TpxFDi.cjs} +2 -2
  224. package/dist/{RangebarWidget-Tq80I5zA.cjs.map → RangebarWidget-C0TpxFDi.cjs.map} +1 -1
  225. package/dist/{RangebarWidget-dZN9WjoZ.js → RangebarWidget-CIVrgqrW.js} +2 -2
  226. package/dist/{RangebarWidget-dZN9WjoZ.js.map → RangebarWidget-CIVrgqrW.js.map} +1 -1
  227. package/dist/{RedisTab-CkSwEwTZ.js → RedisTab-B8U-vEQZ.js} +19 -16
  228. package/dist/{RedisTab-CkSwEwTZ.js.map → RedisTab-B8U-vEQZ.js.map} +1 -1
  229. package/dist/RedisTab-cgicWb81.cjs +2 -0
  230. package/dist/{RedisTab-CdiSo-CO.cjs.map → RedisTab-cgicWb81.cjs.map} +1 -1
  231. package/dist/{RollupWidget-CHdZAUCb.cjs → RollupWidget-BEDf-mfg.cjs} +2 -2
  232. package/dist/{RollupWidget-CHdZAUCb.cjs.map → RollupWidget-BEDf-mfg.cjs.map} +1 -1
  233. package/dist/{RollupWidget-i9DnNJl6.js → RollupWidget-CH1-XNLV.js} +2 -2
  234. package/dist/{RollupWidget-i9DnNJl6.js.map → RollupWidget-CH1-XNLV.js.map} +1 -1
  235. package/dist/{RoutersTab-Cp8wM-mS.cjs → RoutersTab-BA-KlYIm.cjs} +2 -2
  236. package/dist/{RoutersTab-Cp8wM-mS.cjs.map → RoutersTab-BA-KlYIm.cjs.map} +1 -1
  237. package/dist/{RoutersTab-DiYEI1Nq.js → RoutersTab-WKa6K7B8.js} +3 -3
  238. package/dist/{RoutersTab-DiYEI1Nq.js.map → RoutersTab-WKa6K7B8.js.map} +1 -1
  239. package/dist/{ScriptChooser-Cua8ObYv.js → ScriptChooser-B5TkGuZ4.js} +2 -2
  240. package/dist/{ScriptChooser-Cua8ObYv.js.map → ScriptChooser-B5TkGuZ4.js.map} +1 -1
  241. package/dist/{ScriptChooser-BnTP6ucF.cjs → ScriptChooser-LsboGSgh.cjs} +2 -2
  242. package/dist/{ScriptChooser-BnTP6ucF.cjs.map → ScriptChooser-LsboGSgh.cjs.map} +1 -1
  243. package/dist/{ScrollwindowWidget-54GU96Ve.js → ScrollwindowWidget-BwFG6Wn8.js} +15 -15
  244. package/dist/{ScrollwindowWidget-54GU96Ve.js.map → ScrollwindowWidget-BwFG6Wn8.js.map} +1 -1
  245. package/dist/ScrollwindowWidget-DWxDmpFB.cjs +2 -0
  246. package/dist/ScrollwindowWidget-DWxDmpFB.cjs.map +1 -0
  247. package/dist/{SecretsTab-DY16usGc.cjs → SecretsTab-DKX5gLH_.cjs} +2 -2
  248. package/dist/{SecretsTab-DY16usGc.cjs.map → SecretsTab-DKX5gLH_.cjs.map} +1 -1
  249. package/dist/{SecretsTab-uWRVI1EE.js → SecretsTab-Vtvbb_1U.js} +7 -5
  250. package/dist/{SecretsTab-uWRVI1EE.js.map → SecretsTab-Vtvbb_1U.js.map} +1 -1
  251. package/dist/SettingsTab-Ch52foLm.cjs +3 -0
  252. package/dist/SettingsTab-Ch52foLm.cjs.map +1 -0
  253. package/dist/SettingsTab-DilFIQ3K.js +1817 -0
  254. package/dist/SettingsTab-DilFIQ3K.js.map +1 -0
  255. package/dist/{SignalWidget-COL8kXSJ.cjs → SignalWidget-1WqQFVq9.cjs} +2 -2
  256. package/dist/{SignalWidget-COL8kXSJ.cjs.map → SignalWidget-1WqQFVq9.cjs.map} +1 -1
  257. package/dist/{SignalWidget-B_kA9eCJ.js → SignalWidget-Gz2gHrUm.js} +2 -2
  258. package/dist/{SignalWidget-B_kA9eCJ.js.map → SignalWidget-Gz2gHrUm.js.map} +1 -1
  259. package/dist/{SimpleTextDialog-BWUqPlTv.cjs → SimpleTextDialog-BwOVWhRY.cjs} +2 -2
  260. package/dist/{SimpleTextDialog-BWUqPlTv.cjs.map → SimpleTextDialog-BwOVWhRY.cjs.map} +1 -1
  261. package/dist/{SimpleTextDialog-BulqUrdH.js → SimpleTextDialog-Cmtrmt79.js} +10 -9
  262. package/dist/{SimpleTextDialog-BulqUrdH.js.map → SimpleTextDialog-Cmtrmt79.js.map} +1 -1
  263. package/dist/{SpacerWidget-XoMPHak8.js → SpacerWidget-Bg7VDB0k.js} +2 -2
  264. package/dist/{SpacerWidget-XoMPHak8.js.map → SpacerWidget-Bg7VDB0k.js.map} +1 -1
  265. package/dist/{SpacerWidget-D_Ya_b1j.cjs → SpacerWidget-Bzp3aI40.cjs} +2 -2
  266. package/dist/{SpacerWidget-D_Ya_b1j.cjs.map → SpacerWidget-Bzp3aI40.cjs.map} +1 -1
  267. package/dist/{SparklineWidget-DQNsvEj9.js → SparklineWidget-D_b5rfJv.js} +4 -4
  268. package/dist/{SparklineWidget-DQNsvEj9.js.map → SparklineWidget-D_b5rfJv.js.map} +1 -1
  269. package/dist/{SparklineWidget-CRzXTS5z.cjs → SparklineWidget-kMWjVDrm.cjs} +2 -2
  270. package/dist/{SparklineWidget-CRzXTS5z.cjs.map → SparklineWidget-kMWjVDrm.cjs.map} +1 -1
  271. package/dist/{TabbookWidget-_HVA72t5.js → TabbookWidget-C30f9B6z.js} +2 -2
  272. package/dist/{TabbookWidget-_HVA72t5.js.map → TabbookWidget-C30f9B6z.js.map} +1 -1
  273. package/dist/{TabbookWidget-Bh-GDBXg.cjs → TabbookWidget-DlVrU3wK.cjs} +2 -2
  274. package/dist/{TabbookWidget-Bh-GDBXg.cjs.map → TabbookWidget-DlVrU3wK.cjs.map} +1 -1
  275. package/dist/{TargetsTab-BfoRYnTP.js → TargetsTab-CEPId9dL.js} +5 -4
  276. package/dist/{TargetsTab-BfoRYnTP.js.map → TargetsTab-CEPId9dL.js.map} +1 -1
  277. package/dist/{TargetsTab-CGE-jQAz.cjs → TargetsTab-uqjueXlq.cjs} +2 -2
  278. package/dist/{TargetsTab-CGE-jQAz.cjs.map → TargetsTab-uqjueXlq.cjs.map} +1 -1
  279. package/dist/{TextBoxDialog-DWt30tB8.cjs → TextBoxDialog--uIDsNPU.cjs} +2 -2
  280. package/dist/{TextBoxDialog-DWt30tB8.cjs.map → TextBoxDialog--uIDsNPU.cjs.map} +1 -1
  281. package/dist/{TextBoxDialog-C60jmnyN.js → TextBoxDialog-BlZ6MBoW.js} +4 -3
  282. package/dist/{TextBoxDialog-C60jmnyN.js.map → TextBoxDialog-BlZ6MBoW.js.map} +1 -1
  283. package/dist/{TextboxWidget-uDptDK_z.cjs → TextboxWidget-BJka_3dT.cjs} +2 -2
  284. package/dist/{TextboxWidget-uDptDK_z.cjs.map → TextboxWidget-BJka_3dT.cjs.map} +1 -1
  285. package/dist/{TextboxWidget-0JXn4bMH.js → TextboxWidget-CDqxsgys.js} +4 -4
  286. package/dist/{TextboxWidget-0JXn4bMH.js.map → TextboxWidget-CDqxsgys.js.map} +1 -1
  287. package/dist/{TextfieldWidget-B0FCskrL.cjs → TextfieldWidget-C7_48W7n.cjs} +2 -2
  288. package/dist/{TextfieldWidget-B0FCskrL.cjs.map → TextfieldWidget-C7_48W7n.cjs.map} +1 -1
  289. package/dist/{TextfieldWidget-BXr9MkVW.js → TextfieldWidget-CAyjKJs6.js} +2 -2
  290. package/dist/{TextfieldWidget-BXr9MkVW.js.map → TextfieldWidget-CAyjKJs6.js.map} +1 -1
  291. package/dist/{TimeWidget-C67uwMGH.js → TimeWidget-BQsP0G2X.js} +2 -2
  292. package/dist/{TimeWidget-C67uwMGH.js.map → TimeWidget-BQsP0G2X.js.map} +1 -1
  293. package/dist/{TimeWidget-q5tUvHC6.cjs → TimeWidget-WPWiADCI.cjs} +2 -2
  294. package/dist/{TimeWidget-q5tUvHC6.cjs.map → TimeWidget-WPWiADCI.cjs.map} +1 -1
  295. package/dist/{TitleWidget-t_YLgUMB.js → TitleWidget-DXVba53S.js} +2 -2
  296. package/dist/{TitleWidget-t_YLgUMB.js.map → TitleWidget-DXVba53S.js.map} +1 -1
  297. package/dist/{TitleWidget-REsd7MqR.cjs → TitleWidget-DavRJ5B5.cjs} +2 -2
  298. package/dist/{TitleWidget-REsd7MqR.cjs.map → TitleWidget-DavRJ5B5.cjs.map} +1 -1
  299. package/dist/{ToolsTab-DKYeIlXu.js → ToolsTab-CSmjz1H7.js} +6 -5
  300. package/dist/{ToolsTab-DKYeIlXu.js.map → ToolsTab-CSmjz1H7.js.map} +1 -1
  301. package/dist/{ToolsTab-CGztf9_j.cjs → ToolsTab-DUwXt5hn.cjs} +3 -3
  302. package/dist/{ToolsTab-CGztf9_j.cjs.map → ToolsTab-DUwXt5hn.cjs.map} +1 -1
  303. package/dist/TopBar-C5lQcY1W.cjs +2 -0
  304. package/dist/{TopBar-B0UcAtIW.cjs.map → TopBar-C5lQcY1W.cjs.map} +1 -1
  305. package/dist/{TopBar-BrCfgCxc.js → TopBar-D_2lT9RB.js} +14 -12
  306. package/dist/{TopBar-BrCfgCxc.js.map → TopBar-D_2lT9RB.js.map} +1 -1
  307. package/dist/UpgradeToEnterpriseDialog-BHDDrj0t.cjs +2 -0
  308. package/dist/{UpgradeToEnterpriseDialog-DJ3oth3I.cjs.map → UpgradeToEnterpriseDialog-BHDDrj0t.cjs.map} +1 -1
  309. package/dist/{UpgradeToEnterpriseDialog-CGyR2v7U.js → UpgradeToEnterpriseDialog-Cvt5MMTj.js} +19 -16
  310. package/dist/{UpgradeToEnterpriseDialog-CGyR2v7U.js.map → UpgradeToEnterpriseDialog-Cvt5MMTj.js.map} +1 -1
  311. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-NIAkCgU6.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js} +12491 -12383
  312. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js.map +1 -0
  313. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs +1498 -0
  314. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs.map +1 -0
  315. package/dist/VWidget-C7V6pKTg.cjs +2 -0
  316. package/dist/VWidget-C7V6pKTg.cjs.map +1 -0
  317. package/dist/{VWidget-j2GIGGSX.js → VWidget-CFTCukCL.js} +16 -10
  318. package/dist/VWidget-CFTCukCL.js.map +1 -0
  319. package/dist/{ValueWidget-CjZeSiPQ.cjs → ValueWidget-5ulSOrPw.cjs} +2 -2
  320. package/dist/{ValueWidget-CjZeSiPQ.cjs.map → ValueWidget-5ulSOrPw.cjs.map} +1 -1
  321. package/dist/{ValueWidget-3jNtnh5i.js → ValueWidget-B-TWLPdM.js} +4 -4
  322. package/dist/{ValueWidget-3jNtnh5i.js.map → ValueWidget-B-TWLPdM.js.map} +1 -1
  323. package/dist/{ValuelimitsbarWidget-CkLbRP8P.cjs → ValuelimitsbarWidget-CTFVDwcL.cjs} +2 -2
  324. package/dist/{ValuelimitsbarWidget-CkLbRP8P.cjs.map → ValuelimitsbarWidget-CTFVDwcL.cjs.map} +1 -1
  325. package/dist/{ValuelimitsbarWidget-JSceOzGS.js → ValuelimitsbarWidget-jsDXdPdC.js} +4 -4
  326. package/dist/{ValuelimitsbarWidget-JSceOzGS.js.map → ValuelimitsbarWidget-jsDXdPdC.js.map} +1 -1
  327. package/dist/{ValuelimitscolumnWidget-DpU4BoB7.cjs → ValuelimitscolumnWidget-Du3Baz6G.cjs} +2 -2
  328. package/dist/{ValuelimitscolumnWidget-DpU4BoB7.cjs.map → ValuelimitscolumnWidget-Du3Baz6G.cjs.map} +1 -1
  329. package/dist/{ValuelimitscolumnWidget-HR1TNHwQ.js → ValuelimitscolumnWidget-I-uwnXM2.js} +4 -4
  330. package/dist/{ValuelimitscolumnWidget-HR1TNHwQ.js.map → ValuelimitscolumnWidget-I-uwnXM2.js.map} +1 -1
  331. package/dist/{ValuerangebarWidget-CpZYmUl_.cjs → ValuerangebarWidget-BjXDCLm3.cjs} +2 -2
  332. package/dist/{ValuerangebarWidget-CpZYmUl_.cjs.map → ValuerangebarWidget-BjXDCLm3.cjs.map} +1 -1
  333. package/dist/{ValuerangebarWidget-DnZrho8S.js → ValuerangebarWidget-OyhSTScu.js} +4 -4
  334. package/dist/{ValuerangebarWidget-DnZrho8S.js.map → ValuerangebarWidget-OyhSTScu.js.map} +1 -1
  335. package/dist/VerticalWidget-CKDTGmhp.cjs +2 -0
  336. package/dist/{VerticalWidget-CcJMMaK_.cjs.map → VerticalWidget-CKDTGmhp.cjs.map} +1 -1
  337. package/dist/{VerticalWidget-DJvoxqLE.js → VerticalWidget-CkFbX1Gq.js} +13 -13
  338. package/dist/{VerticalWidget-DJvoxqLE.js.map → VerticalWidget-CkFbX1Gq.js.map} +1 -1
  339. package/dist/VerticalboxWidget-D09UbA0I.cjs +2 -0
  340. package/dist/{VerticalboxWidget-CJR_mOLa.cjs.map → VerticalboxWidget-D09UbA0I.cjs.map} +1 -1
  341. package/dist/{VerticalboxWidget-CYYyLBoO.js → VerticalboxWidget-FEQgPM9r.js} +13 -13
  342. package/dist/{VerticalboxWidget-CYYyLBoO.js.map → VerticalboxWidget-FEQgPM9r.js.map} +1 -1
  343. package/dist/{Widget-Bn_S-zBo.js → Widget-C3-TBgP7.js} +4 -4
  344. package/dist/Widget-C3-TBgP7.js.map +1 -0
  345. package/dist/{Widget-O7wkmc39.cjs → Widget-CSBtgNwA.cjs} +2 -2
  346. package/dist/{Widget-O7wkmc39.cjs.map → Widget-CSBtgNwA.cjs.map} +1 -1
  347. package/dist/components.cjs +3 -3
  348. package/dist/components.cjs.map +1 -1
  349. package/dist/components.js +257 -804
  350. package/dist/components.js.map +1 -1
  351. package/dist/fileIcon-BduOQcTc.cjs.map +1 -1
  352. package/dist/fileIcon-DqRHb1_Z.js.map +1 -1
  353. package/dist/format-B22VpiOS.cjs.map +1 -1
  354. package/dist/format-CVeawcIv.js.map +1 -1
  355. package/dist/icons.cjs.map +1 -1
  356. package/dist/icons.js.map +1 -1
  357. package/dist/{index-qCq0L4jN.js → index-DDjz5VQq.js} +345 -327
  358. package/dist/index-DDjz5VQq.js.map +1 -0
  359. package/dist/index-DZh4NjG5.cjs +7 -0
  360. package/dist/index-DZh4NjG5.cjs.map +1 -0
  361. package/dist/parse-DnkEsW-3.js.map +1 -1
  362. package/dist/parse-DwfgQboe.cjs.map +1 -1
  363. package/dist/plugins.cjs +2 -2
  364. package/dist/plugins.cjs.map +1 -1
  365. package/dist/plugins.js +184 -175
  366. package/dist/plugins.js.map +1 -1
  367. package/dist/settings-BboN1VLt.cjs +2 -0
  368. package/dist/settings-BboN1VLt.cjs.map +1 -0
  369. package/dist/settings-spKii1fI.js +34 -0
  370. package/dist/settings-spKii1fI.js.map +1 -0
  371. package/dist/timeFilters-BKnCM4rv.js.map +1 -1
  372. package/dist/timeFilters-CJFxfjqN.cjs.map +1 -1
  373. package/dist/tools/admin.cjs +3 -3
  374. package/dist/tools/admin.cjs.map +1 -1
  375. package/dist/tools/admin.js +90 -59
  376. package/dist/tools/admin.js.map +1 -1
  377. package/dist/tools/base.cjs +1 -1
  378. package/dist/tools/base.cjs.map +1 -1
  379. package/dist/tools/base.js +530 -474
  380. package/dist/tools/base.js.map +1 -1
  381. package/dist/tools/calendar.cjs +1 -1
  382. package/dist/tools/calendar.js +1 -1
  383. package/dist/tools/scriptrunner.cjs +7 -7
  384. package/dist/tools/scriptrunner.cjs.map +1 -1
  385. package/dist/tools/scriptrunner.js +344 -293
  386. package/dist/tools/scriptrunner.js.map +1 -1
  387. package/dist/vue-common.css +1 -1
  388. package/dist/widgets.cjs +1 -1
  389. package/dist/widgets.js +63 -63
  390. package/package.json +14 -14
  391. package/dist/ArrayplotWidget-DC41cpv1.cjs +0 -2
  392. package/dist/ArrayplotWidget-DC41cpv1.cjs.map +0 -1
  393. package/dist/ArrayplotWidget-ntRLh6-B.js.map +0 -1
  394. package/dist/CriticalCmdDialog-7tOK2XQk.cjs +0 -2
  395. package/dist/DetailsDialog-BQE0TraI.js.map +0 -1
  396. package/dist/DetailsDialog-DmKpPDNn.cjs +0 -2
  397. package/dist/DetailsDialog-DmKpPDNn.cjs.map +0 -1
  398. package/dist/EventListDialog-CDcJcxy5.cjs +0 -2
  399. package/dist/Graph-DCihpnT0.js +0 -1853
  400. package/dist/Graph-DCihpnT0.js.map +0 -1
  401. package/dist/Graph-mSqImgca.cjs +0 -2
  402. package/dist/Graph-mSqImgca.cjs.map +0 -1
  403. package/dist/GraphWidget-CQjKAMPR.cjs +0 -2
  404. package/dist/HorizontalWidget--AkRJPlL.cjs +0 -2
  405. package/dist/HorizontalboxWidget-synL-Bar.cjs +0 -2
  406. package/dist/Layout-kOQnicRa.cjs +0 -2
  407. package/dist/LedWidget-BN8IgAxJ.js.map +0 -1
  408. package/dist/LedWidget-BUTbyEBi.cjs +0 -2
  409. package/dist/LedWidget-BUTbyEBi.cjs.map +0 -1
  410. package/dist/LinegraphWidget-Bay0EtbI.cjs +0 -2
  411. package/dist/LinegraphWidget-Bay0EtbI.cjs.map +0 -1
  412. package/dist/LinegraphWidget-jXksfbPb.js.map +0 -1
  413. package/dist/MatrixbycolumnsWidget-DxRhvPGv.cjs +0 -2
  414. package/dist/Openc3Screen-BZN0Wtrm.js.map +0 -1
  415. package/dist/Openc3Screen-dtpBWZdA.cjs +0 -5
  416. package/dist/Openc3Screen-dtpBWZdA.cjs.map +0 -1
  417. package/dist/PackagesTab-B4V2n4io.cjs +0 -2
  418. package/dist/PluginsTab-DHO1tK2S.cjs +0 -6
  419. package/dist/PluginsTab-DHO1tK2S.cjs.map +0 -1
  420. package/dist/PluginsTab-lHDR5v6S.js +0 -562
  421. package/dist/PluginsTab-lHDR5v6S.js.map +0 -1
  422. package/dist/RedisTab-CdiSo-CO.cjs +0 -2
  423. package/dist/ScrollwindowWidget-C5_X-KwQ.cjs +0 -2
  424. package/dist/ScrollwindowWidget-C5_X-KwQ.cjs.map +0 -1
  425. package/dist/SettingsTab-BVnr4OtU.js +0 -1445
  426. package/dist/SettingsTab-BVnr4OtU.js.map +0 -1
  427. package/dist/SettingsTab-BkwaDhYo.cjs +0 -3
  428. package/dist/SettingsTab-BkwaDhYo.cjs.map +0 -1
  429. package/dist/TopBar-B0UcAtIW.cjs +0 -2
  430. package/dist/UpgradeToEnterpriseDialog-DJ3oth3I.cjs +0 -2
  431. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-C_HFbtFB.cjs +0 -1497
  432. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-C_HFbtFB.cjs.map +0 -1
  433. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-NIAkCgU6.js.map +0 -1
  434. package/dist/VWidget-BMxLXtSO.cjs +0 -2
  435. package/dist/VWidget-BMxLXtSO.cjs.map +0 -1
  436. package/dist/VWidget-j2GIGGSX.js.map +0 -1
  437. package/dist/VerticalWidget-CcJMMaK_.cjs +0 -2
  438. package/dist/VerticalboxWidget-CJR_mOLa.cjs +0 -2
  439. package/dist/Widget-Bn_S-zBo.js.map +0 -1
  440. package/dist/index-DcL65Mqb.cjs +0 -7
  441. package/dist/index-DcL65Mqb.cjs.map +0 -1
  442. package/dist/index-qCq0L4jN.js.map +0 -1
@@ -0,0 +1,2669 @@
1
+ import { T as F } from "./timeFilters-BKnCM4rv.js";
2
+ import { d as X, f as B, u as w, a as ee } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js";
3
+ import { resolveComponent as d, createElementBlock as V, openBlock as f, createVNode as l, createBlock as b, createCommentVNode as _, withCtx as o, createSlots as te, createTextVNode as g, toDisplayString as A, normalizeClass as J, Fragment as W, withKeys as Q, createElementVNode as k, renderList as ie, withModifiers as K, withDirectives as L, vShow as O, normalizeProps as se, guardReactiveProps as le } from "vue";
4
+ import { _ as R } from "./CustomIcon-h5X7369N.js";
5
+ import { t as j, i as Z } from "./format-CVeawcIv.js";
6
+ import { p as q } from "./parse-DnkEsW-3.js";
7
+ const ae = {
8
+ props: {
9
+ allowAll: {
10
+ type: Boolean,
11
+ default: !1
12
+ },
13
+ allowAllTargets: {
14
+ type: Boolean,
15
+ default: !1
16
+ },
17
+ allowAllArrayIndex: {
18
+ type: Boolean,
19
+ default: !1
20
+ },
21
+ buttonText: {
22
+ type: String,
23
+ default: null
24
+ },
25
+ chooseItem: {
26
+ type: Boolean,
27
+ default: !1
28
+ },
29
+ disabled: {
30
+ type: Boolean,
31
+ default: !1
32
+ },
33
+ initialTargetName: {
34
+ type: String,
35
+ default: ""
36
+ },
37
+ initialPacketName: {
38
+ type: String,
39
+ default: ""
40
+ },
41
+ initialItemName: {
42
+ type: String,
43
+ default: ""
44
+ },
45
+ selectTypes: {
46
+ type: Boolean,
47
+ default: !1
48
+ },
49
+ showLatest: {
50
+ type: Boolean,
51
+ default: !1
52
+ },
53
+ mode: {
54
+ type: String,
55
+ default: "tlm",
56
+ // TODO: add validators throughout
57
+ validator: (t) => ["cmd", "tlm"].includes(t)
58
+ },
59
+ unknown: {
60
+ type: Boolean,
61
+ default: !1
62
+ },
63
+ vertical: {
64
+ type: Boolean,
65
+ default: !1
66
+ },
67
+ hidden: {
68
+ type: Boolean,
69
+ default: !1
70
+ },
71
+ lockTarget: {
72
+ type: Boolean,
73
+ default: !1
74
+ },
75
+ lockPacket: {
76
+ type: Boolean,
77
+ default: !1
78
+ }
79
+ },
80
+ emits: ["on-set", "addItem"],
81
+ data() {
82
+ var t, e, i;
83
+ return {
84
+ targetNames: [],
85
+ selectedTargetName: (t = this.initialTargetName) == null ? void 0 : t.toUpperCase(),
86
+ packetNames: [],
87
+ selectedPacketName: (e = this.initialPacketName) == null ? void 0 : e.toUpperCase(),
88
+ itemNames: [],
89
+ selectedItemName: (i = this.initialItemName) == null ? void 0 : i.toUpperCase(),
90
+ valueTypes: ["CONVERTED", "RAW"],
91
+ selectedValueType: "CONVERTED",
92
+ reductionModes: [
93
+ // Map NONE to DECOM for clarity
94
+ { title: "NONE", value: "DECOM" },
95
+ { title: "REDUCED_MINUTE", value: "REDUCED_MINUTE" },
96
+ { title: "REDUCED_HOUR", value: "REDUCED_HOUR" },
97
+ { title: "REDUCED_DAY", value: "REDUCED_DAY" }
98
+ ],
99
+ selectedArrayIndex: null,
100
+ selectedReduced: "DECOM",
101
+ reducedTypes: ["MIN", "MAX", "AVG", "STDDEV"],
102
+ selectedReducedType: "AVG",
103
+ description: "",
104
+ hazardous: !1,
105
+ internalDisabled: !1,
106
+ packetsDisabled: !1,
107
+ itemsDisabled: !1,
108
+ api: null,
109
+ ALL: {
110
+ label: "[ ALL ]",
111
+ value: "ALL",
112
+ description: "ALL"
113
+ },
114
+ // Constant to indicate all packets or items
115
+ UNKNOWN: {
116
+ label: "[ UNKNOWN ]",
117
+ value: "UNKNOWN",
118
+ description: "UNKNOWN"
119
+ }
120
+ };
121
+ },
122
+ computed: {
123
+ actualButtonText: function() {
124
+ return this.selectedPacketName === "ALL" ? "Add Target" : this.selectedItemName === "ALL" ? "Add Packet" : this.buttonText;
125
+ },
126
+ autocompleteDisabled: function() {
127
+ return this.disabled || this.internalDisabled;
128
+ },
129
+ buttonDisabled: function() {
130
+ return this.disabled || this.internalDisabled || this.selectedTargetName === null || this.selectedPacketName === null || this.selectedItemNameWIndex === null;
131
+ },
132
+ colSize: function() {
133
+ return this.vertical ? 12 : !1;
134
+ },
135
+ selectedItemNameWIndex: function() {
136
+ return this.itemIsArray && this.selectedArrayIndex !== null && this.selectedArrayIndex !== this.ALL.label ? `${this.selectedItemName}[${this.selectedArrayIndex}]` : this.selectedItemName;
137
+ },
138
+ includeLatestPacketInDropdown: function() {
139
+ return this.showLatest && this.mode === "tlm";
140
+ },
141
+ arrayIndexes: function() {
142
+ let t = this.itemNames.findIndex(
143
+ (i) => i.value === this.selectedItemName
144
+ ), e = [...Array(this.itemNames[t].array).keys()];
145
+ return (this.allowAll || this.allowAllArrayIndex) && e.unshift(this.ALL.label), e;
146
+ },
147
+ itemIsArray: function() {
148
+ let t = this.itemNames.findIndex(
149
+ (e) => e.value === this.selectedItemName
150
+ );
151
+ return !(t === -1 || isNaN(this.itemNames[t].array));
152
+ }
153
+ },
154
+ watch: {
155
+ initialTargetName: function(t) {
156
+ t && (this.selectedTargetName = t.toUpperCase());
157
+ },
158
+ initialPacketName: function(t) {
159
+ t && (this.selectedPacketName = t.toUpperCase());
160
+ },
161
+ initialItemName: function(t) {
162
+ t && (this.selectedItemName = t.toUpperCase());
163
+ },
164
+ mode: function(t, e) {
165
+ this.selectedPacketName = null, this.selectedItemName = null, this.targetNameChanged(this.selectedTargetName);
166
+ },
167
+ chooseItem: function(t, e) {
168
+ t ? this.updateItems() : this.itemNames = [];
169
+ },
170
+ itemIsArray: function(t) {
171
+ t ? this.selectedArrayIndex || (this.selectedArrayIndex = 0) : this.selectedArrayIndex = null;
172
+ }
173
+ },
174
+ created() {
175
+ this.internalDisabled = !0, this.api = new X(), this.api.get_target_names().then((t) => {
176
+ this.targetNames = t.flatMap((e) => e == "UNKNOWN" ? [] : { label: e, value: e }), this.allowAllTargets && this.targetNames.unshift(this.ALL), this.selectedTargetName ? this.updatePackets() : (this.selectedTargetName = this.targetNames[0].value, this.targetNameChanged(this.selectedTargetName)), this.unknown && this.targetNames.push(this.UNKNOWN);
177
+ });
178
+ },
179
+ methods: {
180
+ updatePackets: function() {
181
+ if (this.selectedTargetName === "UNKNOWN") {
182
+ this.packetNames = [this.UNKNOWN], this.selectedPacketName = this.packetNames[0].value, this.updatePacketDetails(this.UNKNOWN.value), this.description = "UNKNOWN";
183
+ return;
184
+ }
185
+ if (this.selectedTargetName === "ALL") {
186
+ this.packetNames = [this.ALL], this.selectedPacketName = this.packetNames[0].value, this.updatePacketDetails(this.ALL.value), this.description = "ALL";
187
+ return;
188
+ }
189
+ this.internalDisabled = !0;
190
+ const t = this.mode === "tlm" ? "get_all_tlm_names" : "get_all_cmd_names";
191
+ this.api[t](this.selectedTargetName, this.hidden).then((e) => {
192
+ this.packetNames = e.map((n) => ({
193
+ label: n,
194
+ value: n
195
+ })), this.allowAll && this.packetNames.unshift(this.ALL), this.selectedPacketName || (this.packetNames.length === 0 ? this.selectedPacketName = null : this.selectedPacketName = this.packetNames[0].value), this.updatePacketDetails(this.selectedPacketName), this.packetNames.find((n) => n.value === this.selectedPacketName) && this.chooseItem && this.updateItems(), this.internalDisabled = !1;
196
+ });
197
+ },
198
+ updateItems: function() {
199
+ if (this.selectedPacketName !== "ALL")
200
+ if (this.internalDisabled = !0, this.selectedPacketName === "LATEST")
201
+ this.api.get_all_tlm_item_names(this.selectedTargetName).then((t) => {
202
+ this.itemNames = t.map((e) => ({
203
+ label: e,
204
+ value: e,
205
+ description: `LATEST ${e}`
206
+ // Don't handle array for LATEST
207
+ })), this.finishUpdateItems();
208
+ });
209
+ else {
210
+ const t = this.mode === "tlm" ? "get_tlm" : "get_cmd";
211
+ this.api[t](this.selectedTargetName, this.selectedPacketName).then(
212
+ (e) => {
213
+ this.itemNames = e.items.map((i) => {
214
+ let n = i.name;
215
+ return i.data_type == "DERIVED" && (n += " *"), {
216
+ label: n,
217
+ value: i.name,
218
+ description: i.description,
219
+ array: i.array_size / i.bit_size
220
+ };
221
+ }), this.itemNames.sort((i, n) => i.label > n.label ? 1 : -1), this.finishUpdateItems();
222
+ }
223
+ );
224
+ }
225
+ },
226
+ finishUpdateItems: function() {
227
+ this.allowAll && this.itemNames.unshift(this.ALL), this.selectedItemName || (this.selectedItemName = this.itemNames[0].value), this.description = this.itemNames[0].description, this.$emit("on-set", {
228
+ targetName: this.selectedTargetName,
229
+ packetName: this.selectedPacketName,
230
+ itemName: this.selectedItemNameWIndex,
231
+ valueType: this.selectedValueType,
232
+ reduced: this.selectedReduced,
233
+ reducedType: this.selectedReducedType
234
+ }), this.internalDisabled = !1;
235
+ },
236
+ targetNameChanged: function(t) {
237
+ this.selectedTargetName = t, this.selectedPacketName = "", this.selectedItemName = "", t !== null && this.updatePackets();
238
+ },
239
+ packetNameChanged: function(t) {
240
+ this.selectedItemName = "", t !== null && this.updatePacketDetails(t);
241
+ },
242
+ updatePacketDetails: function(t) {
243
+ if (t === "ALL")
244
+ this.itemsDisabled = !0, this.internalDisabled = !1;
245
+ else if (t === "LATEST")
246
+ this.itemsDisabled = !1, this.selectedPacketName = "LATEST";
247
+ else {
248
+ this.itemsDisabled = !1;
249
+ const e = this.packetNames.find((i) => t === i.value);
250
+ if (e) {
251
+ this.selectedPacketName = e.value;
252
+ const i = this.mode === "tlm" ? "get_tlm" : "get_cmd";
253
+ this.api[i](this.selectedTargetName, this.selectedPacketName).then(
254
+ (n) => {
255
+ this.description = n.description, this.hazardous = n.hazardous;
256
+ }
257
+ );
258
+ }
259
+ }
260
+ this.chooseItem ? this.updateItems() : this.$emit("on-set", {
261
+ targetName: this.selectedTargetName,
262
+ packetName: this.selectedPacketName,
263
+ itemName: this.selectedItemNameWIndex,
264
+ valueType: this.selectedValueType,
265
+ reduced: this.selectedReduced,
266
+ reducedType: this.selectedReducedType
267
+ });
268
+ },
269
+ itemNameChanged: function(t) {
270
+ const e = this.itemNames.find((i) => t === i.value);
271
+ e && (this.selectedItemName = e.value, this.description = e.description, this.$emit("on-set", {
272
+ targetName: this.selectedTargetName,
273
+ packetName: this.selectedPacketName,
274
+ itemName: this.selectedItemNameWIndex,
275
+ valueType: this.selectedValueType,
276
+ reduced: this.selectedReduced,
277
+ reducedType: this.selectedReducedType
278
+ }));
279
+ },
280
+ indexChanged: function(t) {
281
+ this.$emit("on-set", {
282
+ targetName: this.selectedTargetName,
283
+ packetName: this.selectedPacketName,
284
+ itemName: this.selectedItemNameWIndex,
285
+ valueType: this.selectedValueType,
286
+ reduced: this.selectedReduced,
287
+ reducedType: this.selectedReducedType
288
+ });
289
+ },
290
+ buttonPressed: function() {
291
+ this.selectedPacketName === "ALL" ? this.allTargetPacketItems() : this.selectedItemName === "ALL" ? this.allPacketItems() : this.chooseItem ? this.$emit("addItem", {
292
+ targetName: this.selectedTargetName,
293
+ packetName: this.selectedPacketName,
294
+ itemName: this.selectedItemNameWIndex,
295
+ valueType: this.selectedValueType,
296
+ reduced: this.selectedReduced,
297
+ reducedType: this.selectedReducedType
298
+ }) : this.$emit("addItem", {
299
+ targetName: this.selectedTargetName,
300
+ packetName: this.selectedPacketName,
301
+ valueType: this.selectedValueType,
302
+ reduced: this.selectedReduced,
303
+ reducedType: this.selectedReducedType
304
+ });
305
+ },
306
+ allTargetPacketItems: function() {
307
+ this.packetNames.forEach((t) => {
308
+ if (t === this.ALL) return;
309
+ const e = this.mode === "tlm" ? "get_tlm" : "get_cmd";
310
+ this.api[e](this.selectedTargetName, t.value).then(
311
+ (i) => {
312
+ i.items.forEach((n) => {
313
+ this.$emit("addItem", {
314
+ targetName: this.selectedTargetName,
315
+ packetName: t.value,
316
+ itemName: n.name,
317
+ valueType: this.selectedValueType,
318
+ reduced: this.selectedReduced,
319
+ reducedType: this.selectedReducedType
320
+ });
321
+ });
322
+ }
323
+ );
324
+ });
325
+ },
326
+ allPacketItems: function() {
327
+ this.itemNames.forEach((t) => {
328
+ t !== this.ALL && this.$emit("addItem", {
329
+ targetName: this.selectedTargetName,
330
+ packetName: this.selectedPacketName,
331
+ itemName: t.value,
332
+ valueType: this.selectedValueType,
333
+ reduced: this.selectedReduced,
334
+ reducedType: this.selectedReducedType
335
+ });
336
+ });
337
+ }
338
+ }
339
+ }, ne = { class: "pt-4 pb-4" };
340
+ function oe(t, e, i, n, s, a) {
341
+ const r = d("v-autocomplete"), m = d("v-col"), x = d("v-list-item"), u = d("v-divider"), y = d("v-combobox"), N = d("v-btn"), T = d("v-row");
342
+ return f(), V("div", ne, [
343
+ l(T, {
344
+ "no-gutters": !i.vertical
345
+ }, {
346
+ default: o(() => [
347
+ l(m, {
348
+ cols: a.colSize,
349
+ class: "tpic-select pr-4",
350
+ "data-test": "select-target"
351
+ }, {
352
+ default: o(() => [
353
+ l(r, {
354
+ modelValue: s.selectedTargetName,
355
+ "onUpdate:modelValue": [
356
+ e[0] || (e[0] = (c) => s.selectedTargetName = c),
357
+ a.targetNameChanged
358
+ ],
359
+ label: "Select Target",
360
+ "hide-details": "",
361
+ density: "compact",
362
+ variant: "outlined",
363
+ disabled: a.autocompleteDisabled || i.lockTarget,
364
+ items: s.targetNames,
365
+ "item-title": "label",
366
+ "item-value": "value"
367
+ }, null, 8, ["modelValue", "disabled", "items", "onUpdate:modelValue"])
368
+ ]),
369
+ _: 1
370
+ }, 8, ["cols"]),
371
+ l(m, {
372
+ cols: a.colSize,
373
+ class: "tpic-select pr-4",
374
+ "data-test": "select-packet"
375
+ }, {
376
+ default: o(() => [
377
+ l(r, {
378
+ modelValue: s.selectedPacketName,
379
+ "onUpdate:modelValue": [
380
+ e[2] || (e[2] = (c) => s.selectedPacketName = c),
381
+ a.packetNameChanged
382
+ ],
383
+ label: "Select Packet",
384
+ "hide-details": "",
385
+ density: "compact",
386
+ variant: "outlined",
387
+ disabled: s.packetsDisabled || a.autocompleteDisabled || i.lockPacket,
388
+ items: s.packetNames,
389
+ "item-title": "label",
390
+ "item-value": "value"
391
+ }, te({ _: 2 }, [
392
+ a.includeLatestPacketInDropdown ? {
393
+ name: "prepend-item",
394
+ fn: o(() => [
395
+ l(x, {
396
+ title: "LATEST",
397
+ onClick: e[1] || (e[1] = (c) => a.packetNameChanged("LATEST"))
398
+ }),
399
+ l(u)
400
+ ]),
401
+ key: "0"
402
+ } : void 0
403
+ ]), 1032, ["modelValue", "disabled", "items", "onUpdate:modelValue"])
404
+ ]),
405
+ _: 1
406
+ }, 8, ["cols"]),
407
+ i.chooseItem ? (f(), b(m, {
408
+ key: 0,
409
+ cols: a.colSize,
410
+ class: "tpic-select pr-4",
411
+ "data-test": "select-item"
412
+ }, {
413
+ default: o(() => [
414
+ l(r, {
415
+ modelValue: s.selectedItemName,
416
+ "onUpdate:modelValue": [
417
+ e[3] || (e[3] = (c) => s.selectedItemName = c),
418
+ e[4] || (e[4] = (c) => a.itemNameChanged(c))
419
+ ],
420
+ label: "Select Item",
421
+ "hide-details": "",
422
+ density: "compact",
423
+ variant: "outlined",
424
+ disabled: s.itemsDisabled || a.autocompleteDisabled,
425
+ items: s.itemNames,
426
+ "item-title": "label",
427
+ "item-value": "value"
428
+ }, null, 8, ["modelValue", "disabled", "items"])
429
+ ]),
430
+ _: 1
431
+ }, 8, ["cols"])) : _("", !0),
432
+ i.chooseItem && a.itemIsArray ? (f(), b(m, {
433
+ key: 1,
434
+ cols: "1",
435
+ class: "tpic-select pr-4",
436
+ "data-test": "array-index",
437
+ style: { "min-width": "105px" }
438
+ }, {
439
+ default: o(() => [
440
+ l(y, {
441
+ modelValue: s.selectedArrayIndex,
442
+ "onUpdate:modelValue": [
443
+ e[5] || (e[5] = (c) => s.selectedArrayIndex = c),
444
+ e[6] || (e[6] = (c) => a.indexChanged(c))
445
+ ],
446
+ label: "Index",
447
+ "hide-details": "",
448
+ density: "compact",
449
+ variant: "outlined",
450
+ disabled: s.itemsDisabled || a.autocompleteDisabled,
451
+ items: a.arrayIndexes,
452
+ "item-title": "label",
453
+ "item-value": "value"
454
+ }, null, 8, ["modelValue", "disabled", "items"])
455
+ ]),
456
+ _: 1
457
+ })) : _("", !0),
458
+ i.buttonText ? (f(), b(m, {
459
+ key: 2,
460
+ cols: a.colSize,
461
+ style: { "max-width": "140px" }
462
+ }, {
463
+ default: o(() => [
464
+ l(N, {
465
+ disabled: a.buttonDisabled,
466
+ color: "primary",
467
+ "data-test": "select-send",
468
+ onClick: a.buttonPressed
469
+ }, {
470
+ default: o(() => [
471
+ g(A(a.actualButtonText), 1)
472
+ ]),
473
+ _: 1
474
+ }, 8, ["disabled", "onClick"])
475
+ ]),
476
+ _: 1
477
+ }, 8, ["cols"])) : _("", !0)
478
+ ]),
479
+ _: 1
480
+ }, 8, ["no-gutters"]),
481
+ i.selectTypes ? (f(), b(T, {
482
+ key: 0,
483
+ class: "pt-6",
484
+ "no-gutters": ""
485
+ }, {
486
+ default: o(() => [
487
+ l(m, {
488
+ cols: a.colSize,
489
+ class: "tpic-select pr-4",
490
+ "data-test": "data-type"
491
+ }, {
492
+ default: o(() => [
493
+ l(r, {
494
+ modelValue: s.selectedValueType,
495
+ "onUpdate:modelValue": e[7] || (e[7] = (c) => s.selectedValueType = c),
496
+ label: "Value Type",
497
+ "hide-details": "",
498
+ density: "compact",
499
+ variant: "outlined",
500
+ items: s.valueTypes
501
+ }, null, 8, ["modelValue", "items"])
502
+ ]),
503
+ _: 1
504
+ }, 8, ["cols"]),
505
+ l(m, {
506
+ cols: a.colSize,
507
+ class: "tpic-select pr-4",
508
+ "data-test": "reduced"
509
+ }, {
510
+ default: o(() => [
511
+ l(r, {
512
+ modelValue: s.selectedReduced,
513
+ "onUpdate:modelValue": e[8] || (e[8] = (c) => s.selectedReduced = c),
514
+ label: "Reduced",
515
+ "hide-details": "",
516
+ density: "compact",
517
+ variant: "outlined",
518
+ items: s.reductionModes
519
+ }, null, 8, ["modelValue", "items"])
520
+ ]),
521
+ _: 1
522
+ }, 8, ["cols"]),
523
+ l(m, {
524
+ cols: a.colSize,
525
+ class: "tpic-select pr-4",
526
+ "data-test": "reduced-type"
527
+ }, {
528
+ default: o(() => [
529
+ l(r, {
530
+ modelValue: s.selectedReducedType,
531
+ "onUpdate:modelValue": e[9] || (e[9] = (c) => s.selectedReducedType = c),
532
+ label: "Reduced Type",
533
+ "hide-details": "",
534
+ density: "compact",
535
+ variant: "outlined",
536
+ disabled: s.selectedReduced === "DECOM",
537
+ items: s.reducedTypes
538
+ }, null, 8, ["modelValue", "disabled", "items"])
539
+ ]),
540
+ _: 1
541
+ }, 8, ["cols"]),
542
+ l(m, {
543
+ cols: a.colSize,
544
+ style: { "max-width": "140px" }
545
+ }, null, 8, ["cols"])
546
+ ]),
547
+ _: 1
548
+ })) : _("", !0),
549
+ l(T, {
550
+ "no-gutters": "",
551
+ class: "pa-3"
552
+ }, {
553
+ default: o(() => [
554
+ l(m, {
555
+ cols: a.colSize,
556
+ class: J({ "openc3-yellow": s.hazardous })
557
+ }, {
558
+ default: o(() => [
559
+ g(" Description: " + A(s.description) + " ", 1),
560
+ s.hazardous ? (f(), V(W, { key: 0 }, [
561
+ g(" (HAZARDOUS) ")
562
+ ], 64)) : _("", !0)
563
+ ]),
564
+ _: 1
565
+ }, 8, ["cols", "class"])
566
+ ]),
567
+ _: 1
568
+ })
569
+ ]);
570
+ }
571
+ const re = /* @__PURE__ */ R(ae, [["render", oe], ["__scopeId", "data-v-fe1b8081"]]), de = {
572
+ components: {
573
+ TargetPacketItemChooser: re
574
+ },
575
+ mixins: [F],
576
+ props: {
577
+ modelValue: Boolean,
578
+ // modelValue is the default prop when using v-model
579
+ title: {
580
+ type: String,
581
+ required: !0
582
+ },
583
+ legendPosition: {
584
+ type: String,
585
+ required: !0
586
+ },
587
+ items: {
588
+ type: Array,
589
+ required: !0
590
+ },
591
+ graphMinY: {
592
+ type: Number
593
+ },
594
+ graphMaxY: {
595
+ type: Number
596
+ },
597
+ lines: {
598
+ type: Array,
599
+ required: !0
600
+ },
601
+ colors: {
602
+ type: Array,
603
+ required: !0
604
+ },
605
+ startDateTime: {
606
+ type: Number
607
+ },
608
+ endDateTime: {
609
+ type: Number
610
+ },
611
+ timeZone: {
612
+ type: String,
613
+ required: !0
614
+ },
615
+ xAxisItemPacket: {
616
+ type: Object,
617
+ default: void 0
618
+ },
619
+ xAxisItem: {
620
+ type: String,
621
+ default: "__time"
622
+ }
623
+ },
624
+ emits: ["cancel", "ok", "remove", "update:modelValue", "update:xAxisItem"],
625
+ data: function() {
626
+ return {
627
+ tab: 0,
628
+ graph: {},
629
+ customXAxisEnabled: !1,
630
+ selectedXAxisItem: null,
631
+ pendingXAxisSelection: null,
632
+ legendPositions: ["top", "bottom", "left", "right"],
633
+ startDate: null,
634
+ startTime: null,
635
+ endDate: null,
636
+ endTime: null,
637
+ lineHeaders: [
638
+ { title: "Y Value", value: "yValue" },
639
+ { title: "Color", value: "color" },
640
+ { title: "Actions", value: "actions", sortable: !1 }
641
+ ],
642
+ itemHeaders: [
643
+ { title: "Target Name", value: "targetName" },
644
+ { title: "Packet Name", value: "packetName" },
645
+ { title: "Item Name", value: "itemName" },
646
+ { title: "Actions", value: "actions", sortable: !1 }
647
+ ],
648
+ rules: {
649
+ date: (t) => {
650
+ if (!t) return !0;
651
+ try {
652
+ return Z(q(t, "yyyy-MM-dd", /* @__PURE__ */ new Date())) || "Invalid date (YYYY-MM-DD)";
653
+ } catch {
654
+ return "Invalid date (YYYY-MM-DD)";
655
+ }
656
+ },
657
+ time: (t) => {
658
+ if (!t) return !0;
659
+ try {
660
+ return Z(q(t, "HH:mm:ss", /* @__PURE__ */ new Date())) || "Invalid time (HH:MM:SS)";
661
+ } catch {
662
+ return "Invalid time (HH:MM:SS)";
663
+ }
664
+ }
665
+ }
666
+ };
667
+ },
668
+ computed: {
669
+ show: {
670
+ get() {
671
+ return this.modelValue;
672
+ },
673
+ set(t) {
674
+ this.$emit("update:modelValue", t);
675
+ }
676
+ },
677
+ editItems: function() {
678
+ if (!this.items) return [];
679
+ let t = 0;
680
+ return this.items.map((e) => (t += 1, { ...e, itemId: t }));
681
+ },
682
+ initialXAxisItem: function() {
683
+ if (this.xAxisItem !== "__time")
684
+ return this.xAxisItem.split("__").at(4);
685
+ }
686
+ },
687
+ created() {
688
+ if (this.graph = {
689
+ title: this.title,
690
+ legendPosition: this.legendPosition,
691
+ items: this.items,
692
+ graphMinY: this.graphMinY,
693
+ graphMaxY: this.graphMaxY,
694
+ lines: [...this.lines]
695
+ }, this.customXAxisEnabled = this.xAxisItem && this.xAxisItem !== "__time", this.selectedXAxisItem = this.xAxisItem, this.startDateTime) {
696
+ let t = j(this.startDateTime / 1e6);
697
+ this.startDate = this.formatDate(t, this.timeZone), this.startTime = this.formatTimeHMS(t, this.timeZone);
698
+ } else {
699
+ let t = /* @__PURE__ */ new Date() - 36e5;
700
+ this.startDate = this.formatDate(t, this.timeZone), this.startTime = this.formatTimeHMS(t, this.timeZone);
701
+ }
702
+ if (this.endDateTime) {
703
+ let t = j(this.endDateTime / 1e6);
704
+ this.endDate = this.formatDate(t, this.timeZone), this.endTime = this.formatTimeHMS(t, this.timeZone);
705
+ }
706
+ },
707
+ methods: {
708
+ closeOk() {
709
+ this.startDate && this.startTime ? this.graph.startDateTime = this.startDate + " " + this.startTime : this.graph.startDateTime = null, this.endDate && this.endTime ? this.graph.endDateTime = this.endDate + " " + this.endTime : this.graph.endDateTime = null, this.$emit("ok", this.graph);
710
+ },
711
+ addLine() {
712
+ this.graph.lines.push({ yValue: 0, color: "white" });
713
+ },
714
+ removeLine(t) {
715
+ let e = this.graph.lines.indexOf(t);
716
+ this.graph.lines.splice(e, 1);
717
+ },
718
+ customXAxisToggled(t) {
719
+ t || (this.selectedXAxisItem = "__time", this.$emit("update:xAxisItem", "__time"));
720
+ },
721
+ xAxisItemChanged(t) {
722
+ this.pendingXAxisSelection = t;
723
+ },
724
+ xAxisItemSelected(t) {
725
+ if (t.targetName && t.packetName && t.itemName) {
726
+ const e = `DECOM__TLM__${t.targetName}__${t.packetName}__${t.itemName}__CONVERTED`;
727
+ this.selectedXAxisItem = e, this.$emit("update:xAxisItem", e);
728
+ }
729
+ }
730
+ }
731
+ }, me = { class: "edit-box" }, ue = { class: "edit-box" }, he = { class: "edit-box" }, ce = { class: "edit-box" }, pe = { class: "edit-box" };
732
+ function fe(t, e, i, n, s, a) {
733
+ const r = d("v-spacer"), m = d("v-toolbar"), x = d("v-tab"), u = d("v-tabs"), y = d("v-text-field"), N = d("v-card-text"), T = d("v-col"), c = d("v-select"), v = d("v-row"), S = d("v-tabs-window-item"), I = d("v-btn"), D = d("v-list-item"), E = d("v-list"), M = d("v-checkbox"), z = d("target-packet-item-chooser"), Y = d("v-data-table"), C = d("v-tabs-window"), G = d("v-card-actions"), p = d("v-card"), $ = d("v-dialog");
734
+ return f(), b($, {
735
+ modelValue: a.show,
736
+ "onUpdate:modelValue": e[13] || (e[13] = (h) => a.show = h),
737
+ "max-width": "700",
738
+ onKeydown: e[14] || (e[14] = Q((h) => t.$emit("cancel"), ["esc"]))
739
+ }, {
740
+ default: o(() => [
741
+ l(m, { height: "24" }, {
742
+ default: o(() => [
743
+ l(r),
744
+ e[15] || (e[15] = k("span", null, " Edit Graph ", -1)),
745
+ l(r)
746
+ ]),
747
+ _: 1,
748
+ __: [15]
749
+ }),
750
+ l(p, { class: "pa-3" }, {
751
+ default: o(() => [
752
+ l(u, {
753
+ modelValue: t.tab,
754
+ "onUpdate:modelValue": e[0] || (e[0] = (h) => t.tab = h),
755
+ class: "ml-3"
756
+ }, {
757
+ default: o(() => [
758
+ l(x, { value: "0" }, {
759
+ default: o(() => e[16] || (e[16] = [
760
+ g(" Settings ", -1)
761
+ ])),
762
+ _: 1,
763
+ __: [16]
764
+ }),
765
+ l(x, { value: "1" }, {
766
+ default: o(() => e[17] || (e[17] = [
767
+ g(" Scale / Lines ", -1)
768
+ ])),
769
+ _: 1,
770
+ __: [17]
771
+ }),
772
+ l(x, { value: "2" }, {
773
+ default: o(() => e[18] || (e[18] = [
774
+ g(" Items ", -1)
775
+ ])),
776
+ _: 1,
777
+ __: [18]
778
+ })
779
+ ]),
780
+ _: 1
781
+ }, 8, ["modelValue"]),
782
+ l(C, {
783
+ modelValue: t.tab,
784
+ "onUpdate:modelValue": e[11] || (e[11] = (h) => t.tab = h)
785
+ }, {
786
+ default: o(() => [
787
+ l(S, {
788
+ value: "0",
789
+ eager: ""
790
+ }, {
791
+ default: o(() => [
792
+ k("div", me, [
793
+ l(v, null, {
794
+ default: o(() => [
795
+ l(T, null, {
796
+ default: o(() => [
797
+ l(N, { class: "pa-0" }, {
798
+ default: o(() => [
799
+ l(y, {
800
+ modelValue: t.graph.title,
801
+ "onUpdate:modelValue": e[1] || (e[1] = (h) => t.graph.title = h),
802
+ class: "pb-2",
803
+ label: "Title",
804
+ "hide-details": ""
805
+ }, null, 8, ["modelValue"])
806
+ ]),
807
+ _: 1
808
+ })
809
+ ]),
810
+ _: 1
811
+ }),
812
+ l(T, null, {
813
+ default: o(() => [
814
+ l(c, {
815
+ modelValue: t.graph.legendPosition,
816
+ "onUpdate:modelValue": e[2] || (e[2] = (h) => t.graph.legendPosition = h),
817
+ label: "Legend Position",
818
+ "hide-details": "",
819
+ items: t.legendPositions,
820
+ style: { "max-width": "280px" }
821
+ }, null, 8, ["modelValue", "items"])
822
+ ]),
823
+ _: 1
824
+ })
825
+ ]),
826
+ _: 1
827
+ })
828
+ ]),
829
+ k("div", ue, [
830
+ l(N, { class: "pa-0" }, {
831
+ default: o(() => e[19] || (e[19] = [
832
+ g(" Select a start date/time for the graph. Leave blank for start now. ", -1)
833
+ ])),
834
+ _: 1,
835
+ __: [19]
836
+ }),
837
+ l(v, null, {
838
+ default: o(() => [
839
+ l(T, null, {
840
+ default: o(() => [
841
+ l(y, {
842
+ modelValue: t.startDate,
843
+ "onUpdate:modelValue": e[3] || (e[3] = (h) => t.startDate = h),
844
+ label: "Start Date",
845
+ name: `date${Date.now()}`,
846
+ rules: [t.rules.date],
847
+ type: "date"
848
+ }, null, 8, ["modelValue", "name", "rules"])
849
+ ]),
850
+ _: 1
851
+ }),
852
+ l(T, null, {
853
+ default: o(() => [
854
+ l(y, {
855
+ modelValue: t.startTime,
856
+ "onUpdate:modelValue": e[4] || (e[4] = (h) => t.startTime = h),
857
+ label: "Start Time",
858
+ name: `time${Date.now()}`,
859
+ rules: [t.rules.time],
860
+ type: "time",
861
+ step: "1"
862
+ }, null, 8, ["modelValue", "name", "rules"])
863
+ ]),
864
+ _: 1
865
+ })
866
+ ]),
867
+ _: 1
868
+ }),
869
+ l(N, { class: "pa-0" }, {
870
+ default: o(() => e[20] || (e[20] = [
871
+ g(" Select a end date/time for the graph. Leave blank for continuous real-time graphing. ", -1)
872
+ ])),
873
+ _: 1,
874
+ __: [20]
875
+ }),
876
+ l(v, null, {
877
+ default: o(() => [
878
+ l(T, null, {
879
+ default: o(() => [
880
+ l(y, {
881
+ modelValue: t.endDate,
882
+ "onUpdate:modelValue": e[5] || (e[5] = (h) => t.endDate = h),
883
+ label: "End Date",
884
+ name: `date${Date.now()}`,
885
+ rules: [t.rules.date],
886
+ type: "date"
887
+ }, null, 8, ["modelValue", "name", "rules"])
888
+ ]),
889
+ _: 1
890
+ }),
891
+ l(T, null, {
892
+ default: o(() => [
893
+ l(y, {
894
+ modelValue: t.endTime,
895
+ "onUpdate:modelValue": e[6] || (e[6] = (h) => t.endTime = h),
896
+ label: "End Time",
897
+ name: `time${Date.now()}`,
898
+ rules: [t.rules.time],
899
+ type: "time",
900
+ step: "1"
901
+ }, null, 8, ["modelValue", "name", "rules"])
902
+ ]),
903
+ _: 1
904
+ })
905
+ ]),
906
+ _: 1
907
+ })
908
+ ])
909
+ ]),
910
+ _: 1
911
+ }),
912
+ l(S, {
913
+ value: "1",
914
+ eager: ""
915
+ }, {
916
+ default: o(() => [
917
+ k("div", he, [
918
+ l(N, { class: "pa-0" }, {
919
+ default: o(() => e[21] || (e[21] = [
920
+ g(" Set a min or max Y value to override automatic scaling ", -1)
921
+ ])),
922
+ _: 1,
923
+ __: [21]
924
+ }),
925
+ l(v, { dense: "" }, {
926
+ default: o(() => [
927
+ l(T, { class: "px-2" }, {
928
+ default: o(() => [
929
+ l(y, {
930
+ modelValue: t.graph.graphMinY,
931
+ "onUpdate:modelValue": e[7] || (e[7] = (h) => t.graph.graphMinY = h),
932
+ "hide-details": "",
933
+ label: "Min Y Axis (Optional)",
934
+ type: "number"
935
+ }, null, 8, ["modelValue"])
936
+ ]),
937
+ _: 1
938
+ }),
939
+ l(T, { class: "px-2" }, {
940
+ default: o(() => [
941
+ l(y, {
942
+ modelValue: t.graph.graphMaxY,
943
+ "onUpdate:modelValue": e[8] || (e[8] = (h) => t.graph.graphMaxY = h),
944
+ "hide-details": "",
945
+ label: "Max Y Axis (Optional)",
946
+ type: "number"
947
+ }, null, 8, ["modelValue"])
948
+ ]),
949
+ _: 1
950
+ })
951
+ ]),
952
+ _: 1
953
+ })
954
+ ]),
955
+ k("div", ce, [
956
+ l(E, {
957
+ density: "compact",
958
+ class: "horizontal-lines"
959
+ }, {
960
+ default: o(() => [
961
+ l(D, null, {
962
+ default: o(() => [
963
+ e[23] || (e[23] = k("span", { style: { "padding-top": "5px" } }, " Add horizontal lines to the graph ", -1)),
964
+ l(r),
965
+ l(I, {
966
+ onClick: e[9] || (e[9] = (h) => a.addLine())
967
+ }, {
968
+ default: o(() => e[22] || (e[22] = [
969
+ g(" New Line ", -1)
970
+ ])),
971
+ _: 1,
972
+ __: [22]
973
+ })
974
+ ]),
975
+ _: 1,
976
+ __: [23]
977
+ }),
978
+ (f(!0), V(W, null, ie(t.graph.lines, (h, H) => (f(), b(D, {
979
+ key: H,
980
+ value: h,
981
+ color: "primary"
982
+ }, {
983
+ default: o(() => [
984
+ l(v, null, {
985
+ default: o(() => [
986
+ l(T, null, {
987
+ default: o(() => [
988
+ l(y, {
989
+ modelValue: h.yValue,
990
+ "onUpdate:modelValue": (P) => h.yValue = P,
991
+ label: "Y Value"
992
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
993
+ ]),
994
+ _: 2
995
+ }, 1024),
996
+ l(T, null, {
997
+ default: o(() => [
998
+ l(c, {
999
+ modelValue: h.color,
1000
+ "onUpdate:modelValue": (P) => h.color = P,
1001
+ label: "Color",
1002
+ "hide-details": "",
1003
+ items: i.colors
1004
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "items"])
1005
+ ]),
1006
+ _: 2
1007
+ }, 1024),
1008
+ l(T, null, {
1009
+ default: o(() => [
1010
+ l(I, {
1011
+ style: { padding: "30px" },
1012
+ icon: "mdi-delete",
1013
+ variant: "text",
1014
+ "aria-label": "Remove Line",
1015
+ onClick: (P) => a.removeLine(h)
1016
+ }, null, 8, ["onClick"])
1017
+ ]),
1018
+ _: 2
1019
+ }, 1024)
1020
+ ]),
1021
+ _: 2
1022
+ }, 1024)
1023
+ ]),
1024
+ _: 2
1025
+ }, 1032, ["value"]))), 128))
1026
+ ]),
1027
+ _: 1
1028
+ })
1029
+ ]),
1030
+ k("div", pe, [
1031
+ l(N, { class: "pa-0 text-medium-emphasis" }, {
1032
+ default: o(() => e[24] || (e[24] = [
1033
+ g(" Choose a different item to use for the graph's X axis. If unchecked, the graph will use the packet's PACKET_TIME item if it exists, otherwise it will use the system received time for the packet. ", -1)
1034
+ ])),
1035
+ _: 1,
1036
+ __: [24]
1037
+ }),
1038
+ l(M, {
1039
+ modelValue: t.customXAxisEnabled,
1040
+ "onUpdate:modelValue": [
1041
+ e[10] || (e[10] = (h) => t.customXAxisEnabled = h),
1042
+ a.customXAxisToggled
1043
+ ],
1044
+ disabled: !i.xAxisItemPacket,
1045
+ label: "Custom X axis item",
1046
+ density: "compact",
1047
+ "hide-details": ""
1048
+ }, null, 8, ["modelValue", "disabled", "onUpdate:modelValue"]),
1049
+ i.xAxisItemPacket ? _("", !0) : (f(), b(N, {
1050
+ key: 0,
1051
+ class: "pa-0 text-medium-emphasis"
1052
+ }, {
1053
+ default: o(() => e[25] || (e[25] = [
1054
+ g(" All items on the graph must be in the same packet to enable this feature. ", -1)
1055
+ ])),
1056
+ _: 1,
1057
+ __: [25]
1058
+ })),
1059
+ t.customXAxisEnabled && i.xAxisItemPacket ? (f(), b(z, {
1060
+ key: 1,
1061
+ "initial-target-name": i.xAxisItemPacket.targetName,
1062
+ "initial-packet-name": i.xAxisItemPacket.packetName,
1063
+ "initial-item-name": a.initialXAxisItem,
1064
+ "choose-item": "",
1065
+ "lock-target": "",
1066
+ "lock-packet": "",
1067
+ "button-text": "Set",
1068
+ onOnSet: a.xAxisItemChanged,
1069
+ onAddItem: a.xAxisItemSelected
1070
+ }, null, 8, ["initial-target-name", "initial-packet-name", "initial-item-name", "onOnSet", "onAddItem"])) : _("", !0)
1071
+ ])
1072
+ ]),
1073
+ _: 1
1074
+ }),
1075
+ l(S, {
1076
+ value: "2",
1077
+ eager: ""
1078
+ }, {
1079
+ default: o(() => [
1080
+ l(Y, {
1081
+ "item-key": "itemId",
1082
+ class: "elevation-1 my-2",
1083
+ "data-test": "edit-graph-items",
1084
+ headers: t.itemHeaders,
1085
+ items: a.editItems,
1086
+ "items-per-page": 5,
1087
+ "footer-props": {
1088
+ "items-per-page-options": [5]
1089
+ }
1090
+ }, {
1091
+ "item.actions": o(({ item: h }) => [
1092
+ l(I, {
1093
+ icon: "mdi-delete",
1094
+ variant: "text",
1095
+ "aria-label": "Remove Item",
1096
+ onClick: (H) => t.$emit("remove", h)
1097
+ }, null, 8, ["onClick"])
1098
+ ]),
1099
+ "no-data": o(() => e[26] || (e[26] = [
1100
+ k("span", null, " Currently no items on this graph ", -1)
1101
+ ])),
1102
+ _: 1
1103
+ }, 8, ["headers", "items"])
1104
+ ]),
1105
+ _: 1
1106
+ })
1107
+ ]),
1108
+ _: 1
1109
+ }, 8, ["modelValue"]),
1110
+ l(G, { class: "px-2" }, {
1111
+ default: o(() => [
1112
+ l(r),
1113
+ l(I, {
1114
+ variant: "outlined",
1115
+ onClick: e[12] || (e[12] = (h) => t.$emit("cancel"))
1116
+ }, {
1117
+ default: o(() => e[27] || (e[27] = [
1118
+ g(" Cancel ", -1)
1119
+ ])),
1120
+ _: 1,
1121
+ __: [27]
1122
+ }),
1123
+ l(I, {
1124
+ variant: "flat",
1125
+ onClick: a.closeOk
1126
+ }, {
1127
+ default: o(() => e[28] || (e[28] = [
1128
+ g(" Ok ", -1)
1129
+ ])),
1130
+ _: 1,
1131
+ __: [28]
1132
+ }, 8, ["onClick"])
1133
+ ]),
1134
+ _: 1
1135
+ })
1136
+ ]),
1137
+ _: 1
1138
+ })
1139
+ ]),
1140
+ _: 1
1141
+ }, 8, ["modelValue"]);
1142
+ }
1143
+ const ge = /* @__PURE__ */ R(de, [["render", fe]]), ve = {
1144
+ props: {
1145
+ modelValue: Boolean,
1146
+ item: {
1147
+ type: Object,
1148
+ required: !0
1149
+ },
1150
+ colors: {
1151
+ type: Array,
1152
+ required: !0
1153
+ }
1154
+ },
1155
+ emits: [
1156
+ "cancel",
1157
+ "changeColor",
1158
+ "changeLimits",
1159
+ "close",
1160
+ "update:modelValue"
1161
+ ],
1162
+ data: function() {
1163
+ return {
1164
+ editItem: null,
1165
+ limitsName: "NONE",
1166
+ // NONE: [] matches the default limits assigned in Graph addItems
1167
+ limits: { NONE: [] },
1168
+ valueTypes: ["CONVERTED", "RAW"],
1169
+ reduction: [
1170
+ // Map NONE to DECOM for clarity
1171
+ { title: "NONE", value: "DECOM" },
1172
+ { title: "REDUCED_MINUTE", value: "REDUCED_MINUTE" },
1173
+ { title: "REDUCED_HOUR", value: "REDUCED_HOUR" },
1174
+ { title: "REDUCED_DAY", value: "REDUCED_DAY" }
1175
+ ],
1176
+ reducedTypes: ["MIN", "MAX", "AVG", "STDDEV"]
1177
+ };
1178
+ },
1179
+ computed: {
1180
+ show: {
1181
+ get() {
1182
+ return this.modelValue;
1183
+ },
1184
+ set(t) {
1185
+ this.$emit("update:modelValue", t);
1186
+ }
1187
+ },
1188
+ limitsNames() {
1189
+ return Object.keys(this.limits);
1190
+ }
1191
+ },
1192
+ async created() {
1193
+ this.editItem = { ...this.item }, new X().get_item(this.item.targetName, this.item.packetName, this.item.itemName).then((t) => {
1194
+ for (const [e, i] of Object.entries(t.limits))
1195
+ Object.keys(i).includes("red_low") && (this.limits[e] = Object.values(i));
1196
+ this.limitsName = Object.keys(this.limits).find(
1197
+ // Little hack to compare arrays you convert them to strings
1198
+ (e) => this.limits[e] + "" == this.editItem.limits + ""
1199
+ );
1200
+ });
1201
+ }
1202
+ }, ye = { key: 0 }, be = { class: "pa-3" };
1203
+ function xe(t, e, i, n, s, a) {
1204
+ const r = d("v-card-title"), m = d("v-select"), x = d("v-card-text"), u = d("v-spacer"), y = d("v-btn"), N = d("v-card-actions"), T = d("v-card"), c = d("v-dialog");
1205
+ return f(), b(c, {
1206
+ modelValue: a.show,
1207
+ "onUpdate:modelValue": e[9] || (e[9] = (v) => a.show = v),
1208
+ width: "400",
1209
+ onKeydown: e[10] || (e[10] = Q((v) => t.success(), ["enter"]))
1210
+ }, {
1211
+ default: o(() => [
1212
+ l(T, null, {
1213
+ default: o(() => [
1214
+ l(r, { class: "mb-2" }, {
1215
+ default: o(() => e[11] || (e[11] = [
1216
+ g("Edit Item", -1)
1217
+ ])),
1218
+ _: 1,
1219
+ __: [11]
1220
+ }),
1221
+ l(x, null, {
1222
+ default: o(() => [
1223
+ l(m, {
1224
+ modelValue: t.editItem.valueType,
1225
+ "onUpdate:modelValue": e[0] || (e[0] = (v) => t.editItem.valueType = v),
1226
+ variant: "outlined",
1227
+ "hide-details": "",
1228
+ label: "Value Type",
1229
+ items: t.valueTypes,
1230
+ class: "mb-2"
1231
+ }, null, 8, ["modelValue", "items"]),
1232
+ l(m, {
1233
+ modelValue: t.editItem.reduced,
1234
+ "onUpdate:modelValue": e[1] || (e[1] = (v) => t.editItem.reduced = v),
1235
+ variant: "outlined",
1236
+ "hide-details": "",
1237
+ label: "Reduction",
1238
+ items: t.reduction,
1239
+ class: "mb-2"
1240
+ }, null, 8, ["modelValue", "items"]),
1241
+ l(m, {
1242
+ modelValue: t.editItem.reducedType,
1243
+ "onUpdate:modelValue": e[2] || (e[2] = (v) => t.editItem.reducedType = v),
1244
+ variant: "outlined",
1245
+ "hide-details": "",
1246
+ label: "Reduced Type",
1247
+ items: t.reducedTypes,
1248
+ disabled: t.editItem.reduced === "DECOM",
1249
+ class: "mb-2"
1250
+ }, null, 8, ["modelValue", "items", "disabled"]),
1251
+ l(m, {
1252
+ modelValue: t.editItem.color,
1253
+ "onUpdate:modelValue": [
1254
+ e[3] || (e[3] = (v) => t.editItem.color = v),
1255
+ e[4] || (e[4] = (v) => t.$emit("changeColor", v))
1256
+ ],
1257
+ variant: "outlined",
1258
+ "hide-details": "",
1259
+ label: "Color",
1260
+ items: i.colors,
1261
+ class: "mb-2"
1262
+ }, null, 8, ["modelValue", "items"]),
1263
+ a.limitsNames.length > 1 ? (f(), V("div", ye, [
1264
+ l(m, {
1265
+ modelValue: t.limitsName,
1266
+ "onUpdate:modelValue": [
1267
+ e[5] || (e[5] = (v) => t.limitsName = v),
1268
+ e[6] || (e[6] = (v) => t.$emit("changeLimits", t.limits[t.limitsName]))
1269
+ ],
1270
+ variant: "outlined",
1271
+ "hide-details": "",
1272
+ label: "Display Limits",
1273
+ items: a.limitsNames
1274
+ }, null, 8, ["modelValue", "items"]),
1275
+ k("div", be, A(t.limitsName) + ": " + A(t.limits[t.limitsName]), 1)
1276
+ ])) : _("", !0)
1277
+ ]),
1278
+ _: 1
1279
+ }),
1280
+ l(N, { class: "px-2" }, {
1281
+ default: o(() => [
1282
+ l(u),
1283
+ l(y, {
1284
+ variant: "outlined",
1285
+ onClick: e[7] || (e[7] = (v) => t.$emit("cancel"))
1286
+ }, {
1287
+ default: o(() => e[12] || (e[12] = [
1288
+ g(" Cancel ", -1)
1289
+ ])),
1290
+ _: 1,
1291
+ __: [12]
1292
+ }),
1293
+ l(y, {
1294
+ variant: "flat",
1295
+ onClick: e[8] || (e[8] = (v) => t.$emit("close", t.editItem))
1296
+ }, {
1297
+ default: o(() => e[13] || (e[13] = [
1298
+ g(" Ok ", -1)
1299
+ ])),
1300
+ _: 1,
1301
+ __: [13]
1302
+ })
1303
+ ]),
1304
+ _: 1
1305
+ })
1306
+ ]),
1307
+ _: 1
1308
+ })
1309
+ ]),
1310
+ _: 1
1311
+ }, 8, ["modelValue"]);
1312
+ }
1313
+ const Te = /* @__PURE__ */ R(ve, [["render", xe]]), U = "__time", Ne = {
1314
+ components: {
1315
+ GraphEditDialog: ge,
1316
+ GraphEditItemDialog: Te
1317
+ },
1318
+ mixins: [F],
1319
+ props: {
1320
+ id: {
1321
+ type: Number,
1322
+ required: !0
1323
+ },
1324
+ selectedGraphId: {
1325
+ type: Number,
1326
+ default: null
1327
+ },
1328
+ state: {
1329
+ type: String,
1330
+ required: !0
1331
+ },
1332
+ // start time in nanoseconds to start the graph
1333
+ // this allows multiple graphs to be synchronized
1334
+ startTime: {
1335
+ type: Number,
1336
+ default: null
1337
+ },
1338
+ secondsGraphed: {
1339
+ type: Number,
1340
+ required: !0
1341
+ },
1342
+ pointsSaved: {
1343
+ type: Number,
1344
+ required: !0
1345
+ },
1346
+ pointsGraphed: {
1347
+ type: Number,
1348
+ required: !0
1349
+ },
1350
+ refreshIntervalMs: {
1351
+ type: Number,
1352
+ default: 200
1353
+ },
1354
+ hideToolbar: {
1355
+ type: Boolean,
1356
+ default: !1
1357
+ },
1358
+ hideOverview: {
1359
+ type: Boolean,
1360
+ default: !1
1361
+ },
1362
+ sparkline: {
1363
+ type: Boolean,
1364
+ default: !1
1365
+ },
1366
+ initialItems: {
1367
+ type: Array,
1368
+ default: () => []
1369
+ },
1370
+ initialXAxisItem: {
1371
+ type: String,
1372
+ default: U
1373
+ },
1374
+ // These allow the parent to force a specific height and/or width
1375
+ height: {
1376
+ type: Number,
1377
+ default: null
1378
+ },
1379
+ width: {
1380
+ type: Number,
1381
+ default: null
1382
+ },
1383
+ timeZone: {
1384
+ type: String,
1385
+ default: "local"
1386
+ }
1387
+ },
1388
+ emits: [
1389
+ "click",
1390
+ "close-graph",
1391
+ "edit",
1392
+ "min-max-graph",
1393
+ "pause",
1394
+ "resize",
1395
+ "start",
1396
+ "started"
1397
+ ],
1398
+ data() {
1399
+ return {
1400
+ api: null,
1401
+ lines: [],
1402
+ active: !0,
1403
+ expand: !0,
1404
+ fullWidth: !0,
1405
+ fullHeight: !0,
1406
+ graph: null,
1407
+ editGraph: !1,
1408
+ editGraphMenu: !1,
1409
+ editGraphMenuX: 0,
1410
+ editGraphMenuY: 0,
1411
+ editItem: !1,
1412
+ itemMenu: !1,
1413
+ itemMenuX: 0,
1414
+ itemMenuY: 0,
1415
+ legendMenu: !1,
1416
+ legendMenuX: 0,
1417
+ legendMenuY: 0,
1418
+ legendPosition: "bottom",
1419
+ selectedItem: null,
1420
+ hideToolbarData: this.hideToolbar,
1421
+ showOverview: !this.hideOverview,
1422
+ hideOverviewData: this.hideOverview,
1423
+ title: "",
1424
+ overview: null,
1425
+ data: [[]],
1426
+ dataChanged: !1,
1427
+ timeout: null,
1428
+ graphMinY: null,
1429
+ graphMaxY: null,
1430
+ graphStartDateTime: null,
1431
+ graphEndDateTime: null,
1432
+ xAxisItem: this.initialXAxisItem,
1433
+ // '__time' or something like 'DECOM__TLM__INST__ADCS__RECEIVED_COUNT__CONVERTED'
1434
+ indexes: {},
1435
+ items: this.initialItems,
1436
+ graphItems: [],
1437
+ lastPlaybackDateTime: null,
1438
+ limitsValues: [],
1439
+ drawInterval: null,
1440
+ zoomChart: !1,
1441
+ zoomOverview: !1,
1442
+ cable: new ee(),
1443
+ subscription: null,
1444
+ needToUpdate: !1,
1445
+ errorDialog: !1,
1446
+ errors: [],
1447
+ colorIndex: 0,
1448
+ colors: [
1449
+ // The first 3 are taken from the Astro css definitions for
1450
+ // --color-data-visualization-1 through 3
1451
+ "#00c7cb",
1452
+ "#938bdb",
1453
+ "#4dacff",
1454
+ "lime",
1455
+ "darkorange",
1456
+ "red",
1457
+ "gold",
1458
+ "hotpink",
1459
+ "tan",
1460
+ "cyan",
1461
+ "maroon",
1462
+ "blue",
1463
+ "teal",
1464
+ "purple",
1465
+ "green",
1466
+ "brown",
1467
+ "lightblue",
1468
+ "white",
1469
+ "black"
1470
+ ]
1471
+ };
1472
+ },
1473
+ computed: {
1474
+ calcFullSize: function() {
1475
+ return this.fullWidth || this.fullHeight;
1476
+ },
1477
+ error: function() {
1478
+ return this.errorDialog && this.errors.length > 0 ? JSON.stringify(this.errors, null, 4) : null;
1479
+ },
1480
+ allowableXAxisItemPacket: function() {
1481
+ if (!this.canUseCustomXAxisItem || this.items.length === 0)
1482
+ return;
1483
+ const { targetName: t, packetName: e } = this.items[0];
1484
+ return { targetName: t, packetName: e };
1485
+ },
1486
+ canUseCustomXAxisItem: function() {
1487
+ if (this.items.length === 0)
1488
+ return !0;
1489
+ const { targetName: t, packetName: e } = this.items[0];
1490
+ return this.items.every(
1491
+ (i) => i.targetName === t && i.packetName === e
1492
+ );
1493
+ },
1494
+ actualXAxisItem: function() {
1495
+ return this.canUseCustomXAxisItem && this.xAxisItem ? this.xAxisItem : U;
1496
+ },
1497
+ xAxisConverter: function() {
1498
+ return this.xAxisIsDefault ? (t) => t / 1e9 : (t) => t;
1499
+ },
1500
+ xAxisFormatter: function() {
1501
+ return (t) => t == null ? "--" : this.xAxisIsTime ? this.formatSeconds(t, this.timeZone) : t;
1502
+ },
1503
+ xAxisLabel: function() {
1504
+ return this.xAxisIsTime ? "Time" : this.actualXAxisItem.split("__").at(-2);
1505
+ },
1506
+ xAxisIsDefault: function() {
1507
+ return this.actualXAxisItem === U;
1508
+ },
1509
+ xAxisIsTime: function() {
1510
+ const t = ["PACKET_TIMESECONDS", "RECEIVED_TIMESECONDS"];
1511
+ return this.xAxisIsDefault || t.includes(this.actualXAxisItem.split("__").at(4));
1512
+ },
1513
+ playbackMode: function() {
1514
+ return this.$store.state.playback.playbackMode;
1515
+ },
1516
+ playbackDateTime: function() {
1517
+ return this.$store.state.playback.playbackDateTime;
1518
+ },
1519
+ playbackStep: function() {
1520
+ return this.$store.state.playback.playbackStep;
1521
+ }
1522
+ },
1523
+ watch: {
1524
+ state: function(t, e) {
1525
+ switch (t) {
1526
+ case "start":
1527
+ e === "stop" && this.startGraph();
1528
+ break;
1529
+ // case 'pause': Nothing to do ... see the data function
1530
+ case "stop":
1531
+ this.stopGraph();
1532
+ break;
1533
+ }
1534
+ },
1535
+ playbackMode: function(t, e) {
1536
+ this.playbackMode === "playback" ? this.setupPlaybackMode() : (this.lastPlaybackDateTime = null, this.clearAllData(), this.startGraph());
1537
+ },
1538
+ playbackDateTime: function(t, e) {
1539
+ this.playbackMode === "playback" && (this.lastPlaybackDateTime === null || this.lastPlaybackDateTime > this.playbackDateTime ? this.clearAllData() : this.api.get_tlm_values(
1540
+ this.graphItems,
1541
+ 30,
1542
+ // stale timeout
1543
+ null,
1544
+ // no cache timeout
1545
+ this.lastPlaybackDateTime,
1546
+ // start time
1547
+ this.playbackDateTime
1548
+ // end time
1549
+ ).then((i) => {
1550
+ if (i.length > 0) {
1551
+ if (Array.isArray(i[0]) && Array.isArray(i[0][0]))
1552
+ for (let n = 0; n < i.length; n++)
1553
+ for (let s = 0; s < i[n].length; s++)
1554
+ if (s === 0) {
1555
+ let a = i[n][s][0], r = new Date(a);
1556
+ this.data[0].push(r.getTime() / 1e3);
1557
+ } else
1558
+ this.data[s].push(i[n][s][0]);
1559
+ else if (Array.isArray(i) && i.length >= 2)
1560
+ for (let n = 0; n < i.length; n++)
1561
+ if (n === 0) {
1562
+ let s = i[n][0], a = new Date(s);
1563
+ this.data[0].push(a.getTime() / 1e3);
1564
+ } else
1565
+ this.data[n].push(i[n][0]);
1566
+ }
1567
+ this.dataChanged = !0, this.updateGraphData();
1568
+ }), this.lastPlaybackDateTime = this.playbackDateTime);
1569
+ },
1570
+ data: function(t, e) {
1571
+ this.dataChanged = !0;
1572
+ },
1573
+ graphMinY: function(t, e) {
1574
+ let i = parseFloat(t);
1575
+ isNaN(i) || (this.graphMinY = i), this.setGraphRange();
1576
+ },
1577
+ graphMaxY: function(t, e) {
1578
+ let i = parseFloat(t);
1579
+ isNaN(i) || (this.graphMaxY = i), this.setGraphRange();
1580
+ },
1581
+ graphStartDateTime: function(t, e) {
1582
+ t && typeof t == "string" ? (this.graphStartDateTime = this.parseDateTime(this.graphStartDateTime, this.timeZone) * 1e6, this.graphStartDateTime !== e && (this.needToUpdate = !0)) : t === null && e && (this.graphStartDateTime = null, this.needToUpdate = !0);
1583
+ },
1584
+ graphEndDateTime: function(t, e) {
1585
+ t && typeof t == "string" ? (this.graphEndDateTime = this.parseDateTime(this.graphEndDateTime, this.timeZone) * 1e6, this.graphEndDateTime !== e && (this.needToUpdate = !0)) : t === null && e && (this.graphEndDateTime = null, this.needToUpdate = !0);
1586
+ },
1587
+ actualXAxisItem: function(t, e) {
1588
+ let i = JSON.parse(JSON.stringify(this.items));
1589
+ this.removeItems(i), this.graph.destroy(), this.chartOpts.series[0].label = this.xAxisLabel, this.chartOpts.scales.x.time = this.xAxisIsTime, this.graph = new w(
1590
+ this.chartOpts,
1591
+ this.data,
1592
+ document.getElementById(`chart${this.id}`)
1593
+ ), this.hideOverview || (this.overview.destroy(), this.overviewOpts.scales.x.time = this.xAxisIsTime, this.overview = new w(
1594
+ this.overviewOpts,
1595
+ this.data,
1596
+ document.getElementById(`overview${this.id}`)
1597
+ )), this.addItems(i);
1598
+ }
1599
+ },
1600
+ created() {
1601
+ this.api = new X(), this.title = `Graph ${this.id}`;
1602
+ for (const [t, e] of this.items.entries())
1603
+ this.data.push([]), this.indexes[this.subscriptionKey(e)] = t + 1, e.color === void 0 && (e.color = this.colors[this.colorIndex]), this.colorIndex++, this.colorIndex === this.colors.length && (this.colorIndex = 0);
1604
+ },
1605
+ mounted() {
1606
+ const { chartSeries: t, overviewSeries: e } = this.items.reduce(
1607
+ (i, n) => {
1608
+ const s = {
1609
+ spanGaps: !0
1610
+ };
1611
+ return i.chartSeries.push({
1612
+ ...s,
1613
+ item: n,
1614
+ label: this.formatLabel(n),
1615
+ stroke: (a, r) => this.items[r - 1].color,
1616
+ width: 2,
1617
+ value: (a, r) => typeof r == "string" || isNaN(r) ? "NaN" : r == null ? "--" : r.toFixed(3)
1618
+ }), i.overviewSeries.push({
1619
+ ...s
1620
+ }), i;
1621
+ },
1622
+ { chartSeries: [], overviewSeries: [] }
1623
+ );
1624
+ if (this.chartOpts = {}, this.sparkline)
1625
+ this.hideToolbarData = !0, this.hideOverviewData = !0, this.showOverview = !1, this.chartOpts = {
1626
+ width: this.width,
1627
+ height: this.height,
1628
+ pxAlign: !1,
1629
+ cursor: {
1630
+ show: !1
1631
+ },
1632
+ select: {
1633
+ show: !1
1634
+ },
1635
+ legend: {
1636
+ show: !1
1637
+ },
1638
+ scales: {
1639
+ x: {
1640
+ time: !1
1641
+ }
1642
+ },
1643
+ axes: [
1644
+ {
1645
+ show: !1
1646
+ },
1647
+ {
1648
+ show: !1
1649
+ }
1650
+ ],
1651
+ series: [
1652
+ {},
1653
+ {
1654
+ stroke: "white"
1655
+ // TODO: Light / dark theme
1656
+ }
1657
+ ]
1658
+ }, this.graph = new w(
1659
+ this.chartOpts,
1660
+ this.data,
1661
+ document.getElementById(`chart${this.id}`)
1662
+ );
1663
+ else {
1664
+ let i = Intl.DateTimeFormat().resolvedOptions().timeZone;
1665
+ this.timeZone && this.timeZone !== "local" && (i = this.timeZone), this.chartOpts = {
1666
+ ...this.getSize("chart"),
1667
+ ...this.getScales(),
1668
+ ...this.getAxes("chart"),
1669
+ // series: series, // TODO: Uncomment with the performance code
1670
+ plugins: [this.linesPlugin()],
1671
+ tzDate: (n) => w.tzDate(new Date(n * 1e3), i),
1672
+ series: [
1673
+ {
1674
+ label: this.xAxisLabel,
1675
+ value: (n, s) => this.xAxisFormatter(s)
1676
+ },
1677
+ ...t
1678
+ ],
1679
+ cursor: {
1680
+ drag: {
1681
+ x: !0,
1682
+ y: !1
1683
+ },
1684
+ // Sync the cursor across graphs so mouseovers are synced
1685
+ sync: {
1686
+ key: "openc3"
1687
+ // setSeries links graphs so clicking an item to hide it also hides the other graph item
1688
+ // setSeries: true,
1689
+ },
1690
+ bind: {
1691
+ mouseup: (n, s, a) => (r) => {
1692
+ this.state === "pause" && n.select.width === 0 && this.$emit("start"), a(r);
1693
+ }
1694
+ }
1695
+ },
1696
+ hooks: {
1697
+ setScale: [
1698
+ (n, s) => {
1699
+ if (s === "x" && !this.zoomOverview && this.overview) {
1700
+ this.zoomChart = !0;
1701
+ let a = Math.round(
1702
+ this.overview.valToPos(n.scales.x.min, "x")
1703
+ ), r = Math.round(
1704
+ this.overview.valToPos(n.scales.x.max, "x")
1705
+ );
1706
+ this.overview.setSelect({ left: a, width: r - a }), this.zoomChart = !1;
1707
+ }
1708
+ }
1709
+ ],
1710
+ setSelect: [
1711
+ (n) => {
1712
+ this.state === "start" && n.select.width > 0 && this.$emit("pause");
1713
+ }
1714
+ ],
1715
+ ready: [
1716
+ (n) => {
1717
+ n.root.querySelector(".u-over").addEventListener("contextmenu", (r) => {
1718
+ r.preventDefault(), this.itemMenu = !1, this.legendMenu = !1, this.editGraphMenuX = r.clientX, this.editGraphMenuY = r.clientY, this.editGraphMenu = !0;
1719
+ });
1720
+ let a = n.root.querySelector(".u-legend");
1721
+ a.addEventListener("contextmenu", (r) => {
1722
+ r.preventDefault(), this.editGraphMenu = !1, this.legendMenu = !1, this.itemMenuX = r.clientX, this.itemMenuY = r.clientY;
1723
+ let m = r.target.closest(".u-series"), x = Array.prototype.slice.call(a.childNodes[0].childNodes).indexOf(m), u = n.series[x];
1724
+ u.item ? (this.selectedItem = u.item, this.itemMenu = !0) : (this.itemMenu = !1, this.legendMenuX = r.clientX, this.legendMenuY = r.clientY, this.legendMenu = !0);
1725
+ }), a.querySelector("tbody").appendChild(this.$refs.info);
1726
+ }
1727
+ ]
1728
+ }
1729
+ }, this.graph = new w(
1730
+ this.chartOpts,
1731
+ this.data,
1732
+ document.getElementById(`chart${this.id}`)
1733
+ ), this.overviewOpts = {
1734
+ ...this.getSize("overview"),
1735
+ ...this.getScales(),
1736
+ ...this.getAxes("overview"),
1737
+ // series: series, // TODO: Uncomment with the performance code
1738
+ tzDate: (n) => w.tzDate(new Date(n * 1e3), i),
1739
+ series: [...e],
1740
+ cursor: {
1741
+ y: !1,
1742
+ drag: {
1743
+ setScale: !1,
1744
+ x: !0,
1745
+ y: !1
1746
+ }
1747
+ },
1748
+ legend: {
1749
+ show: !1
1750
+ },
1751
+ hooks: {
1752
+ setSelect: [
1753
+ (n) => {
1754
+ if (!this.zoomChart) {
1755
+ this.state === "start" && n.select.width > 0 && this.$emit("pause"), this.zoomOverview = !0;
1756
+ let s = n.posToVal(n.select.left, "x"), a = n.posToVal(
1757
+ n.select.left + n.select.width,
1758
+ "x"
1759
+ );
1760
+ this.graph.setScale("x", { min: s, max: a }), this.zoomOverview = !1;
1761
+ }
1762
+ }
1763
+ ]
1764
+ }
1765
+ }, this.hideOverview || (this.overview = new w(
1766
+ this.overviewOpts,
1767
+ this.data,
1768
+ document.getElementById(`overview${this.id}`)
1769
+ )), this.moveLegend(this.legendPosition), window.addEventListener("resize", this.resize);
1770
+ }
1771
+ this.playbackMode !== "playback" ? this.state !== "stop" && this.startGraph() : this.setupPlaybackMode();
1772
+ },
1773
+ beforeUnmount: function() {
1774
+ this.stopGraph(), this.cable.disconnect(), window.removeEventListener("resize", this.resize);
1775
+ },
1776
+ methods: {
1777
+ setupPlaybackMode: function() {
1778
+ this.stopGraph(), this.clearAllData();
1779
+ const t = this.items.map((e) => this.subscriptionKey(e).split("__").slice(2).join("__"));
1780
+ t.unshift("INST__HEALTH_STATUS__PACKET_TIMESECONDS__RAW"), this.api.get_tlm_available(t).then((e) => {
1781
+ this.graphItems = e, t.length != e.length && console.log(
1782
+ "Error getting tlm available",
1783
+ t,
1784
+ this.graphItems
1785
+ );
1786
+ });
1787
+ },
1788
+ startGraph: function() {
1789
+ this.subscribe(), this.timeout = setTimeout(() => {
1790
+ this.updateTimeout();
1791
+ }, this.refreshIntervalMs);
1792
+ },
1793
+ stopGraph: function() {
1794
+ this.subscription && (this.subscription.unsubscribe(), this.subscription = null), this.timeout && (clearTimeout(this.timeout), this.timeout = null);
1795
+ },
1796
+ updateTimeout: function() {
1797
+ this.updateGraphData(), this.timeout = setTimeout(() => {
1798
+ this.updateTimeout();
1799
+ }, this.refreshIntervalMs);
1800
+ },
1801
+ updateGraphData: function() {
1802
+ if (this.state === "pause" || !this.dataChanged)
1803
+ return;
1804
+ this.graph.setData(this.data), this.overview && this.overview.setData(this.data);
1805
+ let t = this.data[0][this.data[0].length - 1], e = this.data[0][this.data[0].length - this.pointsGraphed], i = this.data[0][0];
1806
+ i < t - this.secondsGraphed && (i = t - this.secondsGraphed), e > i && (i = e), this.graph.setScale("x", { min: i, max: t }), this.dataChanged = !1;
1807
+ },
1808
+ formatLabel(t) {
1809
+ if (t.valueType === "CONVERTED" && t.reduced === "DECOM")
1810
+ return t.itemName;
1811
+ {
1812
+ let e = "";
1813
+ return t.valueType !== "CONVERTED" && (e += t.valueType), t.reduced !== "DECOM" && (e !== "" && (e += " "), e += `${t.reduced.split("_")[1]} ${t.reducedType}`), `${t.itemName} (${e})`;
1814
+ }
1815
+ },
1816
+ moveLegend: function(t) {
1817
+ switch (t) {
1818
+ case "bottom":
1819
+ this.graph.root.classList.remove("side-legend"), this.graph.root.classList.remove("left-legend"), this.graph.root.classList.remove("top-legend");
1820
+ break;
1821
+ case "top":
1822
+ this.graph.root.classList.remove("side-legend"), this.graph.root.classList.remove("left-legend"), this.graph.root.classList.add("top-legend");
1823
+ break;
1824
+ case "left":
1825
+ this.graph.root.classList.remove("top-legend"), this.graph.root.classList.add("side-legend"), this.graph.root.classList.add("left-legend");
1826
+ break;
1827
+ case "right":
1828
+ this.graph.root.classList.remove("top-legend"), this.graph.root.classList.remove("left-legend"), this.graph.root.classList.add("side-legend");
1829
+ break;
1830
+ }
1831
+ this.legendPosition = t, this.resize();
1832
+ },
1833
+ clearErrors: function() {
1834
+ this.errors = [];
1835
+ },
1836
+ editGraphClose: function(t) {
1837
+ this.editGraph = !1, this.title = t.title, this.legendPosition = t.legendPosition, this.graphMinY = t.graphMinY, this.graphMaxY = t.graphMaxY, this.lines = [...t.lines], this.graphStartDateTime = t.startDateTime, this.graphEndDateTime = t.endDateTime, this.$nextTick(() => {
1838
+ if (this.needToUpdate) {
1839
+ if (this.subscription == null)
1840
+ this.startGraph();
1841
+ else {
1842
+ let e = JSON.parse(JSON.stringify(this.items));
1843
+ this.removeItems(e), setTimeout(() => {
1844
+ this.addItems(e);
1845
+ }, 0);
1846
+ }
1847
+ this.needToUpdate = !1;
1848
+ }
1849
+ }), this.moveLegend(this.legendPosition), this.$emit("edit");
1850
+ },
1851
+ resize: function() {
1852
+ this.graph.setSize(this.getSize("chart")), this.overview && this.overview.setSize(this.getSize("overview")), this.$emit("resize", this.id);
1853
+ },
1854
+ expandAll: function() {
1855
+ this.fullWidth = !0, this.fullHeight = !0, this.resize();
1856
+ },
1857
+ collapseAll: function() {
1858
+ this.fullWidth = !1, this.fullHeight = !1, this.resize();
1859
+ },
1860
+ expandWidth: function() {
1861
+ this.fullWidth = !0, this.resize();
1862
+ },
1863
+ collapseWidth: function() {
1864
+ this.fullWidth = !1, this.resize();
1865
+ },
1866
+ expandHeight: function() {
1867
+ this.fullHeight = !0, this.resize();
1868
+ },
1869
+ collapseHeight: function() {
1870
+ this.fullHeight = !1, this.resize();
1871
+ },
1872
+ minMaxTransition: function() {
1873
+ this.expand = !this.expand, this.$emit("min-max-graph", this.id);
1874
+ },
1875
+ setGraphRange: function() {
1876
+ let t = 0.1;
1877
+ (this.graphMinY || this.graphMinY === 0 || this.graphMaxY || this.graphMaxY === 0) && (t = 0), this.graph.scales.y.range = (e, i, n) => {
1878
+ let s = i;
1879
+ (this.graphMinY || this.graphMinY === 0) && (s = this.graphMinY);
1880
+ let a = n;
1881
+ return (this.graphMaxY || this.graphMaxY === 0) && (a = this.graphMaxY), w.rangeNum(s, a, t, !0);
1882
+ };
1883
+ },
1884
+ subscribe: function() {
1885
+ this.cable.createSubscription("StreamingChannel", window.openc3Scope, {
1886
+ received: (t) => this.received(t),
1887
+ connected: () => {
1888
+ const t = [...this.items];
1889
+ this.actualXAxisItem !== U && t.push(this.actualXAxisItem), this.addItemsToSubscription(t);
1890
+ },
1891
+ disconnected: (t) => {
1892
+ t.allowReconnect && this.errors.push({
1893
+ type: "disconnected",
1894
+ message: "OpenC3 backend connection disconnected",
1895
+ time: (/* @__PURE__ */ new Date()).getTime()
1896
+ });
1897
+ },
1898
+ rejected: () => {
1899
+ this.errors.push({
1900
+ type: "rejected",
1901
+ message: "OpenC3 backend connection rejected",
1902
+ time: (/* @__PURE__ */ new Date()).getTime()
1903
+ });
1904
+ }
1905
+ }).then((t) => {
1906
+ this.subscription = t;
1907
+ });
1908
+ },
1909
+ // throttle(cb, limit) {
1910
+ // let wait = false
1911
+ // return () => {
1912
+ // if (!wait) {
1913
+ // requestAnimationFrame(cb)
1914
+ // wait = true
1915
+ // setTimeout(() => {
1916
+ // wait = false
1917
+ // }, limit)
1918
+ // }
1919
+ // }
1920
+ // },
1921
+ getSize: function(t) {
1922
+ let e = 0;
1923
+ const i = document.getElementById("openc3-nav-drawer");
1924
+ i && (e = i.classList.contains(
1925
+ "v-navigation-drawer--active"
1926
+ ) ? i.clientWidth : 0);
1927
+ let n = 0;
1928
+ (this.legendPosition === "right" || this.legendPosition === "left") && (n = document.getElementsByClassName("u-legend")[0].clientWidth);
1929
+ const s = Math.max(document.documentElement.clientWidth, window.innerWidth || 0) - e - n, a = Math.max(
1930
+ document.documentElement.clientHeight,
1931
+ window.innerHeight || 0
1932
+ ), r = document.getElementsByClassName("v-expansion-panel")[0];
1933
+ let m = 100;
1934
+ t === "overview" ? this.fullHeight && !this.hideOverviewData ? this.showOverview = !0 : this.showOverview = !1 : (m = a - r.clientHeight - m - 250, this.fullHeight || (m = m / 2 + 10));
1935
+ let x = s - 70;
1936
+ return this.fullWidth || (x = x / 2 - 12), {
1937
+ width: this.width || x,
1938
+ height: this.height || m
1939
+ };
1940
+ },
1941
+ getScales: function() {
1942
+ return {
1943
+ scales: {
1944
+ x: {
1945
+ range(t, e, i) {
1946
+ return e == null ? this.xAxisIsTime ? [1566453600, 1566497660] : [0, 1] : [e, i];
1947
+ },
1948
+ time: this.xAxisIsTime
1949
+ },
1950
+ y: {
1951
+ range(t, e, i) {
1952
+ return e == null ? [-100, 100] : w.rangeNum(e, i, 0.1, !0);
1953
+ }
1954
+ }
1955
+ }
1956
+ };
1957
+ },
1958
+ getAxes: function(t) {
1959
+ let e = "rgba(255, 255, 255, .1)", i = "white";
1960
+ return {
1961
+ axes: [
1962
+ {
1963
+ stroke: i,
1964
+ grid: {
1965
+ show: !0,
1966
+ stroke: e,
1967
+ width: 2
1968
+ }
1969
+ },
1970
+ {
1971
+ size: 80,
1972
+ // This size supports values up to 8 digits plus sign
1973
+ stroke: i,
1974
+ grid: {
1975
+ show: t !== "overview",
1976
+ stroke: e,
1977
+ width: 2
1978
+ },
1979
+ // Forces the axis values to be formatted correctly
1980
+ // especially with really small or large values
1981
+ values(n, s) {
1982
+ return (s.some((a) => a >= 1e7) || s.every((a) => a < 0.01)) && (s = s.map((a) => a.toExponential(3))), s;
1983
+ }
1984
+ }
1985
+ ]
1986
+ };
1987
+ },
1988
+ closeEditItem: function(t) {
1989
+ this.editItem = !1, // If we have an end time and anything was changed we basically regraph
1990
+ (this.graphEndDateTime !== null && this.selectedItem !== t || // If we're live graphing we just regraph if the types change
1991
+ this.selectedItem.valueType !== t.valueType || this.selectedItem.reduced !== t.reduced || this.selectedItem.reducedType !== t.reducedType) && this.changeItem(t);
1992
+ },
1993
+ changeColor: function(t) {
1994
+ let e = this.subscriptionKey(this.selectedItem), i = this.indexes[e];
1995
+ this.items[i - 1].color = t, this.selectedItem.color = t, this.graph.root.querySelectorAll(".u-marker")[i].style.borderColor = t;
1996
+ },
1997
+ changeLimits: function(t) {
1998
+ let e = this.subscriptionKey(this.selectedItem), i = this.indexes[e];
1999
+ this.items[i - 1].limits = t, this.selectedItem.limits = t, this.limitsValues = t;
2000
+ },
2001
+ linesPlugin: function() {
2002
+ return {
2003
+ hooks: {
2004
+ draw: (t) => {
2005
+ const { ctx: e, bbox: i } = t, n = t.valToPos(t.scales.y.min, "y", !0), s = t.valToPos(t.scales.y.max, "y", !0), a = t.valToPos(this.limitsValues[0], "y", !0), r = t.valToPos(this.limitsValues[1], "y", !0), m = t.valToPos(this.limitsValues[2], "y", !0), x = t.valToPos(this.limitsValues[3], "y", !0);
2006
+ if (this.lines.forEach((u) => {
2007
+ t.scales.y.min <= u.yValue && u.yValue <= t.scales.y.max && (e.save(), e.beginPath(), e.strokeStyle = u.color, e.lineWidth = 2, e.moveTo(i.left, t.valToPos(u.yValue, "y", !0)), e.lineTo(
2008
+ i.left + i.width,
2009
+ t.valToPos(u.yValue, "y", !0)
2010
+ ), e.stroke(), e.restore());
2011
+ }), e.save(), e.beginPath(), e.fillStyle = "rgba(255,0,0,0.15)", t.scales.y.min < this.limitsValues[0]) {
2012
+ let u = a < s ? s : a;
2013
+ e.fillRect(i.left, a, i.width, n - u);
2014
+ }
2015
+ if (t.scales.y.max > this.limitsValues[3]) {
2016
+ let u = n < x ? n : x;
2017
+ e.fillRect(i.left, s, i.width, u - s);
2018
+ }
2019
+ if (e.fillStyle = "rgba(255,255,0,0.15)", t.scales.y.min < this.limitsValues[1] && // yellowLow
2020
+ t.scales.y.max > this.limitsValues[0]) {
2021
+ let u = r < s ? s : r;
2022
+ e.fillRect(i.left, u, i.width, a - u);
2023
+ }
2024
+ if (t.scales.y.max > this.limitsValues[2] && // yellowHigh
2025
+ t.scales.y.min < this.limitsValues[3]) {
2026
+ let u = n < x ? n : x, y = n < m ? n : m;
2027
+ e.fillRect(i.left, u, i.width, y - u);
2028
+ }
2029
+ if (e.fillStyle = "rgba(0,255,0,0.15)", this.limitsValues.length === 4) {
2030
+ if (t.scales.y.min < this.limitsValues[2] && // yellowHigh
2031
+ t.scales.y.max > this.limitsValues[1]) {
2032
+ let u = m < s ? s : m, y = n < r ? n : r;
2033
+ e.fillRect(i.left, u, i.width, y - u);
2034
+ }
2035
+ } else {
2036
+ const u = t.valToPos(this.limitsValues[4], "y", !0), y = t.valToPos(this.limitsValues[5], "y", !0);
2037
+ if (t.scales.y.min < this.limitsValues[4] && // greenLow
2038
+ t.scales.y.max > this.limitsValues[1]) {
2039
+ let c = u < s ? s : u;
2040
+ e.fillRect(i.left, c, i.width, r - c);
2041
+ }
2042
+ if (t.scales.y.max > this.limitsValues[5] && // greenHigh
2043
+ t.scales.y.min < this.limitsValues[2]) {
2044
+ let c = n < m ? n : m, v = n < y ? n : y;
2045
+ e.fillRect(i.left, c, i.width, v - c);
2046
+ }
2047
+ e.fillStyle = "rgba(0,0,255,0.15)";
2048
+ let N = y < s ? s : y, T = n < u ? n : u;
2049
+ e.fillRect(i.left, N, i.width, T - N);
2050
+ }
2051
+ e.stroke(), e.restore();
2052
+ }
2053
+ }
2054
+ };
2055
+ },
2056
+ changeItem: function(t) {
2057
+ this.removeItems([this.selectedItem]), this.selectedItem.valueType = t.valueType, this.selectedItem.reduced = t.reduced, this.selectedItem.reducedType = t.reducedType, setTimeout(() => {
2058
+ this.addItems([this.selectedItem]);
2059
+ }, 0);
2060
+ },
2061
+ addItems: function(t, e = "CONVERTED") {
2062
+ t.forEach((i) => {
2063
+ i.valueType || (i.valueType = e), i.color || (i.color = this.colors[this.colorIndex]), i.limits || (i.limits = []), i.limits.length > 0 && (this.limitsValues = i.limits), this.colorIndex = (this.colorIndex + 1) % this.colors.length, this.items.push(i);
2064
+ const n = this.data.length;
2065
+ this.graph.addSeries(this.createSeriesConfig(i), n), this.overview && this.overview.addSeries(this.createOverviewSeriesConfig(), n), this.data.splice(n, 0, Array(this.data[0].length)), this.indexes[this.subscriptionKey(i)] = n;
2066
+ }), this.updateColorIndex(t), this.xAxisIsDefault || t.push(this.actualXAxisItem), this.addItemsToSubscription(t), this.$emit("resize"), this.$emit("edit");
2067
+ },
2068
+ createSeriesConfig: function(t) {
2069
+ return {
2070
+ spanGaps: !0,
2071
+ item: t,
2072
+ label: this.formatLabel(t),
2073
+ stroke: (e, i) => this.items[i - 1].color,
2074
+ width: 2,
2075
+ value: (e, i) => typeof i == "string" || isNaN(i) ? "NaN" : i == null ? "--" : Math.abs(i) < 0.01 && i !== 0 || Math.abs(i) >= 1e7 ? i.toExponential(6) : i.toFixed(6)
2076
+ };
2077
+ },
2078
+ createOverviewSeriesConfig: function() {
2079
+ return {
2080
+ spanGaps: !0,
2081
+ stroke: (t, e) => this.items[e - 1].color
2082
+ };
2083
+ },
2084
+ updateColorIndex: function(t) {
2085
+ const e = t[t.length - 1];
2086
+ if (e) {
2087
+ const i = this.colors.indexOf(e.color);
2088
+ i !== -1 && (this.colorIndex = (i + 1) % this.colors.length);
2089
+ }
2090
+ },
2091
+ addItemsToSubscription: function(t = this.items) {
2092
+ let e = this.startTime;
2093
+ this.graphStartDateTime && (e = this.graphStartDateTime);
2094
+ const i = t.map((n) => {
2095
+ if (typeof n == "object")
2096
+ return this.subscriptionKey(n);
2097
+ if (typeof n == "string")
2098
+ return n;
2099
+ throw new Error(
2100
+ `Invalid subscription item type for ${n}: ${typeof n}`
2101
+ );
2102
+ });
2103
+ this.subscription && OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(
2104
+ (n) => {
2105
+ n && OpenC3Auth.setTokens(), this.subscription.perform("add", {
2106
+ scope: window.openc3Scope,
2107
+ token: localStorage.openc3Token,
2108
+ items: i,
2109
+ start_time: e,
2110
+ end_time: this.graphEndDateTime
2111
+ });
2112
+ }
2113
+ );
2114
+ },
2115
+ clearAllData: function() {
2116
+ this.data[0] = [], this.clearData(this.items);
2117
+ },
2118
+ clearData: function(t) {
2119
+ for (const e of t.map(this.subscriptionKey)) {
2120
+ let i = this.indexes[e];
2121
+ this.data[i] = Array(this.data[0].length).fill(null), this.graph.setData(this.data), this.overview && this.overview.setData(this.data);
2122
+ }
2123
+ this.data.length === 2 && (this.data[0] = [], this.graph.setData(this.data), this.overview && this.overview.setData(this.data));
2124
+ },
2125
+ removeItems: function(t) {
2126
+ this.removeItemsFromSubscription(t);
2127
+ for (const e of t.map(this.subscriptionKey)) {
2128
+ const i = this.reorderIndexes(e);
2129
+ this.items.splice(i - 1, 1), this.data.splice(i, 1), this.graph.delSeries(i), this.graph.setData(this.data), this.overview && (this.overview.delSeries(i), this.overview.setData(this.data));
2130
+ }
2131
+ this.data.length === 1 && (this.data[0] = [], this.graph.setData(this.data), this.overview && this.overview.setData(this.data)), this.$emit("resize"), this.$emit("edit");
2132
+ },
2133
+ removeItemsFromSubscription: function(t = this.items) {
2134
+ if (this.subscription) {
2135
+ const e = t.map((i) => {
2136
+ if (typeof i == "object")
2137
+ return this.subscriptionKey(i);
2138
+ if (typeof i == "string")
2139
+ return i;
2140
+ throw new Error(
2141
+ `Invalid subscription item type for ${i}: ${typeof i}`
2142
+ );
2143
+ });
2144
+ this.subscription.perform("remove", {
2145
+ scope: window.openc3Scope,
2146
+ token: localStorage.openc3Token,
2147
+ items: e
2148
+ });
2149
+ }
2150
+ },
2151
+ reorderIndexes: function(t) {
2152
+ let e = this.indexes[t];
2153
+ delete this.indexes[t];
2154
+ for (let i in this.indexes)
2155
+ this.indexes[i] > e && (this.indexes[i] -= 1);
2156
+ return e;
2157
+ },
2158
+ received: function(t) {
2159
+ this.cable.recordPing();
2160
+ for (let e = 0; e < t.length; e++) {
2161
+ if (!t[e].hasOwnProperty(this.actualXAxisItem))
2162
+ continue;
2163
+ let i = this.xAxisConverter(t[e][this.actualXAxisItem]), n = this.data[0].length;
2164
+ if (n === 0 || i > this.data[0][n - 1]) {
2165
+ for (let s = 0; s < this.data.length; s++)
2166
+ this.data[s].push(null);
2167
+ this.set_data_at_index(this.data[0].length - 1, i, t[e]);
2168
+ } else {
2169
+ let s = B(this.data[0], i, this.bs_comparator);
2170
+ if (s >= 0) {
2171
+ if (!Number.isFinite(i))
2172
+ throw new RangeError(`Invalid x-axis value: ${i}`);
2173
+ for (; s >= 0; )
2174
+ i -= 1e-5, s = B(this.data[0], i, this.bs_comparator);
2175
+ let a = -s - 1;
2176
+ for (let r = 0; r < this.data.length; r++)
2177
+ this.data[r].splice(a, 0, null);
2178
+ this.set_data_at_index(a, i, t[e]);
2179
+ } else {
2180
+ let a = -s - 1;
2181
+ for (let r = 0; r < this.data.length; r++)
2182
+ this.data[r].splice(a, 0, null);
2183
+ this.set_data_at_index(a, i, t[e]);
2184
+ }
2185
+ }
2186
+ }
2187
+ if (this.startTime == null && this.data[0][0]) {
2188
+ let e = this.data[0][0] * 1e9;
2189
+ this.$emit("started", e);
2190
+ }
2191
+ this.dataChanged = !0;
2192
+ },
2193
+ bs_comparator: function(t, e) {
2194
+ return t - e;
2195
+ },
2196
+ set_data_at_index: function(t, e, i) {
2197
+ this.data[0][t] = e;
2198
+ for (const [n, s] of Object.entries(i)) {
2199
+ if (n === "time" || n === this.actualXAxisItem)
2200
+ continue;
2201
+ let a = this.indexes[n];
2202
+ if (a) {
2203
+ let r = this.data[a];
2204
+ if (s != null && s.raw)
2205
+ r[t] = null;
2206
+ else if (typeof s == "string") {
2207
+ if (r[t] = null, !n.includes("__RAW")) {
2208
+ for (let m of this.items)
2209
+ if (this.subscriptionKey(m) === n) {
2210
+ this.selectedItem = m;
2211
+ break;
2212
+ }
2213
+ this.changeItem({
2214
+ valueType: "RAW",
2215
+ reduced: this.selectedItem.reduced,
2216
+ reducedType: this.selectedItem.reducedType
2217
+ });
2218
+ }
2219
+ } else
2220
+ r[t] = s;
2221
+ }
2222
+ }
2223
+ },
2224
+ subscriptionKey: function(t) {
2225
+ let e = `${t.reduced}__TLM__${t.targetName}__${t.packetName}__${t.itemName}__${t.valueType}`;
2226
+ return (t.reduced === "REDUCED_MINUTE" || t.reduced === "REDUCED_HOUR" || t.reduced === "REDUCED_DAY") && (e += `__${t.reducedType}`), e;
2227
+ }
2228
+ }
2229
+ }, ke = {
2230
+ id: "chart",
2231
+ ref: "chart",
2232
+ class: "pa-1"
2233
+ }, _e = ["id"], Ie = ["id"], De = {
2234
+ key: 5,
2235
+ ref: "info",
2236
+ class: "u-series"
2237
+ };
2238
+ function we(t, e, i, n, s, a) {
2239
+ const r = d("v-btn"), m = d("v-spacer"), x = d("v-toolbar"), u = d("v-expand-transition"), y = d("v-card"), N = d("graph-edit-dialog"), T = d("v-text-field"), c = d("v-row"), v = d("v-textarea"), S = d("v-dialog"), I = d("v-list-item-title"), D = d("v-list-item"), E = d("v-list"), M = d("v-menu"), z = d("graph-edit-item-dialog"), Y = d("v-list-subheader"), C = d("v-icon"), G = d("v-tooltip");
2240
+ return f(), V("div", {
2241
+ onClick: e[22] || (e[22] = K((p) => t.$emit("click"), ["prevent"]))
2242
+ }, [
2243
+ l(y, null, {
2244
+ default: o(() => [
2245
+ L(l(x, {
2246
+ height: "24",
2247
+ class: J(["pl-2 pr-2", i.selectedGraphId === i.id ? "active" : ""])
2248
+ }, {
2249
+ default: o(() => [
2250
+ L(l(r, {
2251
+ class: "mx-2",
2252
+ icon: "mdi-alert",
2253
+ density: "compact",
2254
+ variant: "text",
2255
+ "aria-label": "Show Errors",
2256
+ onClick: e[0] || (e[0] = () => {
2257
+ s.errorDialog = !0;
2258
+ })
2259
+ }, null, 512), [
2260
+ [O, s.errors.length !== 0]
2261
+ ]),
2262
+ l(r, {
2263
+ icon: "mdi-pencil",
2264
+ variant: "text",
2265
+ density: "compact",
2266
+ "data-test": "edit-graph-icon",
2267
+ "aria-label": "Edit Graph",
2268
+ onClick: e[1] || (e[1] = () => {
2269
+ s.editGraph = !0;
2270
+ })
2271
+ }),
2272
+ l(m),
2273
+ k("span", null, A(s.title), 1),
2274
+ l(m),
2275
+ s.expand ? (f(), V(W, { key: 0 }, [
2276
+ a.calcFullSize ? (f(), b(r, {
2277
+ key: 0,
2278
+ icon: "mdi-arrow-collapse",
2279
+ variant: "text",
2280
+ density: "compact",
2281
+ "data-test": "collapse-all",
2282
+ onClick: a.collapseAll
2283
+ }, null, 8, ["onClick"])) : (f(), b(r, {
2284
+ key: 1,
2285
+ icon: "mdi-arrow-expand",
2286
+ variant: "text",
2287
+ density: "compact",
2288
+ "data-test": "expand-all",
2289
+ onClick: a.expandAll
2290
+ }, null, 8, ["onClick"])),
2291
+ s.fullWidth ? (f(), b(r, {
2292
+ key: 2,
2293
+ icon: "mdi-arrow-collapse-horizontal",
2294
+ variant: "text",
2295
+ density: "compact",
2296
+ "data-test": "collapse-width",
2297
+ onClick: a.collapseWidth
2298
+ }, null, 8, ["onClick"])) : (f(), b(r, {
2299
+ key: 3,
2300
+ icon: "mdi-arrow-expand-horizontal",
2301
+ variant: "text",
2302
+ density: "compact",
2303
+ "data-test": "expand-width",
2304
+ onClick: a.expandWidth
2305
+ }, null, 8, ["onClick"])),
2306
+ s.fullHeight ? (f(), b(r, {
2307
+ key: 4,
2308
+ icon: "mdi-arrow-collapse-vertical",
2309
+ variant: "text",
2310
+ density: "compact",
2311
+ "data-test": "collapse-height",
2312
+ onClick: a.collapseHeight
2313
+ }, null, 8, ["onClick"])) : (f(), b(r, {
2314
+ key: 5,
2315
+ icon: "mdi-arrow-expand-vertical",
2316
+ variant: "text",
2317
+ density: "compact",
2318
+ "data-test": "expand-height",
2319
+ onClick: a.expandHeight
2320
+ }, null, 8, ["onClick"]))
2321
+ ], 64)) : _("", !0),
2322
+ s.expand ? (f(), b(r, {
2323
+ key: 1,
2324
+ icon: "mdi-window-minimize",
2325
+ variant: "text",
2326
+ density: "compact",
2327
+ "data-test": "minimize-screen-icon",
2328
+ onClick: a.minMaxTransition
2329
+ }, null, 8, ["onClick"])) : (f(), b(r, {
2330
+ key: 2,
2331
+ icon: "mdi-window-maximize",
2332
+ variant: "text",
2333
+ density: "compact",
2334
+ "data-test": "maximize-screen-icon",
2335
+ onClick: a.minMaxTransition
2336
+ }, null, 8, ["onClick"])),
2337
+ l(r, {
2338
+ icon: "mdi-close-box",
2339
+ variant: "text",
2340
+ density: "compact",
2341
+ "data-test": "close-graph-icon",
2342
+ onClick: e[2] || (e[2] = K((p) => t.$emit("close-graph"), ["stop"]))
2343
+ })
2344
+ ]),
2345
+ _: 1
2346
+ }, 8, ["class"]), [
2347
+ [O, !s.hideToolbarData]
2348
+ ]),
2349
+ l(u, null, {
2350
+ default: o(() => [
2351
+ L(k("div", ke, [
2352
+ k("div", {
2353
+ id: `chart${i.id}`
2354
+ }, null, 8, _e),
2355
+ e[23] || (e[23] = k("div", { id: "betweenCharts" }, null, -1)),
2356
+ L(k("div", {
2357
+ id: `overview${i.id}`
2358
+ }, null, 8, Ie), [
2359
+ [O, s.showOverview]
2360
+ ])
2361
+ ], 512), [
2362
+ [O, s.expand]
2363
+ ])
2364
+ ]),
2365
+ _: 1
2366
+ })
2367
+ ]),
2368
+ _: 1
2369
+ }),
2370
+ s.editGraph ? (f(), b(N, {
2371
+ key: 0,
2372
+ modelValue: s.editGraph,
2373
+ "onUpdate:modelValue": e[3] || (e[3] = (p) => s.editGraph = p),
2374
+ "x-axis-item": s.xAxisItem,
2375
+ "onUpdate:xAxisItem": e[4] || (e[4] = (p) => s.xAxisItem = p),
2376
+ title: s.title,
2377
+ "legend-position": s.legendPosition,
2378
+ items: s.items,
2379
+ "graph-min-y": s.graphMinY,
2380
+ "graph-max-y": s.graphMaxY,
2381
+ lines: s.lines,
2382
+ colors: s.colors,
2383
+ "start-date-time": s.graphStartDateTime,
2384
+ "end-date-time": s.graphEndDateTime,
2385
+ "time-zone": i.timeZone,
2386
+ "x-axis-item-packet": a.allowableXAxisItemPacket,
2387
+ onRemove: e[5] || (e[5] = (p) => a.removeItems([p])),
2388
+ onOk: a.editGraphClose,
2389
+ onCancel: e[6] || (e[6] = (p) => s.editGraph = !1)
2390
+ }, null, 8, ["modelValue", "x-axis-item", "title", "legend-position", "items", "graph-min-y", "graph-max-y", "lines", "colors", "start-date-time", "end-date-time", "time-zone", "x-axis-item-packet", "onOk"])) : _("", !0),
2391
+ l(S, {
2392
+ modelValue: s.errorDialog,
2393
+ "onUpdate:modelValue": e[8] || (e[8] = (p) => s.errorDialog = p),
2394
+ "max-width": "600"
2395
+ }, {
2396
+ default: o(() => [
2397
+ l(x, { height: "24" }, {
2398
+ default: o(() => [
2399
+ l(m),
2400
+ e[24] || (e[24] = k("span", null, " Errors ", -1)),
2401
+ l(m)
2402
+ ]),
2403
+ _: 1,
2404
+ __: [24]
2405
+ }),
2406
+ l(y, { class: "pa-3" }, {
2407
+ default: o(() => [
2408
+ l(c, { dense: "" }, {
2409
+ default: o(() => [
2410
+ l(T, {
2411
+ modelValue: s.title,
2412
+ "onUpdate:modelValue": e[7] || (e[7] = (p) => s.title = p),
2413
+ readonly: "",
2414
+ "hide-details": "",
2415
+ class: "pb-2",
2416
+ label: "Graph Title"
2417
+ }, null, 8, ["modelValue"])
2418
+ ]),
2419
+ _: 1
2420
+ }),
2421
+ l(c, { class: "my-3" }, {
2422
+ default: o(() => [
2423
+ l(v, {
2424
+ readonly: "",
2425
+ rows: "8",
2426
+ value: a.error
2427
+ }, null, 8, ["value"])
2428
+ ]),
2429
+ _: 1
2430
+ }),
2431
+ l(c, null, {
2432
+ default: o(() => [
2433
+ l(r, {
2434
+ block: "",
2435
+ onClick: a.clearErrors
2436
+ }, {
2437
+ default: o(() => e[25] || (e[25] = [
2438
+ g(" Clear ", -1)
2439
+ ])),
2440
+ _: 1,
2441
+ __: [25]
2442
+ }, 8, ["onClick"])
2443
+ ]),
2444
+ _: 1
2445
+ })
2446
+ ]),
2447
+ _: 1
2448
+ })
2449
+ ]),
2450
+ _: 1
2451
+ }, 8, ["modelValue"]),
2452
+ s.editGraphMenu ? (f(), b(M, {
2453
+ key: 1,
2454
+ modelValue: s.editGraphMenu,
2455
+ "onUpdate:modelValue": e[10] || (e[10] = (p) => s.editGraphMenu = p),
2456
+ target: [s.editGraphMenuX, s.editGraphMenuY],
2457
+ absolute: "",
2458
+ "offset-y": ""
2459
+ }, {
2460
+ default: o(() => [
2461
+ l(E, null, {
2462
+ default: o(() => [
2463
+ l(D, {
2464
+ onClick: e[9] || (e[9] = (p) => s.editGraph = !0)
2465
+ }, {
2466
+ default: o(() => [
2467
+ l(I, { style: { cursor: "pointer" } }, {
2468
+ default: o(() => [
2469
+ g(" Edit " + A(s.title), 1)
2470
+ ]),
2471
+ _: 1
2472
+ })
2473
+ ]),
2474
+ _: 1
2475
+ })
2476
+ ]),
2477
+ _: 1
2478
+ })
2479
+ ]),
2480
+ _: 1
2481
+ }, 8, ["modelValue", "target"])) : _("", !0),
2482
+ s.editItem ? (f(), b(z, {
2483
+ key: 2,
2484
+ modelValue: s.editItem,
2485
+ "onUpdate:modelValue": e[11] || (e[11] = (p) => s.editItem = p),
2486
+ colors: s.colors,
2487
+ item: s.selectedItem,
2488
+ onChangeColor: a.changeColor,
2489
+ onChangeLimits: a.changeLimits,
2490
+ onCancel: e[12] || (e[12] = (p) => s.editItem = !1),
2491
+ onClose: a.closeEditItem
2492
+ }, null, 8, ["modelValue", "colors", "item", "onChangeColor", "onChangeLimits", "onClose"])) : _("", !0),
2493
+ s.itemMenu ? (f(), b(M, {
2494
+ key: 3,
2495
+ modelValue: s.itemMenu,
2496
+ "onUpdate:modelValue": e[16] || (e[16] = (p) => s.itemMenu = p),
2497
+ target: [s.itemMenuX, s.itemMenuY],
2498
+ absolute: "",
2499
+ "offset-y": ""
2500
+ }, {
2501
+ default: o(() => [
2502
+ l(E, {
2503
+ nav: "",
2504
+ density: "compact"
2505
+ }, {
2506
+ default: o(() => [
2507
+ l(Y, null, {
2508
+ default: o(() => [
2509
+ g(A(s.selectedItem.targetName) + " " + A(s.selectedItem.packetName) + " " + A(s.selectedItem.itemName), 1)
2510
+ ]),
2511
+ _: 1
2512
+ }),
2513
+ l(D, {
2514
+ onClick: e[13] || (e[13] = (p) => s.editItem = !0)
2515
+ }, {
2516
+ prepend: o(() => [
2517
+ l(C, { icon: "mdi-pencil" })
2518
+ ]),
2519
+ default: o(() => [
2520
+ l(I, null, {
2521
+ default: o(() => e[26] || (e[26] = [
2522
+ g(" Edit ", -1)
2523
+ ])),
2524
+ _: 1,
2525
+ __: [26]
2526
+ })
2527
+ ]),
2528
+ _: 1
2529
+ }),
2530
+ l(D, {
2531
+ onClick: e[14] || (e[14] = (p) => a.clearData([s.selectedItem]))
2532
+ }, {
2533
+ prepend: o(() => [
2534
+ l(C, { icon: "mdi-eraser" })
2535
+ ]),
2536
+ default: o(() => [
2537
+ l(I, null, {
2538
+ default: o(() => e[27] || (e[27] = [
2539
+ g(" Clear ", -1)
2540
+ ])),
2541
+ _: 1,
2542
+ __: [27]
2543
+ })
2544
+ ]),
2545
+ _: 1
2546
+ }),
2547
+ l(D, {
2548
+ onClick: e[15] || (e[15] = (p) => a.removeItems([s.selectedItem]))
2549
+ }, {
2550
+ prepend: o(() => [
2551
+ l(C, { icon: "mdi-delete" })
2552
+ ]),
2553
+ default: o(() => [
2554
+ l(I, null, {
2555
+ default: o(() => e[28] || (e[28] = [
2556
+ g(" Delete ", -1)
2557
+ ])),
2558
+ _: 1,
2559
+ __: [28]
2560
+ })
2561
+ ]),
2562
+ _: 1
2563
+ })
2564
+ ]),
2565
+ _: 1
2566
+ })
2567
+ ]),
2568
+ _: 1
2569
+ }, 8, ["modelValue", "target"])) : _("", !0),
2570
+ s.legendMenu ? (f(), b(M, {
2571
+ key: 4,
2572
+ modelValue: s.legendMenu,
2573
+ "onUpdate:modelValue": e[21] || (e[21] = (p) => s.legendMenu = p),
2574
+ target: [s.legendMenuX, s.legendMenuY],
2575
+ absolute: "",
2576
+ "offset-y": ""
2577
+ }, {
2578
+ default: o(() => [
2579
+ l(E, null, {
2580
+ default: o(() => [
2581
+ l(D, {
2582
+ onClick: e[17] || (e[17] = (p) => a.moveLegend("top"))
2583
+ }, {
2584
+ default: o(() => [
2585
+ l(I, { style: { cursor: "pointer" } }, {
2586
+ default: o(() => e[29] || (e[29] = [
2587
+ g(" Legend Top ", -1)
2588
+ ])),
2589
+ _: 1,
2590
+ __: [29]
2591
+ })
2592
+ ]),
2593
+ _: 1
2594
+ }),
2595
+ l(D, {
2596
+ onClick: e[18] || (e[18] = (p) => a.moveLegend("bottom"))
2597
+ }, {
2598
+ default: o(() => [
2599
+ l(I, { style: { cursor: "pointer" } }, {
2600
+ default: o(() => e[30] || (e[30] = [
2601
+ g(" Legend Bottom ", -1)
2602
+ ])),
2603
+ _: 1,
2604
+ __: [30]
2605
+ })
2606
+ ]),
2607
+ _: 1
2608
+ }),
2609
+ l(D, {
2610
+ onClick: e[19] || (e[19] = (p) => a.moveLegend("left"))
2611
+ }, {
2612
+ default: o(() => [
2613
+ l(I, { style: { cursor: "pointer" } }, {
2614
+ default: o(() => e[31] || (e[31] = [
2615
+ g(" Legend Left ", -1)
2616
+ ])),
2617
+ _: 1,
2618
+ __: [31]
2619
+ })
2620
+ ]),
2621
+ _: 1
2622
+ }),
2623
+ l(D, {
2624
+ onClick: e[20] || (e[20] = (p) => a.moveLegend("right"))
2625
+ }, {
2626
+ default: o(() => [
2627
+ l(I, { style: { cursor: "pointer" } }, {
2628
+ default: o(() => e[32] || (e[32] = [
2629
+ g(" Legend RIght ", -1)
2630
+ ])),
2631
+ _: 1,
2632
+ __: [32]
2633
+ })
2634
+ ]),
2635
+ _: 1
2636
+ })
2637
+ ]),
2638
+ _: 1
2639
+ })
2640
+ ]),
2641
+ _: 1
2642
+ }, 8, ["modelValue", "target"])) : _("", !0),
2643
+ i.sparkline ? _("", !0) : (f(), V("div", De, [
2644
+ l(G, {
2645
+ text: "Click item to toggle, Right click to edit",
2646
+ location: "top"
2647
+ }, {
2648
+ activator: o(({ props: p }) => [
2649
+ l(C, se(le(p)), {
2650
+ default: o(() => e[33] || (e[33] = [
2651
+ g(" mdi-information-variant-circle ", -1)
2652
+ ])),
2653
+ _: 2,
2654
+ __: [33]
2655
+ }, 1040)
2656
+ ]),
2657
+ _: 1
2658
+ })
2659
+ ], 512))
2660
+ ]);
2661
+ }
2662
+ const Pe = /* @__PURE__ */ R(Ne, [["render", we], ["__scopeId", "data-v-f2b1570f"]]);
2663
+ export {
2664
+ Pe as G,
2665
+ re as T,
2666
+ ge as a,
2667
+ Te as b
2668
+ };
2669
+ //# sourceMappingURL=Graph-BiU56Qj2.js.map