@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,14 +1,14 @@
1
- import { F as U } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js";
1
+ import { F as U } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js";
2
2
  import { T as O } from "./timeFilters-DTOZtBlG.js";
3
- import { resolveComponent as o, createElementBlock as _, openBlock as p, createVNode as a, withKeys as I, withCtx as n, createSlots as P, createElementVNode as h, withDirectives as q, toDisplayString as T, vShow as N, createBlock as M, createCommentVNode as E, createTextVNode as V, withModifiers as F, mergeProps as J, Fragment as Q, renderList as X } from "vue";
4
- import { _ as A } from "./CustomIcon-Cg3jCA_l.js";
5
- import { C as Y, S as $, E as tt } from "./ScriptChooser-Bl0wisob.js";
6
- import { O as K } from "./OpenC3TimePicker-CkaALgy9.js";
3
+ import { resolveComponent as o, openBlock as p, createElementBlock as _, createVNode as a, withKeys as I, withCtx as n, createSlots as P, createElementVNode as h, withDirectives as q, toDisplayString as T, vShow as N, createBlock as M, createCommentVNode as E, createTextVNode as V, withModifiers as F, mergeProps as J, Fragment as Q, renderList as X } from "vue";
4
+ import { _ as A } from "./CustomIcon-DTR361si.js";
5
+ import { C as Y, S as $, E as tt } from "./ScriptChooser-CzzUJ1Zj.js";
6
+ import { O as K } from "./OpenC3TimePicker-DpkbfbgC.js";
7
7
  import "./store-CO68rDJT.js";
8
8
  import "single-spa";
9
- import { a as et, p as at } from "./parse-BKTTGw2p.js";
10
- import { a as it } from "./addMonths-Zggd7y6j.js";
11
- import { t as nt, c as lt, f as Z } from "./format-CJYjW-xx.js";
9
+ import { t as et, c as at, f as Z } from "./format-CJYjW-xx.js";
10
+ import { a as it, p as nt } from "./parse-BKTTGw2p.js";
11
+ import { a as lt } from "./addMonths-Zggd7y6j.js";
12
12
  function ot(e, t, s) {
13
13
  const {
14
14
  years: u = 0,
@@ -18,8 +18,8 @@ function ot(e, t, s) {
18
18
  hours: m = 0,
19
19
  minutes: b = 0,
20
20
  seconds: c = 0
21
- } = t, y = nt(e, s?.in), w = i || u ? it(y, i + u * 12) : y, C = d || l ? et(w, d + l * 7) : w, k = b + m * 60, D = (c + k * 60) * 1e3;
22
- return lt(e, +C + D);
21
+ } = t, y = et(e, s?.in), w = i || u ? lt(y, i + u * 12) : y, C = d || l ? it(w, d + l * 7) : w, k = b + m * 60, D = (c + k * 60) * 1e3;
22
+ return at(e, +C + D);
23
23
  }
24
24
  const R = {
25
25
  props: {
@@ -45,7 +45,7 @@ const R = {
45
45
  calcStartDateTime: function() {
46
46
  this.date ? (this.startDate = this.date, this.endDate = this.date) : (this.startDate = Z(/* @__PURE__ */ new Date(), "yyyy-MM-dd"), this.endDate = Z(/* @__PURE__ */ new Date(), "yyyy-MM-dd"));
47
47
  let e = 1e3 * 60 * 30, t = null;
48
- this.time ? (t = at(this.time, "HH:mm:ss", /* @__PURE__ */ new Date()), t = new Date(Math.floor(t.getTime() / e) * e)) : t = new Date(Math.ceil((/* @__PURE__ */ new Date()).getTime() / e) * e), this.startTime = Z(t, "HH:mm:ss"), this.endTime = Z(ot(t, { minutes: 30 }), "HH:mm:ss");
48
+ this.time ? (t = nt(this.time, "HH:mm:ss", /* @__PURE__ */ new Date()), t = new Date(Math.floor(t.getTime() / e) * e)) : t = new Date(Math.ceil((/* @__PURE__ */ new Date()).getTime() / e) * e), this.startTime = Z(t, "HH:mm:ss"), this.endTime = Z(ot(t, { minutes: 30 }), "HH:mm:ss");
49
49
  }
50
50
  }
51
51
  }, st = {
@@ -1684,4 +1684,4 @@ export {
1684
1684
  R as a,
1685
1685
  St as b
1686
1686
  };
1687
- //# sourceMappingURL=EventListDialog-DL2HHNQG.js.map
1687
+ //# sourceMappingURL=EventListDialog-DjCQAwGl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventListDialog-DL2HHNQG.js","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-DjCQAwGl.js","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]}