@openc3/vue-common 7.0.0 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/dist/{ArrayWidget-BsAUsmBz.cjs → ArrayWidget-BHjh3qLF.cjs} +2 -2
  2. package/dist/{ArrayWidget-BsAUsmBz.cjs.map → ArrayWidget-BHjh3qLF.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-D2UrA5Db.js → ArrayWidget-Dh6zDiC7.js} +6 -6
  4. package/dist/{ArrayWidget-D2UrA5Db.js.map → ArrayWidget-Dh6zDiC7.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-ChHMy5_L.cjs → ArrayplotWidget-BHD-TGQO.cjs} +2 -2
  6. package/dist/{ArrayplotWidget-ChHMy5_L.cjs.map → ArrayplotWidget-BHD-TGQO.cjs.map} +1 -1
  7. package/dist/{ArrayplotWidget-CDNRxI2F.js → ArrayplotWidget-CSc_TqNm.js} +6 -6
  8. package/dist/{ArrayplotWidget-CDNRxI2F.js.map → ArrayplotWidget-CSc_TqNm.js.map} +1 -1
  9. package/dist/{BarColumn-nSFR2LZF.js → BarColumn-DmjMnw5l.js} +3 -3
  10. package/dist/{BarColumn-nSFR2LZF.js.map → BarColumn-DmjMnw5l.js.map} +1 -1
  11. package/dist/{BarColumn-e-sSkSvE.cjs → BarColumn-Ym4P8YHC.cjs} +2 -2
  12. package/dist/{BarColumn-e-sSkSvE.cjs.map → BarColumn-Ym4P8YHC.cjs.map} +1 -1
  13. package/dist/{BlockWidget-C-WB0Q2m.js → BlockWidget-BdR_HCVc.js} +6 -6
  14. package/dist/{BlockWidget-C-WB0Q2m.js.map → BlockWidget-BdR_HCVc.js.map} +1 -1
  15. package/dist/{BlockWidget-DJpyQiec.cjs → BlockWidget-Bi1PfS1k.cjs} +2 -2
  16. package/dist/{BlockWidget-DJpyQiec.cjs.map → BlockWidget-Bi1PfS1k.cjs.map} +1 -1
  17. package/dist/{ButtonWidget-rkOE5b8G.cjs → ButtonWidget-70hNWuEy.cjs} +2 -2
  18. package/dist/{ButtonWidget-rkOE5b8G.cjs.map → ButtonWidget-70hNWuEy.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-rS7sVb7m.js → ButtonWidget-DZ4VCNWU.js} +6 -6
  20. package/dist/{ButtonWidget-rS7sVb7m.js.map → ButtonWidget-DZ4VCNWU.js.map} +1 -1
  21. package/dist/{CanvasWidget-Dv7_QUJY.cjs → CanvasWidget-DTEx-DpZ.cjs} +2 -2
  22. package/dist/{CanvasWidget-Dv7_QUJY.cjs.map → CanvasWidget-DTEx-DpZ.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-DuWolVCW.js → CanvasWidget-DuXOo3jG.js} +4 -4
  24. package/dist/{CanvasWidget-DuWolVCW.js.map → CanvasWidget-DuXOo3jG.js.map} +1 -1
  25. package/dist/{CanvasdotWidget-B42YizA1.js → CanvasdotWidget-WoLpxI1u.js} +5 -5
  26. package/dist/{CanvasdotWidget-B42YizA1.js.map → CanvasdotWidget-WoLpxI1u.js.map} +1 -1
  27. package/dist/{CanvasdotWidget-E1OgFBVZ.cjs → CanvasdotWidget-bbOquK8B.cjs} +2 -2
  28. package/dist/{CanvasdotWidget-E1OgFBVZ.cjs.map → CanvasdotWidget-bbOquK8B.cjs.map} +1 -1
  29. package/dist/{CanvasimageWidget-ysw78z4C.cjs → CanvasimageWidget-D2EqsK7w.cjs} +2 -2
  30. package/dist/{CanvasimageWidget-ysw78z4C.cjs.map → CanvasimageWidget-D2EqsK7w.cjs.map} +1 -1
  31. package/dist/{CanvasimageWidget-DMHdDTSs.js → CanvasimageWidget-tWpK5rsv.js} +8 -8
  32. package/dist/{CanvasimageWidget-DMHdDTSs.js.map → CanvasimageWidget-tWpK5rsv.js.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-ns-5S1HA.js → CanvasimagevalueWidget-BVzJYz3l.js} +9 -9
  34. package/dist/{CanvasimagevalueWidget-ns-5S1HA.js.map → CanvasimagevalueWidget-BVzJYz3l.js.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-Bc-VYXe7.cjs → CanvasimagevalueWidget-By_DiQ75.cjs} +2 -2
  36. package/dist/{CanvasimagevalueWidget-Bc-VYXe7.cjs.map → CanvasimagevalueWidget-By_DiQ75.cjs.map} +1 -1
  37. package/dist/{CanvaslabelWidget-DElES3gU.js → CanvaslabelWidget-CDFf8Vll.js} +5 -5
  38. package/dist/{CanvaslabelWidget-DElES3gU.js.map → CanvaslabelWidget-CDFf8Vll.js.map} +1 -1
  39. package/dist/{CanvaslabelWidget-6h59qJY8.cjs → CanvaslabelWidget-DiPxyXoX.cjs} +2 -2
  40. package/dist/{CanvaslabelWidget-6h59qJY8.cjs.map → CanvaslabelWidget-DiPxyXoX.cjs.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-BLIgF8xi.cjs → CanvaslabelvalueWidget-Cw5CCQTi.cjs} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-BLIgF8xi.cjs.map → CanvaslabelvalueWidget-Cw5CCQTi.cjs.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-B2B5KlUm.js → CanvaslabelvalueWidget-DzJKD6qs.js} +5 -5
  44. package/dist/{CanvaslabelvalueWidget-B2B5KlUm.js.map → CanvaslabelvalueWidget-DzJKD6qs.js.map} +1 -1
  45. package/dist/{CanvaslineWidget-CxZGCwVF.cjs → CanvaslineWidget-BECtKTPL.cjs} +2 -2
  46. package/dist/{CanvaslineWidget-CxZGCwVF.cjs.map → CanvaslineWidget-BECtKTPL.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-DaHxgGyM.js → CanvaslineWidget-BttTXCZq.js} +5 -5
  48. package/dist/{CanvaslineWidget-DaHxgGyM.js.map → CanvaslineWidget-BttTXCZq.js.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-BljeuN4S.cjs → CanvaslinevalueWidget-5duJ98qu.cjs} +2 -2
  50. package/dist/{CanvaslinevalueWidget-BljeuN4S.cjs.map → CanvaslinevalueWidget-5duJ98qu.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-CrtDsSOP.js → CanvaslinevalueWidget-i6G0JfnZ.js} +5 -5
  52. package/dist/{CanvaslinevalueWidget-CrtDsSOP.js.map → CanvaslinevalueWidget-i6G0JfnZ.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-BK4SgIu7.js → CheckbuttonWidget-18jtf7sh.js} +5 -5
  54. package/dist/{CheckbuttonWidget-BK4SgIu7.js.map → CheckbuttonWidget-18jtf7sh.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-By46VH2e.cjs → CheckbuttonWidget-CTMObPhX.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-By46VH2e.cjs.map → CheckbuttonWidget-CTMObPhX.cjs.map} +1 -1
  57. package/dist/{ClassificationBanners-DGl2HUKd.js → ClassificationBanners-BmnQODLn.js} +2 -2
  58. package/dist/{ClassificationBanners-DGl2HUKd.js.map → ClassificationBanners-BmnQODLn.js.map} +1 -1
  59. package/dist/{ClassificationBanners-CHQX3t7t.cjs → ClassificationBanners-DjGCuH-4.cjs} +2 -2
  60. package/dist/{ClassificationBanners-CHQX3t7t.cjs.map → ClassificationBanners-DjGCuH-4.cjs.map} +1 -1
  61. package/dist/{ComboboxWidget-CciRWuKq.js → ComboboxWidget-BjaVFbD4.js} +5 -5
  62. package/dist/{ComboboxWidget-CciRWuKq.js.map → ComboboxWidget-BjaVFbD4.js.map} +1 -1
  63. package/dist/{ComboboxWidget-CHFTOmhZ.cjs → ComboboxWidget-Cc0Acq9q.cjs} +2 -2
  64. package/dist/{ComboboxWidget-CHFTOmhZ.cjs.map → ComboboxWidget-Cc0Acq9q.cjs.map} +1 -1
  65. package/dist/{CriticalCmdDialog-C5EZDRSZ.js → CriticalCmdDialog-CO-nvphS.js} +8 -8
  66. package/dist/{CriticalCmdDialog-C5EZDRSZ.js.map → CriticalCmdDialog-CO-nvphS.js.map} +1 -1
  67. package/dist/{CriticalCmdDialog-BWrwpTNK.cjs → CriticalCmdDialog-eytxCQto.cjs} +2 -2
  68. package/dist/{CriticalCmdDialog-BWrwpTNK.cjs.map → CriticalCmdDialog-eytxCQto.cjs.map} +1 -1
  69. package/dist/{CustomIcon-Cg3jCA_l.js → CustomIcon-DTR361si.js} +4 -4
  70. package/dist/{CustomIcon-Cg3jCA_l.js.map → CustomIcon-DTR361si.js.map} +1 -1
  71. package/dist/{DateWidget-Bb6juAYs.cjs → DateWidget-Cle8FY8Q.cjs} +2 -2
  72. package/dist/{DateWidget-Bb6juAYs.cjs.map → DateWidget-Cle8FY8Q.cjs.map} +1 -1
  73. package/dist/{DateWidget-DwgQ3Jik.js → DateWidget-DkFAFlc8.js} +5 -5
  74. package/dist/{DateWidget-DwgQ3Jik.js.map → DateWidget-DkFAFlc8.js.map} +1 -1
  75. package/dist/{DetailsDialog-D_my0nhs.cjs → DetailsDialog-BcMaTfuQ.cjs} +2 -2
  76. package/dist/{DetailsDialog-D_my0nhs.cjs.map → DetailsDialog-BcMaTfuQ.cjs.map} +1 -1
  77. package/dist/{DetailsDialog-CspQjoR5.js → DetailsDialog-sqja4Lzq.js} +5 -5
  78. package/dist/{DetailsDialog-CspQjoR5.js.map → DetailsDialog-sqja4Lzq.js.map} +1 -1
  79. package/dist/{DynamicWidget-Bym87woV.js → DynamicWidget-BuSbQVhf.js} +4 -4
  80. package/dist/{DynamicWidget-Bym87woV.js.map → DynamicWidget-BuSbQVhf.js.map} +1 -1
  81. package/dist/{EventListDialog-DL2HHNQG.js → EventListDialog-DjCQAwGl.js} +12 -12
  82. package/dist/{EventListDialog-DL2HHNQG.js.map → EventListDialog-DjCQAwGl.js.map} +1 -1
  83. package/dist/{EventListDialog-DO32zY2U.cjs → EventListDialog-EmC7YW60.cjs} +2 -2
  84. package/dist/{EventListDialog-DO32zY2U.cjs.map → EventListDialog-EmC7YW60.cjs.map} +1 -1
  85. package/dist/{FilechecksumWidget-DMpuLZJ5.cjs → FilechecksumWidget-2ta-UvLp.cjs} +2 -2
  86. package/dist/{FilechecksumWidget-DMpuLZJ5.cjs.map → FilechecksumWidget-2ta-UvLp.cjs.map} +1 -1
  87. package/dist/{FilechecksumWidget-BS281Q0h.js → FilechecksumWidget-DqJ_hvN4.js} +8 -8
  88. package/dist/{FilechecksumWidget-BS281Q0h.js.map → FilechecksumWidget-DqJ_hvN4.js.map} +1 -1
  89. package/dist/{FiledisplayWidget-BoD7LuLP.cjs → FiledisplayWidget-BUKXIQir.cjs} +2 -2
  90. package/dist/{FiledisplayWidget-BoD7LuLP.cjs.map → FiledisplayWidget-BUKXIQir.cjs.map} +1 -1
  91. package/dist/{FiledisplayWidget-C9YdXDdv.js → FiledisplayWidget-CYznG_tf.js} +6 -6
  92. package/dist/{FiledisplayWidget-C9YdXDdv.js.map → FiledisplayWidget-CYznG_tf.js.map} +1 -1
  93. package/dist/{FormatvalueWidget-dfmQfrNA.js → FormatvalueWidget-BnVu4YGx.js} +6 -6
  94. package/dist/{FormatvalueWidget-dfmQfrNA.js.map → FormatvalueWidget-BnVu4YGx.js.map} +1 -1
  95. package/dist/{FormatvalueWidget-DfvTVSs-.cjs → FormatvalueWidget-BpFXnA_U.cjs} +2 -2
  96. package/dist/{FormatvalueWidget-DfvTVSs-.cjs.map → FormatvalueWidget-BpFXnA_U.cjs.map} +1 -1
  97. package/dist/{Graph-BTtGIbYG.js → Graph-CUFzx8Ti.js} +284 -280
  98. package/dist/Graph-CUFzx8Ti.js.map +1 -0
  99. package/dist/{Graph-Cy2LrwoK.cjs → Graph-qxF4224c.cjs} +2 -2
  100. package/dist/Graph-qxF4224c.cjs.map +1 -0
  101. package/dist/{GraphWidget-XjxjI3og.cjs → GraphWidget-BvCQHVxQ.cjs} +2 -2
  102. package/dist/{GraphWidget-XjxjI3og.cjs.map → GraphWidget-BvCQHVxQ.cjs.map} +1 -1
  103. package/dist/{GraphWidget-CWJ4Yb26.js → GraphWidget-DO5XbOGy.js} +2 -2
  104. package/dist/{GraphWidget-CWJ4Yb26.js.map → GraphWidget-DO5XbOGy.js.map} +1 -1
  105. package/dist/{HorizontalWidget-DFAqF95S.js → HorizontalWidget-BA9PiP3d.js} +4 -4
  106. package/dist/{HorizontalWidget-DFAqF95S.js.map → HorizontalWidget-BA9PiP3d.js.map} +1 -1
  107. package/dist/{HorizontalWidget-BeW4b13V.cjs → HorizontalWidget-BBQE-dP-.cjs} +2 -2
  108. package/dist/{HorizontalWidget-BeW4b13V.cjs.map → HorizontalWidget-BBQE-dP-.cjs.map} +1 -1
  109. package/dist/{HorizontalboxWidget-CL1xEhDj.js → HorizontalboxWidget-B-7HOqgl.js} +7 -7
  110. package/dist/{HorizontalboxWidget-CL1xEhDj.js.map → HorizontalboxWidget-B-7HOqgl.js.map} +1 -1
  111. package/dist/{HorizontalboxWidget-DdPv_6qb.cjs → HorizontalboxWidget-CX7J8RdA.cjs} +2 -2
  112. package/dist/{HorizontalboxWidget-DdPv_6qb.cjs.map → HorizontalboxWidget-CX7J8RdA.cjs.map} +1 -1
  113. package/dist/HorizontallineWidget-D-o9MGo0.js +16 -0
  114. package/dist/{HorizontallineWidget-DPiADCAy.js.map → HorizontallineWidget-D-o9MGo0.js.map} +1 -1
  115. package/dist/{HorizontallineWidget-BdWOnioI.cjs → HorizontallineWidget-odTFoB8u.cjs} +2 -2
  116. package/dist/{HorizontallineWidget-BdWOnioI.cjs.map → HorizontallineWidget-odTFoB8u.cjs.map} +1 -1
  117. package/dist/{IframeWidget-BsDu4b17.js → IframeWidget-BzOka-fX.js} +5 -5
  118. package/dist/{IframeWidget-BsDu4b17.js.map → IframeWidget-BzOka-fX.js.map} +1 -1
  119. package/dist/{IframeWidget-Z12pG6JT.cjs → IframeWidget-cTHu_Rmp.cjs} +2 -2
  120. package/dist/{IframeWidget-Z12pG6JT.cjs.map → IframeWidget-cTHu_Rmp.cjs.map} +1 -1
  121. package/dist/{ImageLoader-CZ0Wx_Ua.cjs → ImageLoader-BTEOukIw.cjs} +2 -2
  122. package/dist/{ImageLoader-CZ0Wx_Ua.cjs.map → ImageLoader-BTEOukIw.cjs.map} +1 -1
  123. package/dist/{ImageLoader-CT4rnwWn.js → ImageLoader-CstmWFM4.js} +2 -2
  124. package/dist/{ImageLoader-CT4rnwWn.js.map → ImageLoader-CstmWFM4.js.map} +1 -1
  125. package/dist/{ImageviewerWidget-BQbrz2WL.js → ImageviewerWidget-BA9uOM1q.js} +5 -5
  126. package/dist/{ImageviewerWidget-BQbrz2WL.js.map → ImageviewerWidget-BA9uOM1q.js.map} +1 -1
  127. package/dist/{ImageviewerWidget-CtJzQn0e.cjs → ImageviewerWidget-CLAFwmaB.cjs} +2 -2
  128. package/dist/{ImageviewerWidget-CtJzQn0e.cjs.map → ImageviewerWidget-CLAFwmaB.cjs.map} +1 -1
  129. package/dist/{InterfacesTab-COKNyeUu.js → InterfacesTab-C3mDLkGC.js} +9 -9
  130. package/dist/{InterfacesTab-COKNyeUu.js.map → InterfacesTab-C3mDLkGC.js.map} +1 -1
  131. package/dist/{InterfacesTab-A0g0y1n1.cjs → InterfacesTab-CM0CGFVS.cjs} +2 -2
  132. package/dist/{InterfacesTab-A0g0y1n1.cjs.map → InterfacesTab-CM0CGFVS.cjs.map} +1 -1
  133. package/dist/{LabelWidget-rH3SsItK.cjs → LabelWidget-CMmVq1mx.cjs} +2 -2
  134. package/dist/{LabelWidget-rH3SsItK.cjs.map → LabelWidget-CMmVq1mx.cjs.map} +1 -1
  135. package/dist/{LabelWidget-D5-IFUYW.js → LabelWidget-Da2howZF.js} +5 -5
  136. package/dist/{LabelWidget-D5-IFUYW.js.map → LabelWidget-Da2howZF.js.map} +1 -1
  137. package/dist/{LabelledWidget-Dt9miRtB.js → LabelledWidget-BH8y3OXT.js} +7 -7
  138. package/dist/{LabelledWidget-Dt9miRtB.js.map → LabelledWidget-BH8y3OXT.js.map} +1 -1
  139. package/dist/{LabelledWidget-Bca_qNSP.cjs → LabelledWidget-CAqH0oWs.cjs} +2 -2
  140. package/dist/{LabelledWidget-Bca_qNSP.cjs.map → LabelledWidget-CAqH0oWs.cjs.map} +1 -1
  141. package/dist/{LabelprogressbarWidget-BNFgTq4D.js → LabelprogressbarWidget-Brl24F4c.js} +7 -7
  142. package/dist/{LabelprogressbarWidget-BNFgTq4D.js.map → LabelprogressbarWidget-Brl24F4c.js.map} +1 -1
  143. package/dist/{LabelprogressbarWidget-hyK9Vqsl.cjs → LabelprogressbarWidget-BxLGmW9T.cjs} +2 -2
  144. package/dist/{LabelprogressbarWidget-hyK9Vqsl.cjs.map → LabelprogressbarWidget-BxLGmW9T.cjs.map} +1 -1
  145. package/dist/{LabelsparklineWidget-BxkxEVwQ.cjs → LabelsparklineWidget-BUXOpBeB.cjs} +2 -2
  146. package/dist/{LabelsparklineWidget-BxkxEVwQ.cjs.map → LabelsparklineWidget-BUXOpBeB.cjs.map} +1 -1
  147. package/dist/{LabelsparklineWidget-BByxev6X.js → LabelsparklineWidget-D22MB7-4.js} +7 -7
  148. package/dist/{LabelsparklineWidget-BByxev6X.js.map → LabelsparklineWidget-D22MB7-4.js.map} +1 -1
  149. package/dist/{LabelvalueWidget-BM6L9bVw.js → LabelvalueWidget-_1JPbK-K.js} +7 -7
  150. package/dist/{LabelvalueWidget-BM6L9bVw.js.map → LabelvalueWidget-_1JPbK-K.js.map} +1 -1
  151. package/dist/{LabelvalueWidget-DEGmbKMG.cjs → LabelvalueWidget-bYqqgIGE.cjs} +2 -2
  152. package/dist/{LabelvalueWidget-DEGmbKMG.cjs.map → LabelvalueWidget-bYqqgIGE.cjs.map} +1 -1
  153. package/dist/{LabelvaluedescWidget-B7bGqqeO.cjs → LabelvaluedescWidget-B2dFZoDE.cjs} +2 -2
  154. package/dist/{LabelvaluedescWidget-B7bGqqeO.cjs.map → LabelvaluedescWidget-B2dFZoDE.cjs.map} +1 -1
  155. package/dist/{LabelvaluedescWidget-DeBRjYXs.js → LabelvaluedescWidget-BgduSJJb.js} +8 -8
  156. package/dist/{LabelvaluedescWidget-DeBRjYXs.js.map → LabelvaluedescWidget-BgduSJJb.js.map} +1 -1
  157. package/dist/{LabelvaluelimitsbarWidget-DzEc9ZZr.cjs → LabelvaluelimitsbarWidget-BGag8V6k.cjs} +2 -2
  158. package/dist/{LabelvaluelimitsbarWidget-DzEc9ZZr.cjs.map → LabelvaluelimitsbarWidget-BGag8V6k.cjs.map} +1 -1
  159. package/dist/{LabelvaluelimitsbarWidget-CqV0-c3G.js → LabelvaluelimitsbarWidget-C9PlEhWo.js} +7 -7
  160. package/dist/{LabelvaluelimitsbarWidget-CqV0-c3G.js.map → LabelvaluelimitsbarWidget-C9PlEhWo.js.map} +1 -1
  161. package/dist/{LabelvaluelimitscolumnWidget-Bz0PKTIV.js → LabelvaluelimitscolumnWidget-Cay6AhoZ.js} +8 -8
  162. package/dist/{LabelvaluelimitscolumnWidget-Bz0PKTIV.js.map → LabelvaluelimitscolumnWidget-Cay6AhoZ.js.map} +1 -1
  163. package/dist/{LabelvaluelimitscolumnWidget-C0-v0q7a.cjs → LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs} +2 -2
  164. package/dist/{LabelvaluelimitscolumnWidget-C0-v0q7a.cjs.map → LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs.map} +1 -1
  165. package/dist/{LabelvaluerangebarWidget-CWhsb5gm.cjs → LabelvaluerangebarWidget-Dbibpimv.cjs} +2 -2
  166. package/dist/{LabelvaluerangebarWidget-CWhsb5gm.cjs.map → LabelvaluerangebarWidget-Dbibpimv.cjs.map} +1 -1
  167. package/dist/{LabelvaluerangebarWidget-DKuAJHLm.js → LabelvaluerangebarWidget-s_8IgY-C.js} +7 -7
  168. package/dist/{LabelvaluerangebarWidget-DKuAJHLm.js.map → LabelvaluerangebarWidget-s_8IgY-C.js.map} +1 -1
  169. package/dist/{Layout-LSeXBY_W.js → Layout-D7RGn0Fe.js} +2 -2
  170. package/dist/{Layout-LSeXBY_W.js.map → Layout-D7RGn0Fe.js.map} +1 -1
  171. package/dist/{Layout-QcVHlWPp.cjs → Layout-DwWEea79.cjs} +2 -2
  172. package/dist/{Layout-QcVHlWPp.cjs.map → Layout-DwWEea79.cjs.map} +1 -1
  173. package/dist/{LedWidget-CJwBssHl.cjs → LedWidget-BaiKDozd.cjs} +2 -2
  174. package/dist/{LedWidget-CJwBssHl.cjs.map → LedWidget-BaiKDozd.cjs.map} +1 -1
  175. package/dist/{LedWidget-CH4Il9R7.js → LedWidget-DgMtvsiv.js} +6 -6
  176. package/dist/{LedWidget-CH4Il9R7.js.map → LedWidget-DgMtvsiv.js.map} +1 -1
  177. package/dist/{LimitsBar-B0O6RMrG.cjs → LimitsBar-BFM38vQL.cjs} +2 -2
  178. package/dist/{LimitsBar-B0O6RMrG.cjs.map → LimitsBar-BFM38vQL.cjs.map} +1 -1
  179. package/dist/{LimitsBar-BelAQFD0.js → LimitsBar-CcOaAw0C.js} +7 -7
  180. package/dist/{LimitsBar-BelAQFD0.js.map → LimitsBar-CcOaAw0C.js.map} +1 -1
  181. package/dist/{LimitsbarWidget--AwjBbtb.cjs → LimitsbarWidget-ConP3qI5.cjs} +2 -2
  182. package/dist/{LimitsbarWidget--AwjBbtb.cjs.map → LimitsbarWidget-ConP3qI5.cjs.map} +1 -1
  183. package/dist/{LimitsbarWidget-PkPqlyxL.js → LimitsbarWidget-DpmJn1Lo.js} +7 -7
  184. package/dist/{LimitsbarWidget-PkPqlyxL.js.map → LimitsbarWidget-DpmJn1Lo.js.map} +1 -1
  185. package/dist/{LimitscolorWidget-BlA15g4A.js → LimitscolorWidget-BMXiEaDm.js} +20 -20
  186. package/dist/{LimitscolorWidget-BlA15g4A.js.map → LimitscolorWidget-BMXiEaDm.js.map} +1 -1
  187. package/dist/{LimitscolorWidget-1D2myv8a.cjs → LimitscolorWidget-veWQ4NXl.cjs} +2 -2
  188. package/dist/{LimitscolorWidget-1D2myv8a.cjs.map → LimitscolorWidget-veWQ4NXl.cjs.map} +1 -1
  189. package/dist/{LimitscolumnWidget-_QPf3cUQ.cjs → LimitscolumnWidget-CJABAor8.cjs} +2 -2
  190. package/dist/{LimitscolumnWidget-_QPf3cUQ.cjs.map → LimitscolumnWidget-CJABAor8.cjs.map} +1 -1
  191. package/dist/{LimitscolumnWidget-PT917BA0.js → LimitscolumnWidget-ufFMz6R-.js} +5 -5
  192. package/dist/{LimitscolumnWidget-PT917BA0.js.map → LimitscolumnWidget-ufFMz6R-.js.map} +1 -1
  193. package/dist/{LinegraphWidget-DfXd3959.cjs → LinegraphWidget-3E8L5CvM.cjs} +2 -2
  194. package/dist/{LinegraphWidget-DfXd3959.cjs.map → LinegraphWidget-3E8L5CvM.cjs.map} +1 -1
  195. package/dist/{LinegraphWidget-BW7kS_6G.js → LinegraphWidget-BC2wVOny.js} +7 -7
  196. package/dist/{LinegraphWidget-BW7kS_6G.js.map → LinegraphWidget-BC2wVOny.js.map} +1 -1
  197. package/dist/{MatrixbycolumnsWidget-oRYGFSEt.cjs → MatrixbycolumnsWidget-DICgiNQo.cjs} +2 -2
  198. package/dist/{MatrixbycolumnsWidget-oRYGFSEt.cjs.map → MatrixbycolumnsWidget-DICgiNQo.cjs.map} +1 -1
  199. package/dist/{MatrixbycolumnsWidget-BGNsZvjv.js → MatrixbycolumnsWidget-DfUAeBnO.js} +5 -5
  200. package/dist/{MatrixbycolumnsWidget-BGNsZvjv.js.map → MatrixbycolumnsWidget-DfUAeBnO.js.map} +1 -1
  201. package/dist/{MicroservicesTab-CiEGGavF.js → MicroservicesTab-B0SZVty3.js} +67 -62
  202. package/dist/MicroservicesTab-B0SZVty3.js.map +1 -0
  203. package/dist/MicroservicesTab-snXJDoYq.cjs +4 -0
  204. package/dist/MicroservicesTab-snXJDoYq.cjs.map +1 -0
  205. package/dist/{OpenC3TimePicker-CkaALgy9.js → OpenC3TimePicker-DpkbfbgC.js} +5 -5
  206. package/dist/{OpenC3TimePicker-CkaALgy9.js.map → OpenC3TimePicker-DpkbfbgC.js.map} +1 -1
  207. package/dist/{OpenC3TimePicker-bbdbKTv_.cjs → OpenC3TimePicker-Yl1jVi7p.cjs} +2 -2
  208. package/dist/{OpenC3TimePicker-bbdbKTv_.cjs.map → OpenC3TimePicker-Yl1jVi7p.cjs.map} +1 -1
  209. package/dist/{Openc3Screen-DoOAFAlJ.cjs → Openc3Screen-D1RLlBgQ.cjs} +4 -4
  210. package/dist/Openc3Screen-D1RLlBgQ.cjs.map +1 -0
  211. package/dist/{Openc3Screen-BnM1bNOB.js → Openc3Screen-DbUvz-3B.js} +246 -245
  212. package/dist/Openc3Screen-DbUvz-3B.js.map +1 -0
  213. package/dist/{OutputDialog-R3Xj3_yw.cjs → OutputDialog-ChPCaQAE.cjs} +2 -2
  214. package/dist/{OutputDialog-R3Xj3_yw.cjs.map → OutputDialog-ChPCaQAE.cjs.map} +1 -1
  215. package/dist/{OutputDialog-BY-TZNRl.js → OutputDialog-Ds-GdGyI.js} +5 -5
  216. package/dist/{OutputDialog-BY-TZNRl.js.map → OutputDialog-Ds-GdGyI.js.map} +1 -1
  217. package/dist/PackagesTab-BgQsbXRo.cjs +2 -0
  218. package/dist/PackagesTab-BgQsbXRo.cjs.map +1 -0
  219. package/dist/{PackagesTab-DGrqIo_Z.js → PackagesTab-CWplBp_I.js} +70 -66
  220. package/dist/PackagesTab-CWplBp_I.js.map +1 -0
  221. package/dist/{PluginsTab-BXjVe_81.js → PluginsTab-BiiL622n.js} +89 -88
  222. package/dist/PluginsTab-BiiL622n.js.map +1 -0
  223. package/dist/PluginsTab-RgIMk-F7.cjs +6 -0
  224. package/dist/PluginsTab-RgIMk-F7.cjs.map +1 -0
  225. package/dist/{ProgressbarWidget-Cy_ad8mb.js → ProgressbarWidget-D3ndYnq_.js} +5 -5
  226. package/dist/{ProgressbarWidget-Cy_ad8mb.js.map → ProgressbarWidget-D3ndYnq_.js.map} +1 -1
  227. package/dist/{ProgressbarWidget-XAy4iHgC.cjs → ProgressbarWidget-DludJVUf.cjs} +2 -2
  228. package/dist/{ProgressbarWidget-XAy4iHgC.cjs.map → ProgressbarWidget-DludJVUf.cjs.map} +1 -1
  229. package/dist/{RadiobuttonWidget-aJBIz45y.js → RadiobuttonWidget-CP0S9nWW.js} +5 -5
  230. package/dist/{RadiobuttonWidget-aJBIz45y.js.map → RadiobuttonWidget-CP0S9nWW.js.map} +1 -1
  231. package/dist/{RadiobuttonWidget-fAqkUUTb.cjs → RadiobuttonWidget-DX4h94p1.cjs} +2 -2
  232. package/dist/{RadiobuttonWidget-fAqkUUTb.cjs.map → RadiobuttonWidget-DX4h94p1.cjs.map} +1 -1
  233. package/dist/{RadiogroupWidget-DNRlJnPE.js → RadiogroupWidget-BXHfA21T.js} +4 -4
  234. package/dist/{RadiogroupWidget-DNRlJnPE.js.map → RadiogroupWidget-BXHfA21T.js.map} +1 -1
  235. package/dist/{RadiogroupWidget-BuYMyBQd.cjs → RadiogroupWidget-NqjBNUH6.cjs} +2 -2
  236. package/dist/{RadiogroupWidget-BuYMyBQd.cjs.map → RadiogroupWidget-NqjBNUH6.cjs.map} +1 -1
  237. package/dist/{RangebarWidget-h4YItqPF.js → RangebarWidget-Bv2DqkPo.js} +5 -5
  238. package/dist/{RangebarWidget-h4YItqPF.js.map → RangebarWidget-Bv2DqkPo.js.map} +1 -1
  239. package/dist/{RangebarWidget-gcukfXnM.cjs → RangebarWidget-CRq2zpvw.cjs} +2 -2
  240. package/dist/{RangebarWidget-gcukfXnM.cjs.map → RangebarWidget-CRq2zpvw.cjs.map} +1 -1
  241. package/dist/{RedisTab-BmZWA0OG.js → RedisTab-7TbOXFA_.js} +9 -9
  242. package/dist/{RedisTab-BmZWA0OG.js.map → RedisTab-7TbOXFA_.js.map} +1 -1
  243. package/dist/{RedisTab-0V8f-hs1.cjs → RedisTab-DpWPY1P0.cjs} +2 -2
  244. package/dist/{RedisTab-0V8f-hs1.cjs.map → RedisTab-DpWPY1P0.cjs.map} +1 -1
  245. package/dist/{RollupWidget-ZerASRD3.cjs → RollupWidget-B7_Q_boi.cjs} +2 -2
  246. package/dist/{RollupWidget-ZerASRD3.cjs.map → RollupWidget-B7_Q_boi.cjs.map} +1 -1
  247. package/dist/{RollupWidget-CnxDQRQ0.js → RollupWidget-o_huYU0x.js} +5 -5
  248. package/dist/{RollupWidget-CnxDQRQ0.js.map → RollupWidget-o_huYU0x.js.map} +1 -1
  249. package/dist/{RoutersTab-CY-SmZd4.cjs → RoutersTab-CAbnSGHy.cjs} +2 -2
  250. package/dist/{RoutersTab-CY-SmZd4.cjs.map → RoutersTab-CAbnSGHy.cjs.map} +1 -1
  251. package/dist/{RoutersTab-Db28gKLP.js → RoutersTab-DN17iBBi.js} +9 -9
  252. package/dist/{RoutersTab-Db28gKLP.js.map → RoutersTab-DN17iBBi.js.map} +1 -1
  253. package/dist/{ScriptChooser-CI4lAYZ1.cjs → ScriptChooser-CggwstfT.cjs} +2 -2
  254. package/dist/{ScriptChooser-CI4lAYZ1.cjs.map → ScriptChooser-CggwstfT.cjs.map} +1 -1
  255. package/dist/{ScriptChooser-Bl0wisob.js → ScriptChooser-CzzUJ1Zj.js} +6 -6
  256. package/dist/{ScriptChooser-Bl0wisob.js.map → ScriptChooser-CzzUJ1Zj.js.map} +1 -1
  257. package/dist/{ScrollwindowWidget-DFkTJ2Ue.js → ScrollwindowWidget-DdjaML6D.js} +4 -4
  258. package/dist/{ScrollwindowWidget-DFkTJ2Ue.js.map → ScrollwindowWidget-DdjaML6D.js.map} +1 -1
  259. package/dist/{ScrollwindowWidget-BJkQ5uX_.cjs → ScrollwindowWidget-kS5QjP-v.cjs} +2 -2
  260. package/dist/{ScrollwindowWidget-BJkQ5uX_.cjs.map → ScrollwindowWidget-kS5QjP-v.cjs.map} +1 -1
  261. package/dist/{SecretsTab-B8YTrfQ2.cjs → SecretsTab-Cn6-o85L.cjs} +2 -2
  262. package/dist/{SecretsTab-B8YTrfQ2.cjs.map → SecretsTab-Cn6-o85L.cjs.map} +1 -1
  263. package/dist/{SecretsTab-DTdVLi0I.js → SecretsTab-Cu3sx2OA.js} +4 -4
  264. package/dist/{SecretsTab-DTdVLi0I.js.map → SecretsTab-Cu3sx2OA.js.map} +1 -1
  265. package/dist/{SettingsTab-CnybxvVj.js → SettingsTab-B_vvSLvt.js} +6 -6
  266. package/dist/{SettingsTab-CnybxvVj.js.map → SettingsTab-B_vvSLvt.js.map} +1 -1
  267. package/dist/{SettingsTab-_SJLhuk0.cjs → SettingsTab-C6zIL2D6.cjs} +2 -2
  268. package/dist/{SettingsTab-_SJLhuk0.cjs.map → SettingsTab-C6zIL2D6.cjs.map} +1 -1
  269. package/dist/{SignalWidget-DC7-NIOj.cjs → SignalWidget-BagcB92r.cjs} +2 -2
  270. package/dist/{SignalWidget-DC7-NIOj.cjs.map → SignalWidget-BagcB92r.cjs.map} +1 -1
  271. package/dist/{SignalWidget-jYpXSIfD.js → SignalWidget-Dd54y28I.js} +5 -5
  272. package/dist/{SignalWidget-jYpXSIfD.js.map → SignalWidget-Dd54y28I.js.map} +1 -1
  273. package/dist/{SimpleTextDialog-DLdHGmmb.cjs → SimpleTextDialog-BJ50TbWh.cjs} +2 -2
  274. package/dist/{SimpleTextDialog-DLdHGmmb.cjs.map → SimpleTextDialog-BJ50TbWh.cjs.map} +1 -1
  275. package/dist/{SimpleTextDialog-Dd3BoNG-.js → SimpleTextDialog-DZv9n_kJ.js} +5 -5
  276. package/dist/{SimpleTextDialog-Dd3BoNG-.js.map → SimpleTextDialog-DZv9n_kJ.js.map} +1 -1
  277. package/dist/{SpacerWidget-BwwxG8k3.cjs → SpacerWidget-DWjBns9r.cjs} +2 -2
  278. package/dist/{SpacerWidget-BwwxG8k3.cjs.map → SpacerWidget-DWjBns9r.cjs.map} +1 -1
  279. package/dist/{SpacerWidget-CUqvml6o.js → SpacerWidget-GPFYtIG1.js} +5 -5
  280. package/dist/{SpacerWidget-CUqvml6o.js.map → SpacerWidget-GPFYtIG1.js.map} +1 -1
  281. package/dist/{SparklineWidget-CVf1TtjV.js → SparklineWidget-f11nrlLS.js} +7 -7
  282. package/dist/{SparklineWidget-CVf1TtjV.js.map → SparklineWidget-f11nrlLS.js.map} +1 -1
  283. package/dist/{SparklineWidget-05TlKC-x.cjs → SparklineWidget-xdPgolp3.cjs} +2 -2
  284. package/dist/{SparklineWidget-05TlKC-x.cjs.map → SparklineWidget-xdPgolp3.cjs.map} +1 -1
  285. package/dist/{TabbookWidget-oZre4A6Y.cjs → TabbookWidget-CUIYWHRH.cjs} +2 -2
  286. package/dist/{TabbookWidget-oZre4A6Y.cjs.map → TabbookWidget-CUIYWHRH.cjs.map} +1 -1
  287. package/dist/{TabbookWidget-CTUEpDnn.js → TabbookWidget-DeaC27yC.js} +4 -4
  288. package/dist/{TabbookWidget-CTUEpDnn.js.map → TabbookWidget-DeaC27yC.js.map} +1 -1
  289. package/dist/{TargetPacketItemChooser-CS2Vvi2U.js → TargetPacketItemChooser-BoBqvs3T.js} +4 -4
  290. package/dist/{TargetPacketItemChooser-CS2Vvi2U.js.map → TargetPacketItemChooser-BoBqvs3T.js.map} +1 -1
  291. package/dist/{TargetPacketItemChooser-BvXBVNLj.cjs → TargetPacketItemChooser-C0Z90rss.cjs} +2 -2
  292. package/dist/{TargetPacketItemChooser-BvXBVNLj.cjs.map → TargetPacketItemChooser-C0Z90rss.cjs.map} +1 -1
  293. package/dist/{TargetsTab-Bc7-iav6.cjs → TargetsTab-BMcWjrZ_.cjs} +2 -2
  294. package/dist/{TargetsTab-Bc7-iav6.cjs.map → TargetsTab-BMcWjrZ_.cjs.map} +1 -1
  295. package/dist/{TargetsTab-CGv0GwAF.js → TargetsTab-CjVaBN9O.js} +11 -11
  296. package/dist/{TargetsTab-CGv0GwAF.js.map → TargetsTab-CjVaBN9O.js.map} +1 -1
  297. package/dist/{TextBoxDialog-BRwZOtzT.js → TextBoxDialog-R6GC8pMa.js} +4 -4
  298. package/dist/{TextBoxDialog-BRwZOtzT.js.map → TextBoxDialog-R6GC8pMa.js.map} +1 -1
  299. package/dist/{TextboxWidget-qSbx4xxD.cjs → TextboxWidget-CXA9rR02.cjs} +2 -2
  300. package/dist/{TextboxWidget-qSbx4xxD.cjs.map → TextboxWidget-CXA9rR02.cjs.map} +1 -1
  301. package/dist/{TextboxWidget-B0Y1W7GP.js → TextboxWidget-tL41zWUX.js} +6 -6
  302. package/dist/{TextboxWidget-B0Y1W7GP.js.map → TextboxWidget-tL41zWUX.js.map} +1 -1
  303. package/dist/{TextfieldWidget-cCG7BQ25.cjs → TextfieldWidget-D-H2fOZG.cjs} +2 -2
  304. package/dist/{TextfieldWidget-cCG7BQ25.cjs.map → TextfieldWidget-D-H2fOZG.cjs.map} +1 -1
  305. package/dist/{TextfieldWidget-B8TAf9oU.js → TextfieldWidget-D1qj14Qi.js} +5 -5
  306. package/dist/{TextfieldWidget-B8TAf9oU.js.map → TextfieldWidget-D1qj14Qi.js.map} +1 -1
  307. package/dist/{TimeWidget-DNkhFoZO.cjs → TimeWidget-CGk8Ze_I.cjs} +2 -2
  308. package/dist/{TimeWidget-DNkhFoZO.cjs.map → TimeWidget-CGk8Ze_I.cjs.map} +1 -1
  309. package/dist/{TimeWidget-DewVXks0.js → TimeWidget-CSVGNong.js} +6 -6
  310. package/dist/{TimeWidget-DewVXks0.js.map → TimeWidget-CSVGNong.js.map} +1 -1
  311. package/dist/{TitleWidget-BAq2LGJF.js → TitleWidget-CLx-tuYT.js} +5 -5
  312. package/dist/{TitleWidget-BAq2LGJF.js.map → TitleWidget-CLx-tuYT.js.map} +1 -1
  313. package/dist/{TitleWidget-ChGb6BJW.cjs → TitleWidget-ClhWhUf3.cjs} +2 -2
  314. package/dist/{TitleWidget-ChGb6BJW.cjs.map → TitleWidget-ClhWhUf3.cjs.map} +1 -1
  315. package/dist/{ToolsTab-CB_6hFQF.cjs → ToolsTab-DTHap-Nq.cjs} +2 -2
  316. package/dist/{ToolsTab-CB_6hFQF.cjs.map → ToolsTab-DTHap-Nq.cjs.map} +1 -1
  317. package/dist/{ToolsTab-USmbUvDq.js → ToolsTab-lBB_KhmA.js} +10 -10
  318. package/dist/{ToolsTab-USmbUvDq.js.map → ToolsTab-lBB_KhmA.js.map} +1 -1
  319. package/dist/{TopBar-B4RDkLs-.js → TopBar-C810rP_B.js} +4 -4
  320. package/dist/{TopBar-B4RDkLs-.js.map → TopBar-C810rP_B.js.map} +1 -1
  321. package/dist/{TopBar-DzL3L4ih.cjs → TopBar-Ctzx7o2k.cjs} +2 -2
  322. package/dist/{TopBar-DzL3L4ih.cjs.map → TopBar-Ctzx7o2k.cjs.map} +1 -1
  323. package/dist/{TsdbTab-0aYlysh5.js → TsdbTab-7F4mRKDo.js} +6 -6
  324. package/dist/{TsdbTab-0aYlysh5.js.map → TsdbTab-7F4mRKDo.js.map} +1 -1
  325. package/dist/{TsdbTab-H64XGfOO.cjs → TsdbTab-DVF6n9mq.cjs} +2 -2
  326. package/dist/{TsdbTab-H64XGfOO.cjs.map → TsdbTab-DVF6n9mq.cjs.map} +1 -1
  327. package/dist/{UpgradeToEnterpriseDialog-DTmnp8xy.js → UpgradeToEnterpriseDialog-D_S574Zb.js} +6 -6
  328. package/dist/{UpgradeToEnterpriseDialog-DTmnp8xy.js.map → UpgradeToEnterpriseDialog-D_S574Zb.js.map} +1 -1
  329. package/dist/{UpgradeToEnterpriseDialog-BBRXrLrL.cjs → UpgradeToEnterpriseDialog-XJb6gVCY.cjs} +2 -2
  330. package/dist/{UpgradeToEnterpriseDialog-BBRXrLrL.cjs.map → UpgradeToEnterpriseDialog-XJb6gVCY.cjs.map} +1 -1
  331. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js} +11973 -11975
  332. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js.map +1 -0
  333. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs +1485 -0
  334. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs.map +1 -0
  335. package/dist/{VWidget-0KwtSssI.js → VWidget-CxnaMF0w.js} +3 -3
  336. package/dist/{VWidget-0KwtSssI.js.map → VWidget-CxnaMF0w.js.map} +1 -1
  337. package/dist/{VWidget-SWmlQP30.cjs → VWidget-dEHSEvZx.cjs} +2 -2
  338. package/dist/{VWidget-SWmlQP30.cjs.map → VWidget-dEHSEvZx.cjs.map} +1 -1
  339. package/dist/{ValueWidget-BGNqaaRs.js → ValueWidget-BYgpXfDo.js} +6 -6
  340. package/dist/{ValueWidget-BGNqaaRs.js.map → ValueWidget-BYgpXfDo.js.map} +1 -1
  341. package/dist/{ValueWidget-BfxZq1LD.cjs → ValueWidget-Bws1qOEI.cjs} +2 -2
  342. package/dist/{ValueWidget-BfxZq1LD.cjs.map → ValueWidget-Bws1qOEI.cjs.map} +1 -1
  343. package/dist/{ValuelimitsbarWidget-m5fBewLy.cjs → ValuelimitsbarWidget-BoZSJvuq.cjs} +2 -2
  344. package/dist/{ValuelimitsbarWidget-m5fBewLy.cjs.map → ValuelimitsbarWidget-BoZSJvuq.cjs.map} +1 -1
  345. package/dist/{ValuelimitsbarWidget-B6mH4PdF.js → ValuelimitsbarWidget-Dc9-VNZ3.js} +7 -7
  346. package/dist/{ValuelimitsbarWidget-B6mH4PdF.js.map → ValuelimitsbarWidget-Dc9-VNZ3.js.map} +1 -1
  347. package/dist/{ValuelimitscolumnWidget-DlX90_-6.js → ValuelimitscolumnWidget-b7W8K3mR.js} +7 -7
  348. package/dist/{ValuelimitscolumnWidget-DlX90_-6.js.map → ValuelimitscolumnWidget-b7W8K3mR.js.map} +1 -1
  349. package/dist/{ValuelimitscolumnWidget-D_5XZhiD.cjs → ValuelimitscolumnWidget-ta9i_tiy.cjs} +2 -2
  350. package/dist/{ValuelimitscolumnWidget-D_5XZhiD.cjs.map → ValuelimitscolumnWidget-ta9i_tiy.cjs.map} +1 -1
  351. package/dist/{ValuerangebarWidget-C9xyLOJO.js → ValuerangebarWidget-DmhczZQb.js} +7 -7
  352. package/dist/{ValuerangebarWidget-C9xyLOJO.js.map → ValuerangebarWidget-DmhczZQb.js.map} +1 -1
  353. package/dist/{ValuerangebarWidget-C3XFFRhf.cjs → ValuerangebarWidget-Ips-beG6.cjs} +2 -2
  354. package/dist/{ValuerangebarWidget-C3XFFRhf.cjs.map → ValuerangebarWidget-Ips-beG6.cjs.map} +1 -1
  355. package/dist/{VerticalWidget-D-U8cue6.cjs → VerticalWidget-BVt7QPjO.cjs} +2 -2
  356. package/dist/{VerticalWidget-D-U8cue6.cjs.map → VerticalWidget-BVt7QPjO.cjs.map} +1 -1
  357. package/dist/{VerticalWidget-0UbbE2g3.js → VerticalWidget-BvsVh0Ob.js} +4 -4
  358. package/dist/{VerticalWidget-0UbbE2g3.js.map → VerticalWidget-BvsVh0Ob.js.map} +1 -1
  359. package/dist/{VerticalboxWidget-C4nkJhEd.cjs → VerticalboxWidget-CNoXT3YW.cjs} +2 -2
  360. package/dist/{VerticalboxWidget-C4nkJhEd.cjs.map → VerticalboxWidget-CNoXT3YW.cjs.map} +1 -1
  361. package/dist/{VerticalboxWidget-efbeOAKE.js → VerticalboxWidget-ClTCDCQN.js} +7 -7
  362. package/dist/{VerticalboxWidget-efbeOAKE.js.map → VerticalboxWidget-ClTCDCQN.js.map} +1 -1
  363. package/dist/{Widget-D0drYWOT.cjs → Widget-CB_BtOFw.cjs} +2 -2
  364. package/dist/{Widget-D0drYWOT.cjs.map → Widget-CB_BtOFw.cjs.map} +1 -1
  365. package/dist/{Widget-CGePksBA.js → Widget-DRhVdCLP.js} +2 -2
  366. package/dist/{Widget-CGePksBA.js.map → Widget-DRhVdCLP.js.map} +1 -1
  367. package/dist/components.cjs +1 -1
  368. package/dist/components.js +19 -19
  369. package/dist/icons.js +2 -2
  370. package/dist/{index-Cmp6oZpm.cjs → index-3sXOEKCU.cjs} +4 -4
  371. package/dist/{index-Cmp6oZpm.cjs.map → index-3sXOEKCU.cjs.map} +1 -1
  372. package/dist/{index-DqKiZufS.cjs → index-B34azWgs.cjs} +4 -4
  373. package/dist/index-B34azWgs.cjs.map +1 -0
  374. package/dist/{index-C7Uj4U87.js → index-CJcL4_a4.js} +6 -6
  375. package/dist/index-CJcL4_a4.js.map +1 -0
  376. package/dist/{index-BJrYCoCB.js → index-GYAZJDxn.js} +70 -70
  377. package/dist/{index-BJrYCoCB.js.map → index-GYAZJDxn.js.map} +1 -1
  378. package/dist/plugins.cjs.map +1 -1
  379. package/dist/plugins.js +2 -2
  380. package/dist/plugins.js.map +1 -1
  381. package/dist/{settings-l1j_GGzu.cjs → settings-B0AhztTk.cjs} +2 -2
  382. package/dist/{settings-l1j_GGzu.cjs.map → settings-B0AhztTk.cjs.map} +1 -1
  383. package/dist/{settings-CjmDHCpE.js → settings-C2auUQwX.js} +2 -2
  384. package/dist/{settings-CjmDHCpE.js.map → settings-C2auUQwX.js.map} +1 -1
  385. package/dist/tools/admin.cjs +1 -1
  386. package/dist/tools/admin.js +1 -1
  387. package/dist/tools/base.cjs +1 -1
  388. package/dist/tools/base.js +8 -8
  389. package/dist/tools/calendar.cjs +1 -1
  390. package/dist/tools/calendar.js +1 -1
  391. package/dist/tools/scriptrunner.cjs +8 -8
  392. package/dist/tools/scriptrunner.cjs.map +1 -1
  393. package/dist/tools/scriptrunner.js +2984 -3195
  394. package/dist/tools/scriptrunner.js.map +1 -1
  395. package/dist/vue-common.css +1 -1
  396. package/dist/widgets.cjs +1 -1
  397. package/dist/widgets.js +65 -65
  398. package/package.json +7 -7
  399. package/dist/Graph-BTtGIbYG.js.map +0 -1
  400. package/dist/Graph-Cy2LrwoK.cjs.map +0 -1
  401. package/dist/HorizontallineWidget-DPiADCAy.js +0 -16
  402. package/dist/MicroservicesTab-CiEGGavF.js.map +0 -1
  403. package/dist/MicroservicesTab-DvDK2hPW.cjs +0 -4
  404. package/dist/MicroservicesTab-DvDK2hPW.cjs.map +0 -1
  405. package/dist/Openc3Screen-BnM1bNOB.js.map +0 -1
  406. package/dist/Openc3Screen-DoOAFAlJ.cjs.map +0 -1
  407. package/dist/PackagesTab-2Mu7yvxU.cjs +0 -2
  408. package/dist/PackagesTab-2Mu7yvxU.cjs.map +0 -1
  409. package/dist/PackagesTab-DGrqIo_Z.js.map +0 -1
  410. package/dist/PluginsTab-BXjVe_81.js.map +0 -1
  411. package/dist/PluginsTab-R6i60Pih.cjs +0 -6
  412. package/dist/PluginsTab-R6i60Pih.cjs.map +0 -1
  413. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js.map +0 -1
  414. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs +0 -1485
  415. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs.map +0 -1
  416. package/dist/index-C7Uj4U87.js.map +0 -1
  417. package/dist/index-DqKiZufS.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EventListDialog-DO32zY2U.cjs","sources":["../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/add.js","../src/tools/calendar/CreateDialog.js","../src/tools/calendar/ActivityCreateDialog.vue","../src/tools/calendar/ColorSelectForm.vue","../src/tools/calendar/DeleteItem.js","../src/tools/calendar/MetadataInputForm.vue","../src/tools/calendar/MetadataCreateDialog.vue","../src/tools/calendar/NoteCreateDialog.vue","../src/tools/calendar/EventListDialog.vue"],"sourcesContent":["import { addDays } from \"./addDays.js\";\nimport { addMonths } from \"./addMonths.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link add} function options.\n */\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @typeParam DateType - The `Date` type the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param duration - The object with years, months, weeks, days, hours, minutes, and seconds to be added.\n * @param options - An object with options\n *\n * @returns The new date with the seconds added\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport function add(date, duration, options) {\n const {\n years = 0,\n months = 0,\n weeks = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n } = duration;\n\n // Add years and months\n const _date = toDate(date, options?.in);\n const dateWithMonths =\n months || years ? addMonths(_date, months + years * 12) : _date;\n\n // Add weeks and days\n const dateWithDays =\n days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes, and seconds\n const minutesToAdd = minutes + hours * 60;\n const secondsToAdd = seconds + minutesToAdd * 60;\n const msToAdd = secondsToAdd * 1000;\n\n return constructFrom(options?.in || date, +dateWithDays + msToAdd);\n}\n\n// Fallback for modularized imports:\nexport default add;\n","/*\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { add, format, parse } from 'date-fns'\n\nexport default {\n props: {\n date: {\n type: String,\n },\n time: {\n type: String,\n },\n timeZone: {\n type: String,\n },\n },\n data() {\n return {\n startDate: '',\n startTime: '',\n endDate: '',\n endTime: '',\n }\n },\n methods: {\n calcStartDateTime: function () {\n if (this.date) {\n this.startDate = this.date\n this.endDate = this.date\n } else {\n this.startDate = format(new Date(), 'yyyy-MM-dd')\n this.endDate = format(new Date(), 'yyyy-MM-dd')\n }\n let ms = 1000 * 60 * 30 // 30 min\n let start = null\n if (this.time) {\n start = parse(this.time, 'HH:mm:ss', new Date())\n // Round down so the start is the beginning of the time box where they clicked\n start = new Date(Math.floor(start.getTime() / ms) * ms)\n } else {\n // Round up so the start is in the future\n start = new Date(Math.ceil(new Date().getTime() / ms) * ms)\n }\n this.startTime = format(start, 'HH:mm:ss')\n this.endTime = format(add(start, { minutes: 30 }), 'HH:mm:ss')\n },\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"clearHandler\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"activity\">Edit Activity</span>\n <span v-else>Create Activity</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-note-icon\"\n @click=\"clearHandler\"\n />\n </v-toolbar>\n <v-stepper\n v-model=\"dialogStep\"\n :items=\"['Activity Times', 'Activity Type']\"\n >\n <template v-if=\"dialogStep === 1\" #actions>\n <v-row class=\"ma-0 px-6 pb-4\">\n <v-spacer />\n <v-btn\n color=\"primary\"\n :disabled=\"validationError\"\n @click=\"dialogStep = 2\"\n >\n Next\n </v-btn>\n </v-row>\n </template>\n\n <!-- eslint-disable-next-line vue/valid-v-slot -->\n <template v-if=\"dialogStep === 2\" #actions>\n <v-row class=\"ma-0 px-6 pb-4\">\n <v-btn variant=\"text\" @click=\"() => (dialogStep -= 1)\">\n Previous\n </v-btn>\n <v-spacer />\n <v-btn variant=\"outlined\" class=\"mr-4\" @click=\"clearHandler\">\n Cancel\n </v-btn>\n <v-btn\n type=\"submit\"\n color=\"primary\"\n :disabled=\"!!error\"\n @click.prevent=\"submitHandler\"\n >\n Ok\n </v-btn>\n </v-row>\n </template>\n\n <template #item.1>\n <v-card-text>\n <div class=\"pr-2\">\n <v-select\n v-model=\"timeline\"\n density=\"compact\"\n hide-details\n variant=\"outlined\"\n :items=\"timelineNames\"\n label=\"Timeline\"\n data-test=\"activity-select-timeline\"\n class=\"pb-2\"\n >\n </v-select>\n <v-text-field\n v-model=\"customTitle\"\n type=\"text\"\n label=\"Custom Title\"\n class=\"pb-2\"\n data-test=\"activity-custom-title\"\n hide-details\n variant=\"outlined\"\n density=\"compact\"\n />\n <v-textarea\n v-model=\"notes\"\n label=\"Notes\"\n class=\"py-2 mb-2\"\n data-test=\"activity-notes\"\n hide-details\n variant=\"outlined\"\n density=\"compact\"\n rows=\"3\"\n />\n <v-row dense>\n <v-text-field\n v-model=\"startDate\"\n type=\"date\"\n label=\"Start Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"activity-start-date\"\n />\n <OpenC3TimePicker\n v-model=\"startTime\"\n label=\"Start Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"activity-start-time\"\n />\n </v-row>\n <v-row dense>\n <v-text-field\n v-model=\"endDate\"\n type=\"date\"\n label=\"End Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"activity-end-date\"\n />\n <OpenC3TimePicker\n v-model=\"endTime\"\n label=\"End Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"activity-end-time\"\n />\n </v-row>\n <v-row class=\"pl-3\">\n <v-checkbox\n v-model=\"recurring\"\n :disabled=\"!!activity\"\n label=\"Recurring\"\n hide-details\n data-test=\"recurring\"\n >\n </v-checkbox>\n </v-row>\n <v-row v-if=\"recurring\">\n <v-col>\n <div class=\"repeat\">Repeat every</div>\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"frequency\"\n :disabled=\"!!activity\"\n density=\"compact\"\n variant=\"outlined\"\n single-line\n hide-details\n data-test=\"recurring-frequency\"\n /></v-col>\n <v-col>\n <v-select\n v-model=\"timeSpan\"\n :disabled=\"!!activity\"\n :items=\"timeSpans\"\n style=\"primary\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n data-test=\"recurring-span\"\n />\n </v-col>\n </v-row>\n <v-row v-if=\"recurring\" style=\"padding-bottom: 10px\">\n <v-col>\n <div class=\"repeat\">Ending</div>\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"recurringEndDate\"\n type=\"date\"\n label=\"End Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n :disabled=\"!!activity\"\n data-test=\"recurring-end-date\"\n /></v-col>\n <v-col>\n <OpenC3TimePicker\n v-model=\"recurringEndTime\"\n label=\"End Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n :disabled=\"!!activity\"\n data-test=\"recurring-end-time\"\n /></v-col>\n </v-row>\n <v-row>\n <span\n v-show=\"timeError\"\n class=\"ma-2 text-red\"\n v-text=\"timeError\"\n />\n </v-row>\n </div>\n </v-card-text>\n </template>\n\n <template #item.2>\n <v-card-text>\n <div class=\"pr-2\">\n <v-select\n v-model=\"kind\"\n density=\"compact\"\n hide-details\n variant=\"outlined\"\n :items=\"types\"\n label=\"Activity Type\"\n data-test=\"activity-select-type\"\n class=\"pb-2\"\n >\n </v-select>\n <div v-if=\"kind === 'COMMAND'\">\n <v-textarea\n v-model=\"activityData\"\n label=\"Command Input\"\n rows=\"1\"\n readonly\n auto-grow\n data-test=\"activity-cmd\"\n @click:control=\"editItem()\"\n />\n </div>\n <div v-else-if=\"kind === 'SCRIPT'\" class=\"ma-3\">\n <script-chooser\n :model-value=\"activityData\"\n @file=\"fileHandler\"\n />\n <environment-chooser v-model=\"activityEnvironment\" />\n </div>\n <div v-else>\n <span class=\"ma-2\"> No required input </span>\n </div>\n <v-row v-show=\"typeError\" class=\"mt-2\">\n <span class=\"ma-2 text-red\" v-text=\"typeError\" />\n </v-row>\n </div>\n </v-card-text>\n </template>\n </v-stepper>\n </v-card>\n </v-dialog>\n\n <!-- Command Editor Dialog -->\n <v-dialog\n v-model=\"showCommandDialog\"\n max-width=\"1200\"\n persistent\n scrollable\n @keydown.esc=\"closeCommandDialog\"\n >\n <v-card>\n <v-card-title class=\"d-flex align-center\">\n <span>{{ dialogTitle }}</span>\n <v-spacer />\n <v-btn icon=\"mdi-close\" variant=\"text\" @click=\"closeCommandDialog\" />\n </v-card-title>\n <v-card-text class=\"pa-0\">\n <div v-if=\"dialogError\" class=\"error-message\">\n <v-icon class=\"mr-2\" color=\"error\">mdi-alert-circle</v-icon>\n <span class=\"flex-grow-1\">{{ dialogError }}</span>\n <v-btn\n icon=\"mdi-close\"\n size=\"small\"\n variant=\"text\"\n color=\"error\"\n class=\"ml-2\"\n @click=\"clearDialogError\"\n />\n </div>\n <command-editor\n ref=\"commandEditor\"\n :send-disabled=\"false\"\n :states-in-hex=\"statesInHex\"\n :show-ignored-params=\"showIgnoredParams\"\n :cmd-raw=\"cmdRaw\"\n :cmd-string=\"dialogCmdString\"\n :show-command-button=\"false\"\n @build-cmd=\"updateCommand($event)\"\n />\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn variant=\"outlined\" @click=\"closeCommandDialog\"> Cancel </v-btn>\n <v-btn color=\"primary\" variant=\"flat\" @click=\"updateCommand()\">\n Update Command\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport {\n EnvironmentChooser,\n ScriptChooser,\n CommandEditor,\n OpenC3TimePicker,\n} from '@/components'\nimport { TimeFilters } from '@/util'\nimport CreateDialog from './CreateDialog'\n\nexport default {\n components: {\n EnvironmentChooser,\n ScriptChooser,\n CommandEditor,\n OpenC3TimePicker,\n },\n mixins: [CreateDialog, TimeFilters],\n props: {\n modelValue: Boolean,\n timelines: {\n type: Array,\n required: true,\n },\n activity: {\n type: Object,\n default: null,\n },\n },\n emits: ['update:modelValue', 'update'],\n data() {\n return {\n timeline: null,\n dialogStep: 1,\n kind: '',\n types: ['COMMAND', 'SCRIPT', 'RESERVE'],\n activityData: '',\n activityEnvironment: [],\n customTitle: '',\n notes: '',\n rules: {\n required: (value) => !!value || 'Required',\n },\n recurring: false,\n recurringEndDate: null,\n recurringEndTime: null,\n frequency: 90,\n timeSpan: 'minutes',\n timeSpans: ['minutes', 'hours', 'days'],\n showCommandDialog: false,\n dialogTitle: 'Add Command',\n dialogError: '',\n dialogCmdString: null,\n }\n },\n computed: {\n timeError: function () {\n const now = new Date()\n const start = Date.parse(`${this.startDate}T${this.startTime}`)\n const end = Date.parse(`${this.endDate}T${this.endTime}`)\n if (start === end) {\n return 'Invalid start, end time. Activity must have different start and end times.'\n }\n if (now > start) {\n return 'Invalid start time. Activity must be in the future.'\n }\n if (start > end) {\n return 'Invalid start time. Activity start before end.'\n }\n return null\n },\n typeError: function () {\n if (!this.timeline) {\n return 'Activity must have a timeline selected.'\n }\n if (this.kind !== 'RESERVE' && !this.activityData) {\n return 'No data is selected or inputted'\n }\n return null\n },\n timelineNames: function () {\n return this.timelines.map((timeline) => {\n return timeline.name\n })\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n validationError: function () {\n return !!this.timeError || !this.timeline\n },\n },\n mounted: function () {\n this.updateValues()\n },\n methods: {\n changeKind: function (inputKind) {\n if (inputKind === this.kind) {\n return\n }\n this.kind = inputKind\n this.activityData = ''\n },\n fileHandler: function (event) {\n this.activityData = event\n },\n updateValues: function () {\n this.dialogStep = 1\n if (this.activity) {\n this.timeline = this.activity.name\n const sDate = new Date(this.activity.start * 1000)\n const eDate = new Date(this.activity.stop * 1000)\n this.startDate = this.formatDate(sDate, this.timeZone)\n this.startTime = this.formatTimeHMS(sDate, this.timeZone)\n this.endDate = this.formatDate(eDate, this.timeZone)\n this.endTime = this.formatTimeHMS(eDate, this.timeZone)\n this.kind = this.activity.kind.toUpperCase()\n this.activityData = this.activity.data[this.activity.kind]\n this.activityEnvironment = this.activity.data.environment\n this.customTitle = this.activity.data.customTitle || ''\n this.notes = this.activity.data.notes || ''\n if (this.activity.recurring?.uuid) {\n this.recurring = true\n const rDate = new Date(this.activity.recurring.end * 1000)\n this.recurringEndDate = this.formatDate(rDate, this.timeZone)\n this.recurringEndTime = this.formatTimeHMS(rDate, this.timeZone)\n this.frequency = this.activity.recurring.frequency\n this.timeSpan = this.activity.recurring.span\n }\n } else {\n this.calcStartDateTime()\n this.recurringEndDate = this.startDate\n this.recurringEndTime = this.startTime\n this.kind = ''\n this.activityData = ''\n this.activityEnvironment = []\n this.customTitle = ''\n this.notes = ''\n this.timeline = this.timelineNames[0]\n }\n },\n clearHandler: function () {\n this.show = !this.show\n },\n submitHandler() {\n // Call the api to create a new activity to add to the activities array\n let start = null\n let stop = null // API takes stop instead of end\n let recurringEnd = null\n if (this.timeZone === 'local') {\n start = new Date(this.startDate + ' ' + this.startTime).toISOString()\n stop = new Date(this.endDate + ' ' + this.endTime).toISOString()\n if (this.recurring) {\n recurringEnd = new Date(\n this.recurringEndDate + ' ' + this.recurringEndTime,\n ).toISOString()\n }\n } else {\n start = new Date(\n this.startDate + ' ' + this.startTime + 'Z',\n ).toISOString()\n stop = new Date(this.endDate + ' ' + this.endTime + 'Z').toISOString()\n if (this.recurring) {\n recurringEnd = new Date(\n this.recurringEndDate + ' ' + this.recurringEndTime + 'Z',\n ).toISOString()\n }\n }\n const kind = this.kind.toLowerCase()\n let data = {\n environment: this.activityEnvironment,\n customTitle: this.customTitle,\n notes: this.notes,\n }\n data[kind] = this.activityData\n let recurring = {}\n if (this.recurring) {\n recurring = {\n frequency: this.frequency,\n span: this.timeSpan,\n end: recurringEnd,\n }\n }\n if (this.activity) {\n Api.put(\n `/openc3-api/timeline/${this.activity.name}/activity/${this.activity.start}`,\n {\n data: { start, stop, kind, data, recurring },\n },\n )\n .then((response) => {\n const activityTime = this.formatSeconds(\n new Date(response.data.start * 1000),\n )\n this.$notify.normal({\n title: 'Updated Activity',\n body: `${activityTime} (${response.data.start}) on timeline: ${response.data.name}`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n .catch((error) => {\n this.show = !this.show\n })\n } else {\n Api.post(`/openc3-api/timeline/${this.timeline}/activities`, {\n data: { start, stop, kind, data, recurring },\n })\n .then((response) => {\n const activityTime = this.formatSeconds(\n new Date(response.data.start * 1000),\n )\n this.$notify.normal({\n title: 'Created Activity',\n body: `${activityTime} (${response.data.start}) on timeline: ${response.data.name}`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n .catch((error) => {\n this.show = !this.show\n })\n }\n // We don't do the $emit or set show here because it has to be in the callback\n this.clearHandler()\n },\n editItem: function () {\n // Set up dialog for editing\n this.dialogTitle = 'Edit Command'\n this.dialogCmdString = this.activityData\n this.showCommandDialog = true\n },\n closeCommandDialog: function () {\n this.showCommandDialog = false\n this.dialogCmdString = null\n this.dialogError = ''\n },\n clearDialogError: function () {\n this.dialogError = ''\n },\n updateCommand: function () {\n let commandString = ''\n try {\n commandString = this.$refs.commandEditor.getCmdString()\n } catch (error) {\n this.dialogError = error.message || 'Please fix command parameters'\n return\n }\n this.activityData = commandString\n this.showCommandDialog = false\n },\n },\n}\n</script>\n\n<style scoped>\n.repeat {\n padding-top: 10px;\n text-align: right;\n}\n\n.v-stepper--vertical .v-stepper__content {\n width: auto;\n margin: 0px 0px 0px 36px;\n padding: 0px;\n}\n</style>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-select v-model=\"color\" label=\"Color\" :items=\"swatches\">\n <template #prepend-inner>\n <v-icon :color=\"color\"> mdi-square </v-icon>\n </template>\n <template #item=\"{ props, item }\">\n <v-list-item v-bind=\"props\" :value=\"item.raw\">\n <template #prepend>\n <v-icon :color=\"item.raw\"> mdi-square </v-icon>\n </template>\n </v-list-item>\n </template>\n </v-select>\n </div>\n</template>\n\n<script>\nexport default {\n components: {},\n props: {\n modelValue: {\n type: String,\n required: true,\n },\n },\n emits: ['update:modelValue'],\n computed: {\n color: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n swatches: function () {\n return [\n '#005a8f',\n '#003784',\n '#8F3400',\n '#df1368',\n '#ff5252',\n '#df323b',\n '#9f0010',\n '#2d9437',\n '#004700',\n '#db7200',\n '#802700',\n '#0f2941',\n ]\n },\n },\n methods: {},\n}\n</script>\n","/*\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n methods: {\n deleteItem(item) {\n let start = null\n let api = ''\n switch (item.type.toLowerCase()) {\n case 'activity':\n api = 'activity'\n start = item.activity.start\n break\n case 'metadata':\n api = 'metadata'\n start = item.metadata.start\n break\n case 'note':\n api = 'notes'\n start = item.note.start\n break\n }\n this.$dialog\n .confirm(\n `Are you sure you want to remove ${item.typeStr} at ${item.startStr}`,\n {\n okText: 'Delete',\n cancelText: 'Cancel',\n },\n )\n .then(() => {\n return Api.delete(`/openc3-api/${api}/${start}`)\n })\n .then(() => {\n this.$emit('delete', item)\n this.$notify.normal({\n title: `Deleted ${item.typeStr}`,\n body: `Deleted ${item.typeStr} at ${item.startStr}`,\n })\n })\n .catch(() => {})\n },\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <span> Add metadata key value(s)</span>\n <v-table density=\"compact\">\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\" width=\"52px\">\n <v-btn\n icon=\"mdi-plus\"\n variant=\"text\"\n data-test=\"new-metadata-icon\"\n @click=\"newMetadata\"\n />\n </th>\n </tr>\n <tr v-for=\"(meta, i) in metadata\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"meta.key\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"meta.value\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n :data-test=\"`delete-metadata-icon-${i}`\"\n @click=\"rm(i)\"\n />\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n components: {},\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n emits: ['update:modelValue'],\n data() {\n return {}\n },\n computed: {\n metadata: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n newMetadata: function () {\n this.metadata.push({\n key: '',\n value: '',\n })\n },\n rm: function (index) {\n this.metadata.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"clearHandler\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"metadata\">Update Metadata</span>\n <span v-else>Create Metadata</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-metadata-icon\"\n @click=\"clearHandler\"\n />\n </v-toolbar>\n <v-stepper\n v-model=\"dialogStep\"\n editable\n :items=\"['Metadata Times', 'Metadata Input']\"\n >\n <template v-if=\"dialogStep === 2\" #actions>\n <v-row class=\"ma-0 px-6 pb-4\">\n <v-btn variant=\"text\" @click=\"() => (dialogStep -= 1)\">\n Previous\n </v-btn>\n <v-spacer />\n <v-btn variant=\"outlined\" class=\"mr-4\" @click=\"clearHandler\">\n Cancel\n </v-btn>\n <v-btn\n type=\"submit\"\n color=\"primary\"\n :disabled=\"!!error\"\n @click.prevent=\"submitHandler\"\n >\n Ok\n </v-btn>\n </v-row>\n </template>\n\n <template #item.1>\n <v-card-text>\n <div class=\"pa-2\">\n <color-select-form v-model=\"color\" />\n <v-row dense>\n <v-text-field\n v-model=\"startDate\"\n type=\"date\"\n label=\"Start Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"metadata-start-date\"\n />\n <OpenC3TimePicker\n v-model=\"startTime\"\n label=\"Start Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"metadata-start-time\"\n />\n </v-row>\n </div>\n </v-card-text>\n </template>\n\n <template #item.2>\n <v-card-text>\n <div class=\"pa-2\">\n <div style=\"min-height: 200px\">\n <metadata-input-form v-model=\"metadataVals\" />\n </div>\n <v-row v-show=\"typeError\">\n <span class=\"ma-2 text-red\" v-text=\"typeError\" />\n </v-row>\n </div>\n </v-card-text>\n </template>\n </v-stepper>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { TimeFilters } from '@/util'\nimport OpenC3TimePicker from '@/components/OpenC3TimePicker.vue'\nimport ColorSelectForm from './ColorSelectForm.vue'\nimport CreateDialog from './CreateDialog'\nimport MetadataInputForm from './MetadataInputForm.vue'\n\nexport default {\n components: {\n ColorSelectForm,\n MetadataInputForm,\n OpenC3TimePicker,\n },\n mixins: [CreateDialog, TimeFilters],\n props: {\n modelValue: Boolean,\n metadata: {\n type: Object,\n default: null,\n },\n },\n emits: ['update:modelValue', 'update'],\n data() {\n return {\n dialogStep: 1,\n color: '#003784',\n metadataVals: [],\n rules: {\n required: (value) => !!value || 'Required',\n },\n }\n },\n computed: {\n typeError: function () {\n if (!this.color) {\n return 'A color is required.'\n }\n if (this.metadataVals.length < 1) {\n return 'Please enter a value in the metadata table.'\n }\n const emptyKeyValue = this.metadataVals.find(\n (meta) => meta.key === '' || meta.value === '',\n )\n if (emptyKeyValue) {\n return 'Missing or empty key, value in the metadata table.'\n }\n return null\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n mounted: function () {\n this.updateValues()\n },\n methods: {\n updateValues: function () {\n this.dialogStep = 1\n if (this.metadata) {\n const sDate = new Date(this.metadata.start * 1000)\n this.startDate = this.formatDate(sDate, this.timeZone)\n this.startTime = this.formatTimeHMS(sDate, this.timeZone)\n this.color = this.metadata.color\n this.metadataVals = Object.keys(this.metadata.metadata).map((k) => {\n return { key: k, value: this.metadata.metadata[k] }\n })\n } else {\n this.calcStartDateTime()\n this.color = '#003784'\n this.metadataVals = []\n }\n },\n clearHandler: function () {\n this.show = !this.show\n },\n submitHandler() {\n const color = this.color\n const metadata = this.metadataVals.reduce((result, element) => {\n result[element.key] = element.value\n return result\n }, {})\n const data = { color, metadata }\n if (this.timeZone === 'local') {\n data.start = new Date(\n this.startDate + ' ' + this.startTime,\n ).toISOString()\n } else {\n data.start = new Date(\n this.startDate + ' ' + this.startTime + 'Z',\n ).toISOString()\n }\n if (this.metadata) {\n Api.put(`/openc3-api/metadata/${this.metadata.start}`, {\n data,\n }).then((response) => {\n this.$notify.normal({\n title: 'Updated Metadata',\n body: `Metadata updated: (${response.data.start})`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n } else {\n Api.post('/openc3-api/metadata', {\n data,\n }).then((response) => {\n this.$notify.normal({\n title: 'Created new Metadata',\n body: `Metadata: (${response.data.start})`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n }\n // We don't do the $emit or set show here because it has to be in the callback\n },\n },\n}\n</script>\n\n<style scoped>\n.v-stepper--vertical .v-stepper__content {\n width: auto;\n margin: 0px 0px 0px 36px;\n padding: 0px;\n}\n</style>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"clearHandler\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"note\">Update Note</span>\n <span v-else>Create Note</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-note-icon\"\n @click=\"clearHandler\"\n />\n </v-toolbar>\n <v-stepper\n v-model=\"dialogStep\"\n editable\n :items=\"['Note Times', 'Note Input']\"\n >\n <template v-if=\"dialogStep === 2\" #actions>\n <v-row class=\"ma-0 px-6 pb-4\">\n <v-btn variant=\"text\" @click=\"() => (dialogStep -= 1)\">\n Previous\n </v-btn>\n <v-spacer />\n <v-btn variant=\"outlined\" class=\"mr-4\" @click=\"clearHandler\">\n Cancel\n </v-btn>\n <v-btn\n type=\"submit\"\n color=\"primary\"\n :disabled=\"!!error\"\n @click.prevent=\"submitHandler\"\n >\n Ok\n </v-btn>\n </v-row>\n </template>\n\n <template #item.1>\n <v-card-text>\n <div class=\"pa-2\">\n <v-row dense>\n <v-text-field\n v-model=\"startDate\"\n type=\"date\"\n label=\"Start Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"note-start-date\"\n />\n <OpenC3TimePicker\n v-model=\"startTime\"\n label=\"Start Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"note-start-time\"\n />\n </v-row>\n <v-row dense>\n <v-text-field\n v-model=\"endDate\"\n type=\"date\"\n label=\"End Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"note-end-date\"\n />\n <OpenC3TimePicker\n v-model=\"endTime\"\n label=\"End Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"note-end-time\"\n />\n </v-row>\n <v-row>\n <span\n v-show=\"timeError\"\n class=\"ma-2 text-red\"\n v-text=\"timeError\"\n />\n </v-row>\n </div>\n </v-card-text>\n </template>\n\n <template #item.2>\n <v-card-text>\n <div class=\"pa-2\">\n <div>\n <color-select-form v-model=\"color\" />\n </div>\n <div>\n <v-text-field\n v-model=\"description\"\n type=\"text\"\n label=\"Note Description\"\n data-test=\"note-description\"\n />\n </div>\n <v-row v-show=\"typeError\">\n <span class=\"ma-2 text-red\" v-text=\"typeError\" />\n </v-row>\n </div>\n </v-card-text>\n </template>\n </v-stepper>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { TimeFilters } from '@/util'\nimport OpenC3TimePicker from '@/components/OpenC3TimePicker.vue'\nimport ColorSelectForm from './ColorSelectForm.vue'\nimport CreateDialog from './CreateDialog'\n\nexport default {\n components: {\n ColorSelectForm,\n OpenC3TimePicker,\n },\n mixins: [CreateDialog, TimeFilters],\n props: {\n modelValue: Boolean,\n note: {\n type: Object,\n default: null,\n },\n },\n emits: ['update:modelValue', 'update'],\n data() {\n return {\n dialogStep: 1,\n description: '',\n color: '#8F3400',\n rules: {\n required: (value) => !!value || 'Required',\n },\n }\n },\n computed: {\n timeError: function () {\n let start\n let end\n if (this.timeZone === 'local') {\n start = new Date(this.startDate + ' ' + this.startTime)\n end = new Date(this.endDate + ' ' + this.endTime)\n } else {\n start = new Date(this.startDate + ' ' + this.startTime + 'Z')\n end = new Date(this.endDate + ' ' + this.endTime + 'Z')\n }\n if (start === end) {\n return 'Invalid start, end time. Notes must have different start and end times.'\n }\n if (start > end) {\n return 'Invalid start time. Notes start before end.'\n }\n return null\n },\n typeError: function () {\n if (!this.color) {\n return 'A color is required.'\n }\n if (!this.description) {\n return 'A description is required for a valid note.'\n }\n return null\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n mounted: function () {\n this.updateValues()\n },\n methods: {\n updateValues: function () {\n this.dialogStep = 1\n if (this.note) {\n const sDate = new Date(this.note.start * 1000)\n this.startDate = this.formatDate(sDate, this.timeZone)\n this.startTime = this.formatTimeHMS(sDate, this.timeZone)\n const eDate = new Date(this.note.stop * 1000)\n this.endDate = this.formatDate(eDate, this.timeZone)\n this.endTime = this.formatTimeHMS(eDate, this.timeZone)\n this.color = this.note.color\n this.description = this.note.description\n } else {\n this.calcStartDateTime()\n this.color = '#8F3400'\n this.description = ''\n }\n },\n clearHandler: function () {\n this.show = !this.show\n },\n submitHandler() {\n let start\n let stop // API takes stop rather than end\n if (this.timeZone === 'local') {\n start = new Date(this.startDate + ' ' + this.startTime).toISOString()\n stop = new Date(this.endDate + ' ' + this.endTime).toISOString()\n } else {\n start = new Date(\n this.startDate + ' ' + this.startTime + 'Z',\n ).toISOString()\n stop = new Date(this.endDate + ' ' + this.endTime + 'Z').toISOString()\n }\n const color = this.color\n const description = this.description\n if (this.note) {\n Api.put(`/openc3-api/notes/${this.note.start}`, {\n data: { start, stop, color, description },\n }).then((response) => {\n const desc =\n response.data.description.length > 16\n ? `${response.data.description.substring(0, 16)}...`\n : response.data.description\n this.$notify.normal({\n title: 'Updated Note',\n body: `Note updated: (${response.data.start}): \"${desc}\"`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n } else {\n Api.post('/openc3-api/notes', {\n data: { start, stop, color, description },\n }).then((response) => {\n const desc =\n response.data.description.length > 16\n ? `${response.data.description.substring(0, 16)}...`\n : response.data.description\n this.$notify.normal({\n title: 'Created new Note',\n body: `Note: (${response.data.start}) created: \"${desc}\"`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n }\n // We don't do the $emit or set show here because it has to be in the callback\n },\n },\n}\n</script>\n\n<style scoped>\n.v-stepper--vertical .v-stepper__content {\n width: auto;\n margin: 0px 0px 0px 36px;\n padding: 0px;\n}\n</style>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"80vw\" @keydown.esc=\"close\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"newMetadata\">Metadata</span><span v-else>Events</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-metadata-icon\"\n aria-label=\"Close Dialog\"\n @click=\"close\"\n />\n </v-toolbar>\n <v-card-title>\n <v-row class=\"pa-3\">\n <span v-if=\"newMetadata\">Metadata</span><span v-else>Events</span>\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n single-line\n hide-details\n />\n </v-row>\n </v-card-title>\n <v-data-table\n :headers=\"eventHeaders\"\n :items=\"localEvents\"\n :search=\"search\"\n >\n <template #no-data>\n <span> No events </span>\n </template>\n <template #item.start=\"{ item }\">\n {{ formatDateTime(item.start, timeZone) }}\n </template>\n <template #item.end=\"{ item }\">\n {{ formatDateTime(item.end, timeZone) }}\n </template>\n <template #item.type=\"{ item }\">\n {{ item.type.charAt(0).toUpperCase() + item.type.slice(1) }}\n </template>\n <template #item.data=\"{ item }\">\n {{ dataFormat(item) }}\n </template>\n <template #item.actions=\"{ item }\">\n <v-btn\n icon=\"mdi-pencil\"\n variant=\"text\"\n size=\"small\"\n class=\"mr-2\"\n data-test=\"edit-event\"\n aria-label=\"Edit Event\"\n @click=\"editAction(item)\"\n />\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n size=\"small\"\n data-test=\"delete-event\"\n aria-label=\"Delete Event\"\n @click=\"deleteAction(item)\"\n />\n </template>\n </v-data-table>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"outlined\" data-test=\"close-event-list\" @click=\"close\">\n Close\n </v-btn>\n <v-btn\n v-if=\"newMetadata\"\n variant=\"flat\"\n data-test=\"new-event\"\n @click=\"showMetadataCreate = true\"\n >\n New Metadata\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n <!-- Edit existing events -->\n <activity-create-dialog\n v-if=\"showActivityUpdate\"\n v-model=\"showActivityUpdate\"\n :activity=\"editActivity\"\n :time-zone=\"timeZone\"\n @update=\"updateActivity\"\n />\n <metadata-create-dialog\n v-if=\"showMetadataUpdate\"\n v-model=\"showMetadataUpdate\"\n :metadata=\"editMetadata\"\n :time-zone=\"timeZone\"\n @update=\"updateMetadata\"\n />\n <note-create-dialog\n v-if=\"showNoteUpdate\"\n v-model=\"showNoteUpdate\"\n :note=\"editNote\"\n :time-zone=\"timeZone\"\n @update=\"updateNote\"\n />\n <!-- Create new metadata -->\n <metadata-create-dialog\n v-if=\"showMetadataCreate\"\n v-model=\"showMetadataCreate\"\n :time-zone=\"timeZone\"\n @update=\"addMetadata\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { TimeFilters } from '@/util'\nimport ActivityCreateDialog from './ActivityCreateDialog.vue'\nimport DeleteItem from './DeleteItem'\nimport MetadataCreateDialog from './MetadataCreateDialog.vue'\nimport NoteCreateDialog from './NoteCreateDialog.vue'\n\nexport default {\n components: {\n ActivityCreateDialog,\n MetadataCreateDialog,\n NoteCreateDialog,\n },\n mixins: [TimeFilters, DeleteItem],\n props: {\n events: {\n type: Array,\n required: true,\n },\n modelValue: {\n type: Boolean,\n required: true,\n },\n timeZone: {\n type: String,\n required: true,\n },\n types: {\n type: Array,\n default: null,\n },\n newMetadata: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue', 'close', 'update'],\n data() {\n return {\n search: '',\n localEvents: [...this.events],\n eventHeaders: [\n { title: 'Start', key: 'start', width: 215 },\n { title: 'Stop', key: 'end', width: 215 },\n { title: 'Type', key: 'type' },\n { title: 'Data', key: 'data' },\n { title: 'Actions', key: 'actions', sortable: false },\n ],\n editActivity: { start: new Date(), end: new Date() },\n editMetadata: { start: new Date(), end: new Date() },\n editNote: { start: new Date(), end: new Date() },\n editIndex: 0,\n showActivityUpdate: false,\n showMetadataUpdate: false,\n showNoteUpdate: false,\n showMetadataCreate: false,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n created: function () {\n // TODO: Switch to vue3 syntax\n // this.$on('delete', (item) => {\n // let index = this.localEvents.findIndex((element) => {\n // return element.type === item.type && element.start === item.start\n // })\n // this.localEvents.splice(index, 1)\n // })\n },\n methods: {\n close() {\n this.$emit('close')\n this.show = false\n },\n dataFormat(event) {\n let data = event.name\n switch (event.type) {\n case 'note':\n data = event.note.description\n break\n case 'metadata':\n let rows = []\n Object.entries(event.metadata.metadata).forEach(([key, value]) =>\n rows.push(`${key}: ${value}`),\n )\n data = rows.join(', ')\n break\n }\n return data\n },\n editAction(item) {\n this.editIndex = this.localEvents.findIndex((element) => {\n return element.type === item.type && element.start === item.start\n })\n switch (item.type) {\n case 'activity':\n this.editActivity = item.activity\n this.showActivityUpdate = true\n break\n case 'metadata':\n this.editMetadata = item.metadata\n this.showMetadataUpdate = true\n break\n case 'note':\n this.editNote = item.note\n this.showNoteUpdate = true\n break\n }\n },\n deleteAction(item) {\n let deleteIndex = this.localEvents.findIndex((element) => {\n return element.type === item.type && element.start === item.start\n })\n let api = null\n let start = null\n let uuid = null\n switch (item.type) {\n case 'activity':\n api = `timeline/${item.activity.name}/activity`\n start = item.activity.start\n uuid = item.activity.uuid\n break\n case 'metadata':\n api = 'metadata'\n start = item.metadata.start\n break\n case 'note':\n api = 'notes'\n start = item.note.start\n break\n }\n\n this.$dialog\n .confirm(\n `Are you sure you want to remove ${item.type} at ${item.start}`,\n {\n okText: 'Delete',\n cancelText: 'Cancel',\n },\n )\n .then((dialog) => {\n this.localEvents.splice(deleteIndex, 1)\n let url = `/openc3-api/${api}/${start}`\n if (uuid) {\n url += `/${uuid}`\n }\n return Api.delete(url)\n })\n .then((response) => {\n this.$emit('update')\n this.$notify.normal({\n title: `Deleted ${item.type}`,\n body: `Deleted ${item.type} at ${start}`,\n })\n })\n .catch((error) => {\n // TODO: It returns true on cancel?\n })\n },\n updateActivity(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].activity = item\n },\n updateMetadata(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].metadata = item\n },\n updateNote(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].note = item\n },\n addMetadata(item) {\n // TODO: This is how Calendar creates new metadata items via makeMetadataEvent\n let metadata = {\n name: 'Metadata',\n start: new Date(item.start * 1000),\n end: new Date(item.start * 1000),\n color: item.color,\n type: item.type,\n timed: true,\n metadata: item,\n }\n this.localEvents.push(metadata)\n },\n },\n}\n</script>\n"],"names":["add","date","duration","options","years","months","weeks","days","hours","minutes","seconds","_date","toDate","dateWithMonths","addMonths","dateWithDays","addDays","minutesToAdd","msToAdd","constructFrom","CreateDialog","format","ms","start","parse","_sfc_main","EnvironmentChooser","ScriptChooser","CommandEditor","OpenC3TimePicker","TimeFilters","value","now","end","timeline","inputKind","event","sDate","eDate","rDate","stop","recurringEnd","kind","data","recurring","Api","response","activityTime","error","commandString","_hoisted_3","_hoisted_5","_hoisted_11","_createElementBlock","_createVNode","_component_v_dialog","$options","$event","_component_v_card","_component_v_toolbar","_component_v_spacer","$props","_openBlock","_component_v_btn","_component_v_stepper","$data","_component_v_card_text","_createElementVNode","_component_v_select","_component_v_text_field","_component_v_textarea","_component_v_row","_ctx","_component_OpenC3TimePicker","_component_v_checkbox","_createBlock","_component_v_col","_cache","_toDisplayString","_hoisted_6","_hoisted_7","_component_script_chooser","_component_environment_chooser","_hoisted_8","_component_v_card_title","_hoisted_10","_component_v_icon","_component_command_editor","_component_v_card_actions","_withCtx","props","item","_component_v_list_item","_mergeProps","DeleteItem","api","index","_component_v_table","_hoisted_1","_Fragment","_renderList","meta","i","ColorSelectForm","MetadataInputForm","k","color","metadata","result","element","_hoisted_4","_component_color_select_form","_component_metadata_input_form","description","desc","ActivityCreateDialog","MetadataCreateDialog","NoteCreateDialog","rows","key","deleteIndex","uuid","dialog","url","_component_v_data_table","_createTextVNode","_component_activity_create_dialog","_component_metadata_create_dialog","_component_note_create_dialog"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"EventListDialog-EmC7YW60.cjs","sources":["../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/add.js","../src/tools/calendar/CreateDialog.js","../src/tools/calendar/ActivityCreateDialog.vue","../src/tools/calendar/ColorSelectForm.vue","../src/tools/calendar/DeleteItem.js","../src/tools/calendar/MetadataInputForm.vue","../src/tools/calendar/MetadataCreateDialog.vue","../src/tools/calendar/NoteCreateDialog.vue","../src/tools/calendar/EventListDialog.vue"],"sourcesContent":["import { addDays } from \"./addDays.js\";\nimport { addMonths } from \"./addMonths.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link add} function options.\n */\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @typeParam DateType - The `Date` type the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param duration - The object with years, months, weeks, days, hours, minutes, and seconds to be added.\n * @param options - An object with options\n *\n * @returns The new date with the seconds added\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport function add(date, duration, options) {\n const {\n years = 0,\n months = 0,\n weeks = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n } = duration;\n\n // Add years and months\n const _date = toDate(date, options?.in);\n const dateWithMonths =\n months || years ? addMonths(_date, months + years * 12) : _date;\n\n // Add weeks and days\n const dateWithDays =\n days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes, and seconds\n const minutesToAdd = minutes + hours * 60;\n const secondsToAdd = seconds + minutesToAdd * 60;\n const msToAdd = secondsToAdd * 1000;\n\n return constructFrom(options?.in || date, +dateWithDays + msToAdd);\n}\n\n// Fallback for modularized imports:\nexport default add;\n","/*\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { add, format, parse } from 'date-fns'\n\nexport default {\n props: {\n date: {\n type: String,\n },\n time: {\n type: String,\n },\n timeZone: {\n type: String,\n },\n },\n data() {\n return {\n startDate: '',\n startTime: '',\n endDate: '',\n endTime: '',\n }\n },\n methods: {\n calcStartDateTime: function () {\n if (this.date) {\n this.startDate = this.date\n this.endDate = this.date\n } else {\n this.startDate = format(new Date(), 'yyyy-MM-dd')\n this.endDate = format(new Date(), 'yyyy-MM-dd')\n }\n let ms = 1000 * 60 * 30 // 30 min\n let start = null\n if (this.time) {\n start = parse(this.time, 'HH:mm:ss', new Date())\n // Round down so the start is the beginning of the time box where they clicked\n start = new Date(Math.floor(start.getTime() / ms) * ms)\n } else {\n // Round up so the start is in the future\n start = new Date(Math.ceil(new Date().getTime() / ms) * ms)\n }\n this.startTime = format(start, 'HH:mm:ss')\n this.endTime = format(add(start, { minutes: 30 }), 'HH:mm:ss')\n },\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"clearHandler\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"activity\">Edit Activity</span>\n <span v-else>Create Activity</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-note-icon\"\n @click=\"clearHandler\"\n />\n </v-toolbar>\n <v-stepper\n v-model=\"dialogStep\"\n :items=\"['Activity Times', 'Activity Type']\"\n >\n <template v-if=\"dialogStep === 1\" #actions>\n <v-row class=\"ma-0 px-6 pb-4\">\n <v-spacer />\n <v-btn\n color=\"primary\"\n :disabled=\"validationError\"\n @click=\"dialogStep = 2\"\n >\n Next\n </v-btn>\n </v-row>\n </template>\n\n <!-- eslint-disable-next-line vue/valid-v-slot -->\n <template v-if=\"dialogStep === 2\" #actions>\n <v-row class=\"ma-0 px-6 pb-4\">\n <v-btn variant=\"text\" @click=\"() => (dialogStep -= 1)\">\n Previous\n </v-btn>\n <v-spacer />\n <v-btn variant=\"outlined\" class=\"mr-4\" @click=\"clearHandler\">\n Cancel\n </v-btn>\n <v-btn\n type=\"submit\"\n color=\"primary\"\n :disabled=\"!!error\"\n @click.prevent=\"submitHandler\"\n >\n Ok\n </v-btn>\n </v-row>\n </template>\n\n <template #item.1>\n <v-card-text>\n <div class=\"pr-2\">\n <v-select\n v-model=\"timeline\"\n density=\"compact\"\n hide-details\n variant=\"outlined\"\n :items=\"timelineNames\"\n label=\"Timeline\"\n data-test=\"activity-select-timeline\"\n class=\"pb-2\"\n >\n </v-select>\n <v-text-field\n v-model=\"customTitle\"\n type=\"text\"\n label=\"Custom Title\"\n class=\"pb-2\"\n data-test=\"activity-custom-title\"\n hide-details\n variant=\"outlined\"\n density=\"compact\"\n />\n <v-textarea\n v-model=\"notes\"\n label=\"Notes\"\n class=\"py-2 mb-2\"\n data-test=\"activity-notes\"\n hide-details\n variant=\"outlined\"\n density=\"compact\"\n rows=\"3\"\n />\n <v-row dense>\n <v-text-field\n v-model=\"startDate\"\n type=\"date\"\n label=\"Start Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"activity-start-date\"\n />\n <OpenC3TimePicker\n v-model=\"startTime\"\n label=\"Start Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"activity-start-time\"\n />\n </v-row>\n <v-row dense>\n <v-text-field\n v-model=\"endDate\"\n type=\"date\"\n label=\"End Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"activity-end-date\"\n />\n <OpenC3TimePicker\n v-model=\"endTime\"\n label=\"End Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"activity-end-time\"\n />\n </v-row>\n <v-row class=\"pl-3\">\n <v-checkbox\n v-model=\"recurring\"\n :disabled=\"!!activity\"\n label=\"Recurring\"\n hide-details\n data-test=\"recurring\"\n >\n </v-checkbox>\n </v-row>\n <v-row v-if=\"recurring\">\n <v-col>\n <div class=\"repeat\">Repeat every</div>\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"frequency\"\n :disabled=\"!!activity\"\n density=\"compact\"\n variant=\"outlined\"\n single-line\n hide-details\n data-test=\"recurring-frequency\"\n /></v-col>\n <v-col>\n <v-select\n v-model=\"timeSpan\"\n :disabled=\"!!activity\"\n :items=\"timeSpans\"\n style=\"primary\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n data-test=\"recurring-span\"\n />\n </v-col>\n </v-row>\n <v-row v-if=\"recurring\" style=\"padding-bottom: 10px\">\n <v-col>\n <div class=\"repeat\">Ending</div>\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"recurringEndDate\"\n type=\"date\"\n label=\"End Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n :disabled=\"!!activity\"\n data-test=\"recurring-end-date\"\n /></v-col>\n <v-col>\n <OpenC3TimePicker\n v-model=\"recurringEndTime\"\n label=\"End Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n :disabled=\"!!activity\"\n data-test=\"recurring-end-time\"\n /></v-col>\n </v-row>\n <v-row>\n <span\n v-show=\"timeError\"\n class=\"ma-2 text-red\"\n v-text=\"timeError\"\n />\n </v-row>\n </div>\n </v-card-text>\n </template>\n\n <template #item.2>\n <v-card-text>\n <div class=\"pr-2\">\n <v-select\n v-model=\"kind\"\n density=\"compact\"\n hide-details\n variant=\"outlined\"\n :items=\"types\"\n label=\"Activity Type\"\n data-test=\"activity-select-type\"\n class=\"pb-2\"\n >\n </v-select>\n <div v-if=\"kind === 'COMMAND'\">\n <v-textarea\n v-model=\"activityData\"\n label=\"Command Input\"\n rows=\"1\"\n readonly\n auto-grow\n data-test=\"activity-cmd\"\n @click:control=\"editItem()\"\n />\n </div>\n <div v-else-if=\"kind === 'SCRIPT'\" class=\"ma-3\">\n <script-chooser\n :model-value=\"activityData\"\n @file=\"fileHandler\"\n />\n <environment-chooser v-model=\"activityEnvironment\" />\n </div>\n <div v-else>\n <span class=\"ma-2\"> No required input </span>\n </div>\n <v-row v-show=\"typeError\" class=\"mt-2\">\n <span class=\"ma-2 text-red\" v-text=\"typeError\" />\n </v-row>\n </div>\n </v-card-text>\n </template>\n </v-stepper>\n </v-card>\n </v-dialog>\n\n <!-- Command Editor Dialog -->\n <v-dialog\n v-model=\"showCommandDialog\"\n max-width=\"1200\"\n persistent\n scrollable\n @keydown.esc=\"closeCommandDialog\"\n >\n <v-card>\n <v-card-title class=\"d-flex align-center\">\n <span>{{ dialogTitle }}</span>\n <v-spacer />\n <v-btn icon=\"mdi-close\" variant=\"text\" @click=\"closeCommandDialog\" />\n </v-card-title>\n <v-card-text class=\"pa-0\">\n <div v-if=\"dialogError\" class=\"error-message\">\n <v-icon class=\"mr-2\" color=\"error\">mdi-alert-circle</v-icon>\n <span class=\"flex-grow-1\">{{ dialogError }}</span>\n <v-btn\n icon=\"mdi-close\"\n size=\"small\"\n variant=\"text\"\n color=\"error\"\n class=\"ml-2\"\n @click=\"clearDialogError\"\n />\n </div>\n <command-editor\n ref=\"commandEditor\"\n :send-disabled=\"false\"\n :states-in-hex=\"statesInHex\"\n :show-ignored-params=\"showIgnoredParams\"\n :cmd-raw=\"cmdRaw\"\n :cmd-string=\"dialogCmdString\"\n :show-command-button=\"false\"\n @build-cmd=\"updateCommand($event)\"\n />\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn variant=\"outlined\" @click=\"closeCommandDialog\"> Cancel </v-btn>\n <v-btn color=\"primary\" variant=\"flat\" @click=\"updateCommand()\">\n Update Command\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport {\n EnvironmentChooser,\n ScriptChooser,\n CommandEditor,\n OpenC3TimePicker,\n} from '@/components'\nimport { TimeFilters } from '@/util'\nimport CreateDialog from './CreateDialog'\n\nexport default {\n components: {\n EnvironmentChooser,\n ScriptChooser,\n CommandEditor,\n OpenC3TimePicker,\n },\n mixins: [CreateDialog, TimeFilters],\n props: {\n modelValue: Boolean,\n timelines: {\n type: Array,\n required: true,\n },\n activity: {\n type: Object,\n default: null,\n },\n },\n emits: ['update:modelValue', 'update'],\n data() {\n return {\n timeline: null,\n dialogStep: 1,\n kind: '',\n types: ['COMMAND', 'SCRIPT', 'RESERVE'],\n activityData: '',\n activityEnvironment: [],\n customTitle: '',\n notes: '',\n rules: {\n required: (value) => !!value || 'Required',\n },\n recurring: false,\n recurringEndDate: null,\n recurringEndTime: null,\n frequency: 90,\n timeSpan: 'minutes',\n timeSpans: ['minutes', 'hours', 'days'],\n showCommandDialog: false,\n dialogTitle: 'Add Command',\n dialogError: '',\n dialogCmdString: null,\n }\n },\n computed: {\n timeError: function () {\n const now = new Date()\n const start = Date.parse(`${this.startDate}T${this.startTime}`)\n const end = Date.parse(`${this.endDate}T${this.endTime}`)\n if (start === end) {\n return 'Invalid start, end time. Activity must have different start and end times.'\n }\n if (now > start) {\n return 'Invalid start time. Activity must be in the future.'\n }\n if (start > end) {\n return 'Invalid start time. Activity start before end.'\n }\n return null\n },\n typeError: function () {\n if (!this.timeline) {\n return 'Activity must have a timeline selected.'\n }\n if (this.kind !== 'RESERVE' && !this.activityData) {\n return 'No data is selected or inputted'\n }\n return null\n },\n timelineNames: function () {\n return this.timelines.map((timeline) => {\n return timeline.name\n })\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n validationError: function () {\n return !!this.timeError || !this.timeline\n },\n },\n mounted: function () {\n this.updateValues()\n },\n methods: {\n changeKind: function (inputKind) {\n if (inputKind === this.kind) {\n return\n }\n this.kind = inputKind\n this.activityData = ''\n },\n fileHandler: function (event) {\n this.activityData = event\n },\n updateValues: function () {\n this.dialogStep = 1\n if (this.activity) {\n this.timeline = this.activity.name\n const sDate = new Date(this.activity.start * 1000)\n const eDate = new Date(this.activity.stop * 1000)\n this.startDate = this.formatDate(sDate, this.timeZone)\n this.startTime = this.formatTimeHMS(sDate, this.timeZone)\n this.endDate = this.formatDate(eDate, this.timeZone)\n this.endTime = this.formatTimeHMS(eDate, this.timeZone)\n this.kind = this.activity.kind.toUpperCase()\n this.activityData = this.activity.data[this.activity.kind]\n this.activityEnvironment = this.activity.data.environment\n this.customTitle = this.activity.data.customTitle || ''\n this.notes = this.activity.data.notes || ''\n if (this.activity.recurring?.uuid) {\n this.recurring = true\n const rDate = new Date(this.activity.recurring.end * 1000)\n this.recurringEndDate = this.formatDate(rDate, this.timeZone)\n this.recurringEndTime = this.formatTimeHMS(rDate, this.timeZone)\n this.frequency = this.activity.recurring.frequency\n this.timeSpan = this.activity.recurring.span\n }\n } else {\n this.calcStartDateTime()\n this.recurringEndDate = this.startDate\n this.recurringEndTime = this.startTime\n this.kind = ''\n this.activityData = ''\n this.activityEnvironment = []\n this.customTitle = ''\n this.notes = ''\n this.timeline = this.timelineNames[0]\n }\n },\n clearHandler: function () {\n this.show = !this.show\n },\n submitHandler() {\n // Call the api to create a new activity to add to the activities array\n let start = null\n let stop = null // API takes stop instead of end\n let recurringEnd = null\n if (this.timeZone === 'local') {\n start = new Date(this.startDate + ' ' + this.startTime).toISOString()\n stop = new Date(this.endDate + ' ' + this.endTime).toISOString()\n if (this.recurring) {\n recurringEnd = new Date(\n this.recurringEndDate + ' ' + this.recurringEndTime,\n ).toISOString()\n }\n } else {\n start = new Date(\n this.startDate + ' ' + this.startTime + 'Z',\n ).toISOString()\n stop = new Date(this.endDate + ' ' + this.endTime + 'Z').toISOString()\n if (this.recurring) {\n recurringEnd = new Date(\n this.recurringEndDate + ' ' + this.recurringEndTime + 'Z',\n ).toISOString()\n }\n }\n const kind = this.kind.toLowerCase()\n let data = {\n environment: this.activityEnvironment,\n customTitle: this.customTitle,\n notes: this.notes,\n }\n data[kind] = this.activityData\n let recurring = {}\n if (this.recurring) {\n recurring = {\n frequency: this.frequency,\n span: this.timeSpan,\n end: recurringEnd,\n }\n }\n if (this.activity) {\n Api.put(\n `/openc3-api/timeline/${this.activity.name}/activity/${this.activity.start}`,\n {\n data: { start, stop, kind, data, recurring },\n },\n )\n .then((response) => {\n const activityTime = this.formatSeconds(\n new Date(response.data.start * 1000),\n )\n this.$notify.normal({\n title: 'Updated Activity',\n body: `${activityTime} (${response.data.start}) on timeline: ${response.data.name}`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n .catch((error) => {\n this.show = !this.show\n })\n } else {\n Api.post(`/openc3-api/timeline/${this.timeline}/activities`, {\n data: { start, stop, kind, data, recurring },\n })\n .then((response) => {\n const activityTime = this.formatSeconds(\n new Date(response.data.start * 1000),\n )\n this.$notify.normal({\n title: 'Created Activity',\n body: `${activityTime} (${response.data.start}) on timeline: ${response.data.name}`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n .catch((error) => {\n this.show = !this.show\n })\n }\n // We don't do the $emit or set show here because it has to be in the callback\n this.clearHandler()\n },\n editItem: function () {\n // Set up dialog for editing\n this.dialogTitle = 'Edit Command'\n this.dialogCmdString = this.activityData\n this.showCommandDialog = true\n },\n closeCommandDialog: function () {\n this.showCommandDialog = false\n this.dialogCmdString = null\n this.dialogError = ''\n },\n clearDialogError: function () {\n this.dialogError = ''\n },\n updateCommand: function () {\n let commandString = ''\n try {\n commandString = this.$refs.commandEditor.getCmdString()\n } catch (error) {\n this.dialogError = error.message || 'Please fix command parameters'\n return\n }\n this.activityData = commandString\n this.showCommandDialog = false\n },\n },\n}\n</script>\n\n<style scoped>\n.repeat {\n padding-top: 10px;\n text-align: right;\n}\n\n.v-stepper--vertical .v-stepper__content {\n width: auto;\n margin: 0px 0px 0px 36px;\n padding: 0px;\n}\n</style>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-select v-model=\"color\" label=\"Color\" :items=\"swatches\">\n <template #prepend-inner>\n <v-icon :color=\"color\"> mdi-square </v-icon>\n </template>\n <template #item=\"{ props, item }\">\n <v-list-item v-bind=\"props\" :value=\"item.raw\">\n <template #prepend>\n <v-icon :color=\"item.raw\"> mdi-square </v-icon>\n </template>\n </v-list-item>\n </template>\n </v-select>\n </div>\n</template>\n\n<script>\nexport default {\n components: {},\n props: {\n modelValue: {\n type: String,\n required: true,\n },\n },\n emits: ['update:modelValue'],\n computed: {\n color: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n swatches: function () {\n return [\n '#005a8f',\n '#003784',\n '#8F3400',\n '#df1368',\n '#ff5252',\n '#df323b',\n '#9f0010',\n '#2d9437',\n '#004700',\n '#db7200',\n '#802700',\n '#0f2941',\n ]\n },\n },\n methods: {},\n}\n</script>\n","/*\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n methods: {\n deleteItem(item) {\n let start = null\n let api = ''\n switch (item.type.toLowerCase()) {\n case 'activity':\n api = 'activity'\n start = item.activity.start\n break\n case 'metadata':\n api = 'metadata'\n start = item.metadata.start\n break\n case 'note':\n api = 'notes'\n start = item.note.start\n break\n }\n this.$dialog\n .confirm(\n `Are you sure you want to remove ${item.typeStr} at ${item.startStr}`,\n {\n okText: 'Delete',\n cancelText: 'Cancel',\n },\n )\n .then(() => {\n return Api.delete(`/openc3-api/${api}/${start}`)\n })\n .then(() => {\n this.$emit('delete', item)\n this.$notify.normal({\n title: `Deleted ${item.typeStr}`,\n body: `Deleted ${item.typeStr} at ${item.startStr}`,\n })\n })\n .catch(() => {})\n },\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <span> Add metadata key value(s)</span>\n <v-table density=\"compact\">\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\" width=\"52px\">\n <v-btn\n icon=\"mdi-plus\"\n variant=\"text\"\n data-test=\"new-metadata-icon\"\n @click=\"newMetadata\"\n />\n </th>\n </tr>\n <tr v-for=\"(meta, i) in metadata\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"meta.key\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"meta.value\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n :data-test=\"`delete-metadata-icon-${i}`\"\n @click=\"rm(i)\"\n />\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n components: {},\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n emits: ['update:modelValue'],\n data() {\n return {}\n },\n computed: {\n metadata: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n newMetadata: function () {\n this.metadata.push({\n key: '',\n value: '',\n })\n },\n rm: function (index) {\n this.metadata.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"clearHandler\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"metadata\">Update Metadata</span>\n <span v-else>Create Metadata</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-metadata-icon\"\n @click=\"clearHandler\"\n />\n </v-toolbar>\n <v-stepper\n v-model=\"dialogStep\"\n editable\n :items=\"['Metadata Times', 'Metadata Input']\"\n >\n <template v-if=\"dialogStep === 2\" #actions>\n <v-row class=\"ma-0 px-6 pb-4\">\n <v-btn variant=\"text\" @click=\"() => (dialogStep -= 1)\">\n Previous\n </v-btn>\n <v-spacer />\n <v-btn variant=\"outlined\" class=\"mr-4\" @click=\"clearHandler\">\n Cancel\n </v-btn>\n <v-btn\n type=\"submit\"\n color=\"primary\"\n :disabled=\"!!error\"\n @click.prevent=\"submitHandler\"\n >\n Ok\n </v-btn>\n </v-row>\n </template>\n\n <template #item.1>\n <v-card-text>\n <div class=\"pa-2\">\n <color-select-form v-model=\"color\" />\n <v-row dense>\n <v-text-field\n v-model=\"startDate\"\n type=\"date\"\n label=\"Start Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"metadata-start-date\"\n />\n <OpenC3TimePicker\n v-model=\"startTime\"\n label=\"Start Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"metadata-start-time\"\n />\n </v-row>\n </div>\n </v-card-text>\n </template>\n\n <template #item.2>\n <v-card-text>\n <div class=\"pa-2\">\n <div style=\"min-height: 200px\">\n <metadata-input-form v-model=\"metadataVals\" />\n </div>\n <v-row v-show=\"typeError\">\n <span class=\"ma-2 text-red\" v-text=\"typeError\" />\n </v-row>\n </div>\n </v-card-text>\n </template>\n </v-stepper>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { TimeFilters } from '@/util'\nimport OpenC3TimePicker from '@/components/OpenC3TimePicker.vue'\nimport ColorSelectForm from './ColorSelectForm.vue'\nimport CreateDialog from './CreateDialog'\nimport MetadataInputForm from './MetadataInputForm.vue'\n\nexport default {\n components: {\n ColorSelectForm,\n MetadataInputForm,\n OpenC3TimePicker,\n },\n mixins: [CreateDialog, TimeFilters],\n props: {\n modelValue: Boolean,\n metadata: {\n type: Object,\n default: null,\n },\n },\n emits: ['update:modelValue', 'update'],\n data() {\n return {\n dialogStep: 1,\n color: '#003784',\n metadataVals: [],\n rules: {\n required: (value) => !!value || 'Required',\n },\n }\n },\n computed: {\n typeError: function () {\n if (!this.color) {\n return 'A color is required.'\n }\n if (this.metadataVals.length < 1) {\n return 'Please enter a value in the metadata table.'\n }\n const emptyKeyValue = this.metadataVals.find(\n (meta) => meta.key === '' || meta.value === '',\n )\n if (emptyKeyValue) {\n return 'Missing or empty key, value in the metadata table.'\n }\n return null\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n mounted: function () {\n this.updateValues()\n },\n methods: {\n updateValues: function () {\n this.dialogStep = 1\n if (this.metadata) {\n const sDate = new Date(this.metadata.start * 1000)\n this.startDate = this.formatDate(sDate, this.timeZone)\n this.startTime = this.formatTimeHMS(sDate, this.timeZone)\n this.color = this.metadata.color\n this.metadataVals = Object.keys(this.metadata.metadata).map((k) => {\n return { key: k, value: this.metadata.metadata[k] }\n })\n } else {\n this.calcStartDateTime()\n this.color = '#003784'\n this.metadataVals = []\n }\n },\n clearHandler: function () {\n this.show = !this.show\n },\n submitHandler() {\n const color = this.color\n const metadata = this.metadataVals.reduce((result, element) => {\n result[element.key] = element.value\n return result\n }, {})\n const data = { color, metadata }\n if (this.timeZone === 'local') {\n data.start = new Date(\n this.startDate + ' ' + this.startTime,\n ).toISOString()\n } else {\n data.start = new Date(\n this.startDate + ' ' + this.startTime + 'Z',\n ).toISOString()\n }\n if (this.metadata) {\n Api.put(`/openc3-api/metadata/${this.metadata.start}`, {\n data,\n }).then((response) => {\n this.$notify.normal({\n title: 'Updated Metadata',\n body: `Metadata updated: (${response.data.start})`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n } else {\n Api.post('/openc3-api/metadata', {\n data,\n }).then((response) => {\n this.$notify.normal({\n title: 'Created new Metadata',\n body: `Metadata: (${response.data.start})`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n }\n // We don't do the $emit or set show here because it has to be in the callback\n },\n },\n}\n</script>\n\n<style scoped>\n.v-stepper--vertical .v-stepper__content {\n width: auto;\n margin: 0px 0px 0px 36px;\n padding: 0px;\n}\n</style>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"clearHandler\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"note\">Update Note</span>\n <span v-else>Create Note</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-note-icon\"\n @click=\"clearHandler\"\n />\n </v-toolbar>\n <v-stepper\n v-model=\"dialogStep\"\n editable\n :items=\"['Note Times', 'Note Input']\"\n >\n <template v-if=\"dialogStep === 2\" #actions>\n <v-row class=\"ma-0 px-6 pb-4\">\n <v-btn variant=\"text\" @click=\"() => (dialogStep -= 1)\">\n Previous\n </v-btn>\n <v-spacer />\n <v-btn variant=\"outlined\" class=\"mr-4\" @click=\"clearHandler\">\n Cancel\n </v-btn>\n <v-btn\n type=\"submit\"\n color=\"primary\"\n :disabled=\"!!error\"\n @click.prevent=\"submitHandler\"\n >\n Ok\n </v-btn>\n </v-row>\n </template>\n\n <template #item.1>\n <v-card-text>\n <div class=\"pa-2\">\n <v-row dense>\n <v-text-field\n v-model=\"startDate\"\n type=\"date\"\n label=\"Start Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"note-start-date\"\n />\n <OpenC3TimePicker\n v-model=\"startTime\"\n label=\"Start Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"note-start-time\"\n />\n </v-row>\n <v-row dense>\n <v-text-field\n v-model=\"endDate\"\n type=\"date\"\n label=\"End Date\"\n class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"note-end-date\"\n />\n <OpenC3TimePicker\n v-model=\"endTime\"\n label=\"End Time\"\n text-field-class=\"mx-1\"\n :rules=\"[rules.required]\"\n data-test=\"note-end-time\"\n />\n </v-row>\n <v-row>\n <span\n v-show=\"timeError\"\n class=\"ma-2 text-red\"\n v-text=\"timeError\"\n />\n </v-row>\n </div>\n </v-card-text>\n </template>\n\n <template #item.2>\n <v-card-text>\n <div class=\"pa-2\">\n <div>\n <color-select-form v-model=\"color\" />\n </div>\n <div>\n <v-text-field\n v-model=\"description\"\n type=\"text\"\n label=\"Note Description\"\n data-test=\"note-description\"\n />\n </div>\n <v-row v-show=\"typeError\">\n <span class=\"ma-2 text-red\" v-text=\"typeError\" />\n </v-row>\n </div>\n </v-card-text>\n </template>\n </v-stepper>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { TimeFilters } from '@/util'\nimport OpenC3TimePicker from '@/components/OpenC3TimePicker.vue'\nimport ColorSelectForm from './ColorSelectForm.vue'\nimport CreateDialog from './CreateDialog'\n\nexport default {\n components: {\n ColorSelectForm,\n OpenC3TimePicker,\n },\n mixins: [CreateDialog, TimeFilters],\n props: {\n modelValue: Boolean,\n note: {\n type: Object,\n default: null,\n },\n },\n emits: ['update:modelValue', 'update'],\n data() {\n return {\n dialogStep: 1,\n description: '',\n color: '#8F3400',\n rules: {\n required: (value) => !!value || 'Required',\n },\n }\n },\n computed: {\n timeError: function () {\n let start\n let end\n if (this.timeZone === 'local') {\n start = new Date(this.startDate + ' ' + this.startTime)\n end = new Date(this.endDate + ' ' + this.endTime)\n } else {\n start = new Date(this.startDate + ' ' + this.startTime + 'Z')\n end = new Date(this.endDate + ' ' + this.endTime + 'Z')\n }\n if (start === end) {\n return 'Invalid start, end time. Notes must have different start and end times.'\n }\n if (start > end) {\n return 'Invalid start time. Notes start before end.'\n }\n return null\n },\n typeError: function () {\n if (!this.color) {\n return 'A color is required.'\n }\n if (!this.description) {\n return 'A description is required for a valid note.'\n }\n return null\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n mounted: function () {\n this.updateValues()\n },\n methods: {\n updateValues: function () {\n this.dialogStep = 1\n if (this.note) {\n const sDate = new Date(this.note.start * 1000)\n this.startDate = this.formatDate(sDate, this.timeZone)\n this.startTime = this.formatTimeHMS(sDate, this.timeZone)\n const eDate = new Date(this.note.stop * 1000)\n this.endDate = this.formatDate(eDate, this.timeZone)\n this.endTime = this.formatTimeHMS(eDate, this.timeZone)\n this.color = this.note.color\n this.description = this.note.description\n } else {\n this.calcStartDateTime()\n this.color = '#8F3400'\n this.description = ''\n }\n },\n clearHandler: function () {\n this.show = !this.show\n },\n submitHandler() {\n let start\n let stop // API takes stop rather than end\n if (this.timeZone === 'local') {\n start = new Date(this.startDate + ' ' + this.startTime).toISOString()\n stop = new Date(this.endDate + ' ' + this.endTime).toISOString()\n } else {\n start = new Date(\n this.startDate + ' ' + this.startTime + 'Z',\n ).toISOString()\n stop = new Date(this.endDate + ' ' + this.endTime + 'Z').toISOString()\n }\n const color = this.color\n const description = this.description\n if (this.note) {\n Api.put(`/openc3-api/notes/${this.note.start}`, {\n data: { start, stop, color, description },\n }).then((response) => {\n const desc =\n response.data.description.length > 16\n ? `${response.data.description.substring(0, 16)}...`\n : response.data.description\n this.$notify.normal({\n title: 'Updated Note',\n body: `Note updated: (${response.data.start}): \"${desc}\"`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n } else {\n Api.post('/openc3-api/notes', {\n data: { start, stop, color, description },\n }).then((response) => {\n const desc =\n response.data.description.length > 16\n ? `${response.data.description.substring(0, 16)}...`\n : response.data.description\n this.$notify.normal({\n title: 'Created new Note',\n body: `Note: (${response.data.start}) created: \"${desc}\"`,\n })\n this.$emit('update', response.data)\n this.show = !this.show\n })\n }\n // We don't do the $emit or set show here because it has to be in the callback\n },\n },\n}\n</script>\n\n<style scoped>\n.v-stepper--vertical .v-stepper__content {\n width: auto;\n margin: 0px 0px 0px 36px;\n padding: 0px;\n}\n</style>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"80vw\" @keydown.esc=\"close\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"newMetadata\">Metadata</span><span v-else>Events</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-metadata-icon\"\n aria-label=\"Close Dialog\"\n @click=\"close\"\n />\n </v-toolbar>\n <v-card-title>\n <v-row class=\"pa-3\">\n <span v-if=\"newMetadata\">Metadata</span><span v-else>Events</span>\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n single-line\n hide-details\n />\n </v-row>\n </v-card-title>\n <v-data-table\n :headers=\"eventHeaders\"\n :items=\"localEvents\"\n :search=\"search\"\n >\n <template #no-data>\n <span> No events </span>\n </template>\n <template #item.start=\"{ item }\">\n {{ formatDateTime(item.start, timeZone) }}\n </template>\n <template #item.end=\"{ item }\">\n {{ formatDateTime(item.end, timeZone) }}\n </template>\n <template #item.type=\"{ item }\">\n {{ item.type.charAt(0).toUpperCase() + item.type.slice(1) }}\n </template>\n <template #item.data=\"{ item }\">\n {{ dataFormat(item) }}\n </template>\n <template #item.actions=\"{ item }\">\n <v-btn\n icon=\"mdi-pencil\"\n variant=\"text\"\n size=\"small\"\n class=\"mr-2\"\n data-test=\"edit-event\"\n aria-label=\"Edit Event\"\n @click=\"editAction(item)\"\n />\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n size=\"small\"\n data-test=\"delete-event\"\n aria-label=\"Delete Event\"\n @click=\"deleteAction(item)\"\n />\n </template>\n </v-data-table>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"outlined\" data-test=\"close-event-list\" @click=\"close\">\n Close\n </v-btn>\n <v-btn\n v-if=\"newMetadata\"\n variant=\"flat\"\n data-test=\"new-event\"\n @click=\"showMetadataCreate = true\"\n >\n New Metadata\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n <!-- Edit existing events -->\n <activity-create-dialog\n v-if=\"showActivityUpdate\"\n v-model=\"showActivityUpdate\"\n :activity=\"editActivity\"\n :time-zone=\"timeZone\"\n @update=\"updateActivity\"\n />\n <metadata-create-dialog\n v-if=\"showMetadataUpdate\"\n v-model=\"showMetadataUpdate\"\n :metadata=\"editMetadata\"\n :time-zone=\"timeZone\"\n @update=\"updateMetadata\"\n />\n <note-create-dialog\n v-if=\"showNoteUpdate\"\n v-model=\"showNoteUpdate\"\n :note=\"editNote\"\n :time-zone=\"timeZone\"\n @update=\"updateNote\"\n />\n <!-- Create new metadata -->\n <metadata-create-dialog\n v-if=\"showMetadataCreate\"\n v-model=\"showMetadataCreate\"\n :time-zone=\"timeZone\"\n @update=\"addMetadata\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { TimeFilters } from '@/util'\nimport ActivityCreateDialog from './ActivityCreateDialog.vue'\nimport DeleteItem from './DeleteItem'\nimport MetadataCreateDialog from './MetadataCreateDialog.vue'\nimport NoteCreateDialog from './NoteCreateDialog.vue'\n\nexport default {\n components: {\n ActivityCreateDialog,\n MetadataCreateDialog,\n NoteCreateDialog,\n },\n mixins: [TimeFilters, DeleteItem],\n props: {\n events: {\n type: Array,\n required: true,\n },\n modelValue: {\n type: Boolean,\n required: true,\n },\n timeZone: {\n type: String,\n required: true,\n },\n types: {\n type: Array,\n default: null,\n },\n newMetadata: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue', 'close', 'update'],\n data() {\n return {\n search: '',\n localEvents: [...this.events],\n eventHeaders: [\n { title: 'Start', key: 'start', width: 215 },\n { title: 'Stop', key: 'end', width: 215 },\n { title: 'Type', key: 'type' },\n { title: 'Data', key: 'data' },\n { title: 'Actions', key: 'actions', sortable: false },\n ],\n editActivity: { start: new Date(), end: new Date() },\n editMetadata: { start: new Date(), end: new Date() },\n editNote: { start: new Date(), end: new Date() },\n editIndex: 0,\n showActivityUpdate: false,\n showMetadataUpdate: false,\n showNoteUpdate: false,\n showMetadataCreate: false,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n created: function () {\n // TODO: Switch to vue3 syntax\n // this.$on('delete', (item) => {\n // let index = this.localEvents.findIndex((element) => {\n // return element.type === item.type && element.start === item.start\n // })\n // this.localEvents.splice(index, 1)\n // })\n },\n methods: {\n close() {\n this.$emit('close')\n this.show = false\n },\n dataFormat(event) {\n let data = event.name\n switch (event.type) {\n case 'note':\n data = event.note.description\n break\n case 'metadata':\n let rows = []\n Object.entries(event.metadata.metadata).forEach(([key, value]) =>\n rows.push(`${key}: ${value}`),\n )\n data = rows.join(', ')\n break\n }\n return data\n },\n editAction(item) {\n this.editIndex = this.localEvents.findIndex((element) => {\n return element.type === item.type && element.start === item.start\n })\n switch (item.type) {\n case 'activity':\n this.editActivity = item.activity\n this.showActivityUpdate = true\n break\n case 'metadata':\n this.editMetadata = item.metadata\n this.showMetadataUpdate = true\n break\n case 'note':\n this.editNote = item.note\n this.showNoteUpdate = true\n break\n }\n },\n deleteAction(item) {\n let deleteIndex = this.localEvents.findIndex((element) => {\n return element.type === item.type && element.start === item.start\n })\n let api = null\n let start = null\n let uuid = null\n switch (item.type) {\n case 'activity':\n api = `timeline/${item.activity.name}/activity`\n start = item.activity.start\n uuid = item.activity.uuid\n break\n case 'metadata':\n api = 'metadata'\n start = item.metadata.start\n break\n case 'note':\n api = 'notes'\n start = item.note.start\n break\n }\n\n this.$dialog\n .confirm(\n `Are you sure you want to remove ${item.type} at ${item.start}`,\n {\n okText: 'Delete',\n cancelText: 'Cancel',\n },\n )\n .then((dialog) => {\n this.localEvents.splice(deleteIndex, 1)\n let url = `/openc3-api/${api}/${start}`\n if (uuid) {\n url += `/${uuid}`\n }\n return Api.delete(url)\n })\n .then((response) => {\n this.$emit('update')\n this.$notify.normal({\n title: `Deleted ${item.type}`,\n body: `Deleted ${item.type} at ${start}`,\n })\n })\n .catch((error) => {\n // TODO: It returns true on cancel?\n })\n },\n updateActivity(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].activity = item\n },\n updateMetadata(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].metadata = item\n },\n updateNote(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].note = item\n },\n addMetadata(item) {\n // TODO: This is how Calendar creates new metadata items via makeMetadataEvent\n let metadata = {\n name: 'Metadata',\n start: new Date(item.start * 1000),\n end: new Date(item.start * 1000),\n color: item.color,\n type: item.type,\n timed: true,\n metadata: item,\n }\n this.localEvents.push(metadata)\n },\n },\n}\n</script>\n"],"names":["add","date","duration","options","years","months","weeks","days","hours","minutes","seconds","_date","toDate","dateWithMonths","addMonths","dateWithDays","addDays","minutesToAdd","msToAdd","constructFrom","CreateDialog","format","ms","start","parse","_sfc_main","EnvironmentChooser","ScriptChooser","CommandEditor","OpenC3TimePicker","TimeFilters","value","now","end","timeline","inputKind","event","sDate","eDate","rDate","stop","recurringEnd","kind","data","recurring","Api","response","activityTime","error","commandString","_hoisted_3","_hoisted_5","_hoisted_11","_createElementBlock","_createVNode","_component_v_dialog","$options","$event","_component_v_card","_component_v_toolbar","_component_v_spacer","$props","_openBlock","_component_v_btn","_component_v_stepper","$data","_component_v_card_text","_createElementVNode","_component_v_select","_component_v_text_field","_component_v_textarea","_component_v_row","_ctx","_component_OpenC3TimePicker","_component_v_checkbox","_createBlock","_component_v_col","_cache","_toDisplayString","_hoisted_6","_hoisted_7","_component_script_chooser","_component_environment_chooser","_hoisted_8","_component_v_card_title","_hoisted_10","_component_v_icon","_component_command_editor","_component_v_card_actions","_withCtx","props","item","_component_v_list_item","_mergeProps","DeleteItem","api","index","_component_v_table","_hoisted_1","_Fragment","_renderList","meta","i","ColorSelectForm","MetadataInputForm","k","color","metadata","result","element","_hoisted_4","_component_color_select_form","_component_metadata_input_form","description","desc","ActivityCreateDialog","MetadataCreateDialog","NoteCreateDialog","rows","key","deleteIndex","uuid","dialog","url","_component_v_data_table","_createTextVNode","_component_activity_create_dialog","_component_metadata_create_dialog","_component_note_create_dialog"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs"),k=require("./Widget-D0drYWOT.cjs"),e=require("vue"),C=require("./CustomIcon-8F08upeg.cjs"),v={mixins:[k.Widget],data(){return{files:[],loading:!1}},computed:{match(){if(this.files.some(o=>o.error))return!1;if(this.files.some(o=>!o.checksum))return null;const t=this.files[0].checksum;return this.files.every(o=>o.checksum===t)},matchStatus(){return{null:{icon:"$info",color:"grey",text:"Comparing..."},true:{icon:"$success",color:"success",text:"Checksums Match"},false:{icon:"$error",color:"error",text:this.files.some(o=>o.error)?"Error loading file(s)":"Checksums Do Not Match"}}[this.match]}},created(){this.files=this.parameters.filter(t=>t).map(t=>({path:t,checksum:null,error:null,copied:!1}))},mounted(){this.files.length&&this.fetchChecksums()},methods:{getDisplayText(t){return t.error?`Error: ${t.error}`:t.checksum?t.checksum:this.loading?"Loading...":"Not loaded"},async computeChecksum(t){const r=new TextEncoder().encode(t),s=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(s)).map(c=>c.toString(16).padStart(2,"0")).join("")},async fetchFile(t){const o=window.openc3Scope||"DEFAULT";let r=`${o}/targets_modified/${t}`,s=await m.Fr.get(`/openc3-api/storage/download_file/${encodeURIComponent(r)}`,{params:{bucket:"OPENC3_CONFIG_BUCKET"},headers:{"Ignore-Errors":"404,500"}}).catch(()=>null);if((!s||s.status===404)&&(r=`${o}/targets/${t}`,s=await m.Fr.get(`/openc3-api/storage/download_file/${encodeURIComponent(r)}`,{params:{bucket:"OPENC3_CONFIG_BUCKET"}})),s?.data?.contents)return atob(s.data.contents);throw new Error("File not found")},async copyChecksum(t){if(t.checksum)try{await navigator.clipboard.writeText(t.checksum),t.copied=!0,setTimeout(()=>t.copied=!1,2e3)}catch(o){console.error("Failed to copy checksum:",o)}},async fetchChecksums(){this.loading=!0,this.files.forEach(o=>{o.checksum=null,o.error=null}),(await Promise.all(this.files.map(o=>this.fetchFile(o.path).then(r=>this.computeChecksum(r)).catch(r=>({error:r.message||"File not found"}))))).forEach((o,r)=>{o?.error?this.files[r].error=o.error:this.files[r].checksum=o}),this.loading=!1}}},y={class:"text-caption text-medium-emphasis font-weight-regular"},x={class:"text-caption text-medium-emphasis mb-2"},w={class:"ml-1 text-high-emphasis"},N={class:"flex-grow-1 overflow-wrap-anywhere"};function E(t,o,r,s,a,c){const h=e.resolveComponent("v-spacer"),i=e.resolveComponent("v-btn"),u=e.resolveComponent("v-card-title"),l=e.resolveComponent("v-divider"),p=e.resolveComponent("v-sheet"),_=e.resolveComponent("v-chip"),f=e.resolveComponent("v-card-text"),g=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(g,{style:e.normalizeStyle(t.computedStyle),"min-width":"400"},{default:e.withCtx(()=>[e.createVNode(u,{class:"d-flex align-center pa-2"},{default:e.withCtx(()=>[e.createElementVNode("span",y,e.toDisplayString(a.files.length===1?"File Checksum":"File Checksum Comparison"),1),e.createVNode(h),e.createVNode(i,{size:"x-small",icon:"mdi-refresh",variant:"text",loading:a.loading,onClick:c.fetchChecksums},null,8,["loading","onClick"])]),_:1}),e.createVNode(l),e.createVNode(f,{class:"pa-3"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.files,(n,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d},[e.createElementVNode("div",x,[e.createTextVNode(e.toDisplayString(a.files.length===1?"File:":`File ${d+1}:`)+" ",1),e.createElementVNode("span",w,e.toDisplayString(n.path),1)]),e.createVNode(p,{class:e.normalizeClass([n.error?"text-error":"","d-flex align-center ga-2 px-2 py-1 mb-3 rounded text-caption"]),style:{"background-color":"rgba(128, 128, 128, 0.2)"}},{default:e.withCtx(()=>[e.createElementVNode("span",N,e.toDisplayString(c.getDisplayText(n)),1),e.createVNode(i,{icon:n.copied?"$success":"mdi-content-copy",color:n.copied?"success":void 0,disabled:!n.checksum,size:"x-small",variant:"plain",density:"compact",onClick:F=>c.copyChecksum(n)},null,8,["icon","color","disabled","onClick"])]),_:2},1032,["class"])],64))),128)),a.files.length>1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(l,{class:"mb-3"}),e.createVNode(_,{color:c.matchStatus.color,size:"small",variant:"tonal",label:"","prepend-icon":c.matchStatus.icon},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.matchStatus.text),1)]),_:1},8,["color","prepend-icon"])],64)):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["style"])}const b=C._export_sfc(v,[["render",E],["__scopeId","data-v-5728d932"]]);exports.default=b;
2
- //# sourceMappingURL=FilechecksumWidget-DMpuLZJ5.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs"),k=require("./Widget-CB_BtOFw.cjs"),e=require("vue"),C=require("./CustomIcon-8F08upeg.cjs"),v={mixins:[k.Widget],data(){return{files:[],loading:!1}},computed:{match(){if(this.files.some(o=>o.error))return!1;if(this.files.some(o=>!o.checksum))return null;const t=this.files[0].checksum;return this.files.every(o=>o.checksum===t)},matchStatus(){return{null:{icon:"$info",color:"grey",text:"Comparing..."},true:{icon:"$success",color:"success",text:"Checksums Match"},false:{icon:"$error",color:"error",text:this.files.some(o=>o.error)?"Error loading file(s)":"Checksums Do Not Match"}}[this.match]}},created(){this.files=this.parameters.filter(t=>t).map(t=>({path:t,checksum:null,error:null,copied:!1}))},mounted(){this.files.length&&this.fetchChecksums()},methods:{getDisplayText(t){return t.error?`Error: ${t.error}`:t.checksum?t.checksum:this.loading?"Loading...":"Not loaded"},async computeChecksum(t){const r=new TextEncoder().encode(t),s=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(s)).map(c=>c.toString(16).padStart(2,"0")).join("")},async fetchFile(t){const o=window.openc3Scope||"DEFAULT";let r=`${o}/targets_modified/${t}`,s=await m.Fr.get(`/openc3-api/storage/download_file/${encodeURIComponent(r)}`,{params:{bucket:"OPENC3_CONFIG_BUCKET"},headers:{"Ignore-Errors":"404,500"}}).catch(()=>null);if((!s||s.status===404)&&(r=`${o}/targets/${t}`,s=await m.Fr.get(`/openc3-api/storage/download_file/${encodeURIComponent(r)}`,{params:{bucket:"OPENC3_CONFIG_BUCKET"}})),s?.data?.contents)return atob(s.data.contents);throw new Error("File not found")},async copyChecksum(t){if(t.checksum)try{await navigator.clipboard.writeText(t.checksum),t.copied=!0,setTimeout(()=>t.copied=!1,2e3)}catch(o){console.error("Failed to copy checksum:",o)}},async fetchChecksums(){this.loading=!0,this.files.forEach(o=>{o.checksum=null,o.error=null}),(await Promise.all(this.files.map(o=>this.fetchFile(o.path).then(r=>this.computeChecksum(r)).catch(r=>({error:r.message||"File not found"}))))).forEach((o,r)=>{o?.error?this.files[r].error=o.error:this.files[r].checksum=o}),this.loading=!1}}},y={class:"text-caption text-medium-emphasis font-weight-regular"},x={class:"text-caption text-medium-emphasis mb-2"},w={class:"ml-1 text-high-emphasis"},N={class:"flex-grow-1 overflow-wrap-anywhere"};function E(t,o,r,s,a,c){const h=e.resolveComponent("v-spacer"),i=e.resolveComponent("v-btn"),u=e.resolveComponent("v-card-title"),l=e.resolveComponent("v-divider"),p=e.resolveComponent("v-sheet"),_=e.resolveComponent("v-chip"),f=e.resolveComponent("v-card-text"),g=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(g,{style:e.normalizeStyle(t.computedStyle),"min-width":"400"},{default:e.withCtx(()=>[e.createVNode(u,{class:"d-flex align-center pa-2"},{default:e.withCtx(()=>[e.createElementVNode("span",y,e.toDisplayString(a.files.length===1?"File Checksum":"File Checksum Comparison"),1),e.createVNode(h),e.createVNode(i,{size:"x-small",icon:"mdi-refresh",variant:"text",loading:a.loading,onClick:c.fetchChecksums},null,8,["loading","onClick"])]),_:1}),e.createVNode(l),e.createVNode(f,{class:"pa-3"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.files,(n,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d},[e.createElementVNode("div",x,[e.createTextVNode(e.toDisplayString(a.files.length===1?"File:":`File ${d+1}:`)+" ",1),e.createElementVNode("span",w,e.toDisplayString(n.path),1)]),e.createVNode(p,{class:e.normalizeClass([n.error?"text-error":"","d-flex align-center ga-2 px-2 py-1 mb-3 rounded text-caption"]),style:{"background-color":"rgba(128, 128, 128, 0.2)"}},{default:e.withCtx(()=>[e.createElementVNode("span",N,e.toDisplayString(c.getDisplayText(n)),1),e.createVNode(i,{icon:n.copied?"$success":"mdi-content-copy",color:n.copied?"success":void 0,disabled:!n.checksum,size:"x-small",variant:"plain",density:"compact",onClick:F=>c.copyChecksum(n)},null,8,["icon","color","disabled","onClick"])]),_:2},1032,["class"])],64))),128)),a.files.length>1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(l,{class:"mb-3"}),e.createVNode(_,{color:c.matchStatus.color,size:"small",variant:"tonal",label:"","prepend-icon":c.matchStatus.icon},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.matchStatus.text),1)]),_:1},8,["color","prepend-icon"])],64)):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["style"])}const b=C._export_sfc(v,[["render",E],["__scopeId","data-v-5728d932"]]);exports.default=b;
2
+ //# sourceMappingURL=FilechecksumWidget-2ta-UvLp.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilechecksumWidget-DMpuLZJ5.cjs","sources":["../src/widgets/FilechecksumWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card :style=\"computedStyle\" min-width=\"400\">\n <v-card-title class=\"d-flex align-center pa-2\">\n <span class=\"text-caption text-medium-emphasis font-weight-regular\">\n {{ files.length === 1 ? 'File Checksum' : 'File Checksum Comparison' }}\n </span>\n <v-spacer />\n <v-btn\n size=\"x-small\"\n icon=\"mdi-refresh\"\n variant=\"text\"\n :loading=\"loading\"\n @click=\"fetchChecksums\"\n />\n </v-card-title>\n <v-divider />\n <v-card-text class=\"pa-3\">\n <template v-for=\"(file, index) in files\" :key=\"index\">\n <div class=\"text-caption text-medium-emphasis mb-2\">\n {{ files.length === 1 ? 'File:' : `File ${index + 1}:` }}\n <span class=\"ml-1 text-high-emphasis\">{{ file.path }}</span>\n </div>\n <v-sheet\n :class=\"file.error ? 'text-error' : ''\"\n class=\"d-flex align-center ga-2 px-2 py-1 mb-3 rounded text-caption\"\n style=\"background-color: rgba(128, 128, 128, 0.2)\"\n >\n <span class=\"flex-grow-1 overflow-wrap-anywhere\">\n {{ getDisplayText(file) }}\n </span>\n <v-btn\n :icon=\"file.copied ? '$success' : 'mdi-content-copy'\"\n :color=\"file.copied ? 'success' : undefined\"\n :disabled=\"!file.checksum\"\n size=\"x-small\"\n variant=\"plain\"\n density=\"compact\"\n @click=\"copyChecksum(file)\"\n />\n </v-sheet>\n </template>\n\n <template v-if=\"files.length > 1\">\n <v-divider class=\"mb-3\" />\n <v-chip\n :color=\"matchStatus.color\"\n size=\"small\"\n variant=\"tonal\"\n label\n :prepend-icon=\"matchStatus.icon\"\n >\n {{ matchStatus.text }}\n </v-chip>\n </template>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n data() {\n return {\n files: [],\n loading: false,\n }\n },\n computed: {\n match() {\n if (this.files.some((f) => f.error)) return false\n if (this.files.some((f) => !f.checksum)) return null\n const first = this.files[0].checksum\n return this.files.every((f) => f.checksum === first)\n },\n matchStatus() {\n const states = {\n null: { icon: '$info', color: 'grey', text: 'Comparing...' },\n true: { icon: '$success', color: 'success', text: 'Checksums Match' },\n false: {\n icon: '$error',\n color: 'error',\n text: this.files.some((f) => f.error)\n ? 'Error loading file(s)'\n : 'Checksums Do Not Match',\n },\n }\n return states[this.match]\n },\n },\n created() {\n this.files = this.parameters\n .filter((p) => p)\n .map((path) => ({ path, checksum: null, error: null, copied: false }))\n },\n mounted() {\n if (this.files.length) {\n this.fetchChecksums()\n }\n },\n methods: {\n getDisplayText(file) {\n if (file.error) return `Error: ${file.error}`\n if (file.checksum) return file.checksum\n if (this.loading) return 'Loading...'\n return 'Not loaded'\n },\n async computeChecksum(content) {\n const encoder = new TextEncoder()\n const data = encoder.encode(content)\n const hashBuffer = await crypto.subtle.digest('SHA-256', data)\n const hashArray = Array.from(new Uint8Array(hashBuffer))\n return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('')\n },\n async fetchFile(filePath) {\n const scope = window.openc3Scope || 'DEFAULT'\n let objectPath = `${scope}/targets_modified/${filePath}`\n let response = await Api.get(\n `/openc3-api/storage/download_file/${encodeURIComponent(objectPath)}`,\n {\n params: { bucket: 'OPENC3_CONFIG_BUCKET' },\n headers: { 'Ignore-Errors': '404,500' },\n },\n ).catch(() => null)\n\n if (!response || response.status === 404) {\n objectPath = `${scope}/targets/${filePath}`\n response = await Api.get(\n `/openc3-api/storage/download_file/${encodeURIComponent(objectPath)}`,\n { params: { bucket: 'OPENC3_CONFIG_BUCKET' } },\n )\n }\n\n if (response?.data?.contents) {\n return atob(response.data.contents)\n }\n throw new Error('File not found')\n },\n async copyChecksum(file) {\n if (!file.checksum) return\n try {\n await navigator.clipboard.writeText(file.checksum)\n file.copied = true\n setTimeout(() => (file.copied = false), 2000)\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Failed to copy checksum:', err)\n }\n },\n async fetchChecksums() {\n this.loading = true\n this.files.forEach((f) => {\n f.checksum = null\n f.error = null\n })\n\n const results = await Promise.all(\n this.files.map((file) =>\n this.fetchFile(file.path)\n .then((content) => this.computeChecksum(content))\n .catch((err) => ({ error: err.message || 'File not found' })),\n ),\n )\n\n results.forEach((result, i) => {\n if (result?.error) {\n this.files[i].error = result.error\n } else {\n this.files[i].checksum = result\n }\n })\n\n this.loading = false\n },\n },\n}\n</script>\n\n<style scoped>\n.overflow-wrap-anywhere {\n overflow-wrap: anywhere;\n}\n</style>\n"],"names":["_sfc_main","Widget","f","first","p","path","file","content","data","hashBuffer","b","filePath","scope","objectPath","response","Api","err","result","i","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_createBlock","_component_v_card","_ctx","_createVNode","_component_v_card_title","_createElementVNode","_toDisplayString","$data","_component_v_spacer","_component_v_btn","$options","_component_v_divider","_component_v_card_text","_openBlock","_createElementBlock","_Fragment","_renderList","index","_createTextVNode","_component_v_sheet","_normalizeClass","$event","_component_v_chip"],"mappings":"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"}
1
+ {"version":3,"file":"FilechecksumWidget-2ta-UvLp.cjs","sources":["../src/widgets/FilechecksumWidget.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card :style=\"computedStyle\" min-width=\"400\">\n <v-card-title class=\"d-flex align-center pa-2\">\n <span class=\"text-caption text-medium-emphasis font-weight-regular\">\n {{ files.length === 1 ? 'File Checksum' : 'File Checksum Comparison' }}\n </span>\n <v-spacer />\n <v-btn\n size=\"x-small\"\n icon=\"mdi-refresh\"\n variant=\"text\"\n :loading=\"loading\"\n @click=\"fetchChecksums\"\n />\n </v-card-title>\n <v-divider />\n <v-card-text class=\"pa-3\">\n <template v-for=\"(file, index) in files\" :key=\"index\">\n <div class=\"text-caption text-medium-emphasis mb-2\">\n {{ files.length === 1 ? 'File:' : `File ${index + 1}:` }}\n <span class=\"ml-1 text-high-emphasis\">{{ file.path }}</span>\n </div>\n <v-sheet\n :class=\"file.error ? 'text-error' : ''\"\n class=\"d-flex align-center ga-2 px-2 py-1 mb-3 rounded text-caption\"\n style=\"background-color: rgba(128, 128, 128, 0.2)\"\n >\n <span class=\"flex-grow-1 overflow-wrap-anywhere\">\n {{ getDisplayText(file) }}\n </span>\n <v-btn\n :icon=\"file.copied ? '$success' : 'mdi-content-copy'\"\n :color=\"file.copied ? 'success' : undefined\"\n :disabled=\"!file.checksum\"\n size=\"x-small\"\n variant=\"plain\"\n density=\"compact\"\n @click=\"copyChecksum(file)\"\n />\n </v-sheet>\n </template>\n\n <template v-if=\"files.length > 1\">\n <v-divider class=\"mb-3\" />\n <v-chip\n :color=\"matchStatus.color\"\n size=\"small\"\n variant=\"tonal\"\n label\n :prepend-icon=\"matchStatus.icon\"\n >\n {{ matchStatus.text }}\n </v-chip>\n </template>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n data() {\n return {\n files: [],\n loading: false,\n }\n },\n computed: {\n match() {\n if (this.files.some((f) => f.error)) return false\n if (this.files.some((f) => !f.checksum)) return null\n const first = this.files[0].checksum\n return this.files.every((f) => f.checksum === first)\n },\n matchStatus() {\n const states = {\n null: { icon: '$info', color: 'grey', text: 'Comparing...' },\n true: { icon: '$success', color: 'success', text: 'Checksums Match' },\n false: {\n icon: '$error',\n color: 'error',\n text: this.files.some((f) => f.error)\n ? 'Error loading file(s)'\n : 'Checksums Do Not Match',\n },\n }\n return states[this.match]\n },\n },\n created() {\n this.files = this.parameters\n .filter((p) => p)\n .map((path) => ({ path, checksum: null, error: null, copied: false }))\n },\n mounted() {\n if (this.files.length) {\n this.fetchChecksums()\n }\n },\n methods: {\n getDisplayText(file) {\n if (file.error) return `Error: ${file.error}`\n if (file.checksum) return file.checksum\n if (this.loading) return 'Loading...'\n return 'Not loaded'\n },\n async computeChecksum(content) {\n const encoder = new TextEncoder()\n const data = encoder.encode(content)\n const hashBuffer = await crypto.subtle.digest('SHA-256', data)\n const hashArray = Array.from(new Uint8Array(hashBuffer))\n return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('')\n },\n async fetchFile(filePath) {\n const scope = window.openc3Scope || 'DEFAULT'\n let objectPath = `${scope}/targets_modified/${filePath}`\n let response = await Api.get(\n `/openc3-api/storage/download_file/${encodeURIComponent(objectPath)}`,\n {\n params: { bucket: 'OPENC3_CONFIG_BUCKET' },\n headers: { 'Ignore-Errors': '404,500' },\n },\n ).catch(() => null)\n\n if (!response || response.status === 404) {\n objectPath = `${scope}/targets/${filePath}`\n response = await Api.get(\n `/openc3-api/storage/download_file/${encodeURIComponent(objectPath)}`,\n { params: { bucket: 'OPENC3_CONFIG_BUCKET' } },\n )\n }\n\n if (response?.data?.contents) {\n return atob(response.data.contents)\n }\n throw new Error('File not found')\n },\n async copyChecksum(file) {\n if (!file.checksum) return\n try {\n await navigator.clipboard.writeText(file.checksum)\n file.copied = true\n setTimeout(() => (file.copied = false), 2000)\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Failed to copy checksum:', err)\n }\n },\n async fetchChecksums() {\n this.loading = true\n this.files.forEach((f) => {\n f.checksum = null\n f.error = null\n })\n\n const results = await Promise.all(\n this.files.map((file) =>\n this.fetchFile(file.path)\n .then((content) => this.computeChecksum(content))\n .catch((err) => ({ error: err.message || 'File not found' })),\n ),\n )\n\n results.forEach((result, i) => {\n if (result?.error) {\n this.files[i].error = result.error\n } else {\n this.files[i].checksum = result\n }\n })\n\n this.loading = false\n },\n },\n}\n</script>\n\n<style scoped>\n.overflow-wrap-anywhere {\n overflow-wrap: anywhere;\n}\n</style>\n"],"names":["_sfc_main","Widget","f","first","p","path","file","content","data","hashBuffer","b","filePath","scope","objectPath","response","Api","err","result","i","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_createBlock","_component_v_card","_ctx","_createVNode","_component_v_card_title","_createElementVNode","_toDisplayString","$data","_component_v_spacer","_component_v_btn","$options","_component_v_divider","_component_v_card_text","_openBlock","_createElementBlock","_Fragment","_renderList","index","_createTextVNode","_component_v_sheet","_normalizeClass","$event","_component_v_chip"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { F as k } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js";
2
- import { W as E } from "./Widget-CGePksBA.js";
3
- import { resolveComponent as n, createBlock as S, openBlock as h, normalizeStyle as N, withCtx as l, createVNode as o, createElementVNode as d, toDisplayString as m, createElementBlock as u, createCommentVNode as T, Fragment as p, renderList as A, createTextVNode as y, normalizeClass as B } from "vue";
4
- import { _ as I } from "./CustomIcon-Cg3jCA_l.js";
1
+ import { F as k } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js";
2
+ import { W as E } from "./Widget-DRhVdCLP.js";
3
+ import { resolveComponent as n, openBlock as h, createBlock as S, normalizeStyle as N, withCtx as l, createVNode as o, createElementVNode as d, toDisplayString as m, createElementBlock as u, Fragment as p, renderList as T, createTextVNode as y, normalizeClass as A, createCommentVNode as B } from "vue";
4
+ import { _ as I } from "./CustomIcon-DTR361si.js";
5
5
  const U = {
6
6
  mixins: [E],
7
7
  data() {
@@ -104,13 +104,13 @@ function V(e, t, s, r, i, c) {
104
104
  o(_),
105
105
  o(b, { class: "pa-3" }, {
106
106
  default: l(() => [
107
- (h(!0), u(p, null, A(i.files, (a, g) => (h(), u(p, { key: g }, [
107
+ (h(!0), u(p, null, T(i.files, (a, g) => (h(), u(p, { key: g }, [
108
108
  d("div", z, [
109
109
  y(m(i.files.length === 1 ? "File:" : `File ${g + 1}:`) + " ", 1),
110
110
  d("span", D, m(a.path), 1)
111
111
  ]),
112
112
  o(x, {
113
- class: B([a.error ? "text-error" : "", "d-flex align-center ga-2 px-2 py-1 mb-3 rounded text-caption"]),
113
+ class: A([a.error ? "text-error" : "", "d-flex align-center ga-2 px-2 py-1 mb-3 rounded text-caption"]),
114
114
  style: { "background-color": "rgba(128, 128, 128, 0.2)" }
115
115
  }, {
116
116
  default: l(() => [
@@ -142,7 +142,7 @@ function V(e, t, s, r, i, c) {
142
142
  ]),
143
143
  _: 1
144
144
  }, 8, ["color", "prepend-icon"])
145
- ], 64)) : T("", !0)
145
+ ], 64)) : B("", !0)
146
146
  ]),
147
147
  _: 1
148
148
  })
@@ -154,4 +154,4 @@ const K = /* @__PURE__ */ I(U, [["render", V], ["__scopeId", "data-v-5728d932"]]
154
154
  export {
155
155
  K as default
156
156
  };
157
- //# sourceMappingURL=FilechecksumWidget-BS281Q0h.js.map
157
+ //# sourceMappingURL=FilechecksumWidget-DqJ_hvN4.js.map