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