@openc3/vue-common 7.0.1 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArrayWidget-BHjh3qLF.cjs → ArrayWidget-CQCphADm.cjs} +3 -3
- package/dist/{ArrayWidget-BHjh3qLF.cjs.map → ArrayWidget-CQCphADm.cjs.map} +1 -1
- package/dist/{ArrayWidget-Dh6zDiC7.js → ArrayWidget-CcQFJGCA.js} +7 -6
- package/dist/{ArrayWidget-Dh6zDiC7.js.map → ArrayWidget-CcQFJGCA.js.map} +1 -1
- package/dist/{ArrayplotWidget-CSc_TqNm.js → ArrayplotWidget-DGJEXAY0.js} +6 -5
- package/dist/{ArrayplotWidget-CSc_TqNm.js.map → ArrayplotWidget-DGJEXAY0.js.map} +1 -1
- package/dist/ArrayplotWidget-J0xWFYsb.cjs +2 -0
- package/dist/{ArrayplotWidget-BHD-TGQO.cjs.map → ArrayplotWidget-J0xWFYsb.cjs.map} +1 -1
- package/dist/BarColumn-DrvHLEts.cjs +2 -0
- package/dist/BarColumn-DrvHLEts.cjs.map +1 -0
- package/dist/{BarColumn-DmjMnw5l.js → BarColumn-DwZmAe8g.js} +11 -9
- package/dist/BarColumn-DwZmAe8g.js.map +1 -0
- package/dist/{BlockWidget-BdR_HCVc.js → BlockWidget-BHtugveV.js} +14 -13
- package/dist/{BlockWidget-BdR_HCVc.js.map → BlockWidget-BHtugveV.js.map} +1 -1
- package/dist/{BlockWidget-Bi1PfS1k.cjs → BlockWidget-_HTXwzGu.cjs} +2 -2
- package/dist/{BlockWidget-Bi1PfS1k.cjs.map → BlockWidget-_HTXwzGu.cjs.map} +1 -1
- package/dist/ButtonWidget-C_4jUjbD.cjs +3 -0
- package/dist/ButtonWidget-C_4jUjbD.cjs.map +1 -0
- package/dist/{ButtonWidget-DZ4VCNWU.js → ButtonWidget-Cc9cYsg8.js} +7 -6
- package/dist/ButtonWidget-Cc9cYsg8.js.map +1 -0
- package/dist/{CanvasWidget-DTEx-DpZ.cjs → CanvasWidget-98hvMkWl.cjs} +2 -2
- package/dist/{CanvasWidget-DTEx-DpZ.cjs.map → CanvasWidget-98hvMkWl.cjs.map} +1 -1
- package/dist/{CanvasWidget-DuXOo3jG.js → CanvasWidget-Bn70gBcc.js} +2 -2
- package/dist/{CanvasWidget-DuXOo3jG.js.map → CanvasWidget-Bn70gBcc.js.map} +1 -1
- package/dist/{CanvasdotWidget-bbOquK8B.cjs → CanvasdotWidget-6s1Kzzoj.cjs} +2 -2
- package/dist/{CanvasdotWidget-bbOquK8B.cjs.map → CanvasdotWidget-6s1Kzzoj.cjs.map} +1 -1
- package/dist/{CanvasdotWidget-WoLpxI1u.js → CanvasdotWidget-CMROfW3O.js} +2 -2
- package/dist/{CanvasdotWidget-WoLpxI1u.js.map → CanvasdotWidget-CMROfW3O.js.map} +1 -1
- package/dist/{CanvasimageWidget-tWpK5rsv.js → CanvasimageWidget-BpM05v_m.js} +3 -3
- package/dist/{CanvasimageWidget-tWpK5rsv.js.map → CanvasimageWidget-BpM05v_m.js.map} +1 -1
- package/dist/{CanvasimageWidget-D2EqsK7w.cjs → CanvasimageWidget-Du_TULyr.cjs} +2 -2
- package/dist/{CanvasimageWidget-D2EqsK7w.cjs.map → CanvasimageWidget-Du_TULyr.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-By_DiQ75.cjs → CanvasimagevalueWidget-DUiZEzwq.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-By_DiQ75.cjs.map → CanvasimagevalueWidget-DUiZEzwq.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-BVzJYz3l.js → CanvasimagevalueWidget-E6G93iGc.js} +3 -3
- package/dist/{CanvasimagevalueWidget-BVzJYz3l.js.map → CanvasimagevalueWidget-E6G93iGc.js.map} +1 -1
- package/dist/{CanvaslabelWidget-CDFf8Vll.js → CanvaslabelWidget-C074R2Fy.js} +2 -2
- package/dist/{CanvaslabelWidget-CDFf8Vll.js.map → CanvaslabelWidget-C074R2Fy.js.map} +1 -1
- package/dist/{CanvaslabelWidget-DiPxyXoX.cjs → CanvaslabelWidget-C7K2dtNN.cjs} +2 -2
- package/dist/{CanvaslabelWidget-DiPxyXoX.cjs.map → CanvaslabelWidget-C7K2dtNN.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-DzJKD6qs.js → CanvaslabelvalueWidget-B0nJeS4X.js} +2 -2
- package/dist/{CanvaslabelvalueWidget-DzJKD6qs.js.map → CanvaslabelvalueWidget-B0nJeS4X.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-Cw5CCQTi.cjs → CanvaslabelvalueWidget-BuayHPZu.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-Cw5CCQTi.cjs.map → CanvaslabelvalueWidget-BuayHPZu.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-BttTXCZq.js → CanvaslineWidget-CxnNAqOX.js} +2 -2
- package/dist/{CanvaslineWidget-BttTXCZq.js.map → CanvaslineWidget-CxnNAqOX.js.map} +1 -1
- package/dist/{CanvaslineWidget-BECtKTPL.cjs → CanvaslineWidget-DaBwCmSV.cjs} +2 -2
- package/dist/{CanvaslineWidget-BECtKTPL.cjs.map → CanvaslineWidget-DaBwCmSV.cjs.map} +1 -1
- package/dist/{CanvaslinevalueWidget-i6G0JfnZ.js → CanvaslinevalueWidget-BwfFyCwH.js} +2 -2
- package/dist/{CanvaslinevalueWidget-i6G0JfnZ.js.map → CanvaslinevalueWidget-BwfFyCwH.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-5duJ98qu.cjs → CanvaslinevalueWidget-xSHdgNCO.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-5duJ98qu.cjs.map → CanvaslinevalueWidget-xSHdgNCO.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-CTMObPhX.cjs → CheckbuttonWidget-Bey7tHx-.cjs} +2 -2
- package/dist/{CheckbuttonWidget-CTMObPhX.cjs.map → CheckbuttonWidget-Bey7tHx-.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-18jtf7sh.js → CheckbuttonWidget-yAm10oX0.js} +2 -2
- package/dist/{CheckbuttonWidget-18jtf7sh.js.map → CheckbuttonWidget-yAm10oX0.js.map} +1 -1
- package/dist/{ClassificationBanners-BmnQODLn.js → ClassificationBanners-DxpE_iPX.js} +2 -2
- package/dist/{ClassificationBanners-BmnQODLn.js.map → ClassificationBanners-DxpE_iPX.js.map} +1 -1
- package/dist/ClassificationBanners-xG4DOlqJ.cjs +2 -0
- package/dist/{ClassificationBanners-DjGCuH-4.cjs.map → ClassificationBanners-xG4DOlqJ.cjs.map} +1 -1
- package/dist/{ComboboxWidget-BjaVFbD4.js → ComboboxWidget-BnWksnnp.js} +2 -2
- package/dist/{ComboboxWidget-BjaVFbD4.js.map → ComboboxWidget-BnWksnnp.js.map} +1 -1
- package/dist/{ComboboxWidget-Cc0Acq9q.cjs → ComboboxWidget-Mh6axKMv.cjs} +2 -2
- package/dist/{ComboboxWidget-Cc0Acq9q.cjs.map → ComboboxWidget-Mh6axKMv.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-CO-nvphS.js → CriticalCmdDialog-D0fIp8Tq.js} +24 -23
- package/dist/{CriticalCmdDialog-CO-nvphS.js.map → CriticalCmdDialog-D0fIp8Tq.js.map} +1 -1
- package/dist/CriticalCmdDialog-DJ3FWL0_.cjs +2 -0
- package/dist/{CriticalCmdDialog-eytxCQto.cjs.map → CriticalCmdDialog-DJ3FWL0_.cjs.map} +1 -1
- package/dist/{DateWidget-DkFAFlc8.js → DateWidget-CAiG2FIl.js} +9 -8
- package/dist/{DateWidget-DkFAFlc8.js.map → DateWidget-CAiG2FIl.js.map} +1 -1
- package/dist/DateWidget-DUYYp-Yx.cjs +2 -0
- package/dist/{DateWidget-Cle8FY8Q.cjs.map → DateWidget-DUYYp-Yx.cjs.map} +1 -1
- package/dist/DetailsDialog-D3iPUi8b.cjs +2 -0
- package/dist/{DetailsDialog-BcMaTfuQ.cjs.map → DetailsDialog-D3iPUi8b.cjs.map} +1 -1
- package/dist/{DetailsDialog-sqja4Lzq.js → DetailsDialog-q5SDzw3R.js} +72 -71
- package/dist/{DetailsDialog-sqja4Lzq.js.map → DetailsDialog-q5SDzw3R.js.map} +1 -1
- package/dist/EventListDialog-1RsuuLHZ.cjs +2 -0
- package/dist/EventListDialog-1RsuuLHZ.cjs.map +1 -0
- package/dist/{EventListDialog-DjCQAwGl.js → EventListDialog-HuEtOu3k.js} +61 -58
- package/dist/EventListDialog-HuEtOu3k.js.map +1 -0
- package/dist/FilechecksumWidget-ByVrYgzI.cjs +2 -0
- package/dist/{FilechecksumWidget-2ta-UvLp.cjs.map → FilechecksumWidget-ByVrYgzI.cjs.map} +1 -1
- package/dist/{FilechecksumWidget-DqJ_hvN4.js → FilechecksumWidget-DeW9wy5d.js} +9 -9
- package/dist/{FilechecksumWidget-DqJ_hvN4.js.map → FilechecksumWidget-DeW9wy5d.js.map} +1 -1
- package/dist/{FiledisplayWidget-CYznG_tf.js → FiledisplayWidget-C_zPFu2E.js} +7 -6
- package/dist/{FiledisplayWidget-CYznG_tf.js.map → FiledisplayWidget-C_zPFu2E.js.map} +1 -1
- package/dist/FiledisplayWidget-hYmg981k.cjs +2 -0
- package/dist/{FiledisplayWidget-BUKXIQir.cjs.map → FiledisplayWidget-hYmg981k.cjs.map} +1 -1
- package/dist/{FormatvalueWidget-BpFXnA_U.cjs → FormatvalueWidget-7VD_kwxB.cjs} +2 -2
- package/dist/{FormatvalueWidget-BpFXnA_U.cjs.map → FormatvalueWidget-7VD_kwxB.cjs.map} +1 -1
- package/dist/{FormatvalueWidget-BnVu4YGx.js → FormatvalueWidget-BrvPWwfN.js} +3 -3
- package/dist/{FormatvalueWidget-BnVu4YGx.js.map → FormatvalueWidget-BrvPWwfN.js.map} +1 -1
- package/dist/{Graph-CUFzx8Ti.js → Graph-BCvaO4yI.js} +45 -38
- package/dist/Graph-BCvaO4yI.js.map +1 -0
- package/dist/Graph-BUqdz6gu.cjs +2 -0
- package/dist/Graph-BUqdz6gu.cjs.map +1 -0
- package/dist/GraphWidget-BdP0xM_P.cjs +2 -0
- package/dist/{GraphWidget-BvCQHVxQ.cjs.map → GraphWidget-BdP0xM_P.cjs.map} +1 -1
- package/dist/{GraphWidget-DO5XbOGy.js → GraphWidget-QS-VJoes.js} +26 -31
- package/dist/{GraphWidget-DO5XbOGy.js.map → GraphWidget-QS-VJoes.js.map} +1 -1
- package/dist/{HorizontalWidget-BBQE-dP-.cjs → HorizontalWidget-B9j7DG2Q.cjs} +2 -2
- package/dist/{HorizontalWidget-BBQE-dP-.cjs.map → HorizontalWidget-B9j7DG2Q.cjs.map} +1 -1
- package/dist/{HorizontalWidget-BA9PiP3d.js → HorizontalWidget-cFSsdChw.js} +2 -2
- package/dist/{HorizontalWidget-BA9PiP3d.js.map → HorizontalWidget-cFSsdChw.js.map} +1 -1
- package/dist/{HorizontalboxWidget-CX7J8RdA.cjs → HorizontalboxWidget-C3zHRO9h.cjs} +2 -2
- package/dist/{HorizontalboxWidget-CX7J8RdA.cjs.map → HorizontalboxWidget-C3zHRO9h.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-B-7HOqgl.js → HorizontalboxWidget-CKA7rLGd.js} +5 -5
- package/dist/{HorizontalboxWidget-B-7HOqgl.js.map → HorizontalboxWidget-CKA7rLGd.js.map} +1 -1
- package/dist/{HorizontallineWidget-D-o9MGo0.js → HorizontallineWidget-BqbLK0zc.js} +2 -2
- package/dist/{HorizontallineWidget-D-o9MGo0.js.map → HorizontallineWidget-BqbLK0zc.js.map} +1 -1
- package/dist/{HorizontallineWidget-odTFoB8u.cjs → HorizontallineWidget-GGNFIo1N.cjs} +2 -2
- package/dist/{HorizontallineWidget-odTFoB8u.cjs.map → HorizontallineWidget-GGNFIo1N.cjs.map} +1 -1
- package/dist/{IframeWidget-BzOka-fX.js → IframeWidget-CITX8Es1.js} +2 -2
- package/dist/{IframeWidget-BzOka-fX.js.map → IframeWidget-CITX8Es1.js.map} +1 -1
- package/dist/{IframeWidget-cTHu_Rmp.cjs → IframeWidget-lK6Cw1Pp.cjs} +2 -2
- package/dist/{IframeWidget-cTHu_Rmp.cjs.map → IframeWidget-lK6Cw1Pp.cjs.map} +1 -1
- package/dist/ImageLoader-CkTaGfCC.cjs +2 -0
- package/dist/{ImageLoader-BTEOukIw.cjs.map → ImageLoader-CkTaGfCC.cjs.map} +1 -1
- package/dist/{ImageLoader-CstmWFM4.js → ImageLoader-DQV_11Vd.js} +2 -2
- package/dist/{ImageLoader-CstmWFM4.js.map → ImageLoader-DQV_11Vd.js.map} +1 -1
- package/dist/{ImageviewerWidget-BA9uOM1q.js → ImageviewerWidget-BIsSA7KD.js} +2 -2
- package/dist/{ImageviewerWidget-BA9uOM1q.js.map → ImageviewerWidget-BIsSA7KD.js.map} +1 -1
- package/dist/{ImageviewerWidget-CLAFwmaB.cjs → ImageviewerWidget-CvbsaXCd.cjs} +2 -2
- package/dist/{ImageviewerWidget-CLAFwmaB.cjs.map → ImageviewerWidget-CvbsaXCd.cjs.map} +1 -1
- package/dist/InterfacesTab-Cfvks-ms.cjs +2 -0
- package/dist/{InterfacesTab-CM0CGFVS.cjs.map → InterfacesTab-Cfvks-ms.cjs.map} +1 -1
- package/dist/{InterfacesTab-C3mDLkGC.js → InterfacesTab-twne_Qp4.js} +11 -10
- package/dist/{InterfacesTab-C3mDLkGC.js.map → InterfacesTab-twne_Qp4.js.map} +1 -1
- package/dist/{LabelWidget-CMmVq1mx.cjs → LabelWidget-BFWd6Vgh.cjs} +2 -2
- package/dist/{LabelWidget-CMmVq1mx.cjs.map → LabelWidget-BFWd6Vgh.cjs.map} +1 -1
- package/dist/{LabelWidget-Da2howZF.js → LabelWidget-FQI-cH_A.js} +2 -2
- package/dist/{LabelWidget-Da2howZF.js.map → LabelWidget-FQI-cH_A.js.map} +1 -1
- package/dist/{LabelledWidget-CAqH0oWs.cjs → LabelledWidget-AZifUp-f.cjs} +2 -2
- package/dist/{LabelledWidget-CAqH0oWs.cjs.map → LabelledWidget-AZifUp-f.cjs.map} +1 -1
- package/dist/{LabelledWidget-BH8y3OXT.js → LabelledWidget-KGXtQ4Zb.js} +4 -4
- package/dist/{LabelledWidget-BH8y3OXT.js.map → LabelledWidget-KGXtQ4Zb.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-Brl24F4c.js → LabelprogressbarWidget-72WyzD_Q.js} +4 -4
- package/dist/{LabelprogressbarWidget-Brl24F4c.js.map → LabelprogressbarWidget-72WyzD_Q.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-BxLGmW9T.cjs → LabelprogressbarWidget-Bd2E9G7V.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-BxLGmW9T.cjs.map → LabelprogressbarWidget-Bd2E9G7V.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-D22MB7-4.js → LabelsparklineWidget-DtWNf4mK.js} +4 -4
- package/dist/{LabelsparklineWidget-D22MB7-4.js.map → LabelsparklineWidget-DtWNf4mK.js.map} +1 -1
- package/dist/{LabelsparklineWidget-BUXOpBeB.cjs → LabelsparklineWidget-__3CB0T-.cjs} +2 -2
- package/dist/{LabelsparklineWidget-BUXOpBeB.cjs.map → LabelsparklineWidget-__3CB0T-.cjs.map} +1 -1
- package/dist/LabelvalueWidget-B681T0uR.cjs +2 -0
- package/dist/LabelvalueWidget-B681T0uR.cjs.map +1 -0
- package/dist/{LabelvalueWidget-_1JPbK-K.js → LabelvalueWidget-D_JLdY7r.js} +11 -12
- package/dist/LabelvalueWidget-D_JLdY7r.js.map +1 -0
- package/dist/LabelvaluedescWidget-BppM5vGp.js +64 -0
- package/dist/LabelvaluedescWidget-BppM5vGp.js.map +1 -0
- package/dist/LabelvaluedescWidget-CiGIPdMG.cjs +2 -0
- package/dist/LabelvaluedescWidget-CiGIPdMG.cjs.map +1 -0
- package/dist/{LabelvaluelimitsbarWidget-C9PlEhWo.js → LabelvaluelimitsbarWidget-B69ogLif.js} +4 -4
- package/dist/{LabelvaluelimitsbarWidget-C9PlEhWo.js.map → LabelvaluelimitsbarWidget-B69ogLif.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-BGag8V6k.cjs → LabelvaluelimitsbarWidget-Cmb4kGcv.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-BGag8V6k.cjs.map → LabelvaluelimitsbarWidget-Cmb4kGcv.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs → LabelvaluelimitscolumnWidget-BXdmh9So.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs.map → LabelvaluelimitscolumnWidget-BXdmh9So.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-Cay6AhoZ.js → LabelvaluelimitscolumnWidget-DPYwFdgq.js} +5 -5
- package/dist/{LabelvaluelimitscolumnWidget-Cay6AhoZ.js.map → LabelvaluelimitscolumnWidget-DPYwFdgq.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-s_8IgY-C.js → LabelvaluerangebarWidget-BT0BcOoK.js} +4 -4
- package/dist/{LabelvaluerangebarWidget-s_8IgY-C.js.map → LabelvaluerangebarWidget-BT0BcOoK.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-Dbibpimv.cjs → LabelvaluerangebarWidget-cavgscEk.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-Dbibpimv.cjs.map → LabelvaluerangebarWidget-cavgscEk.cjs.map} +1 -1
- package/dist/{Layout-DwWEea79.cjs → Layout-D1ukrMwN.cjs} +2 -2
- package/dist/{Layout-DwWEea79.cjs.map → Layout-D1ukrMwN.cjs.map} +1 -1
- package/dist/{Layout-D7RGn0Fe.js → Layout-d-vb0okO.js} +2 -2
- package/dist/{Layout-D7RGn0Fe.js.map → Layout-d-vb0okO.js.map} +1 -1
- package/dist/{LedWidget-DgMtvsiv.js → LedWidget-Cmr6eVG2.js} +7 -6
- package/dist/{LedWidget-DgMtvsiv.js.map → LedWidget-Cmr6eVG2.js.map} +1 -1
- package/dist/LedWidget-Dwrm6hTX.cjs +2 -0
- package/dist/{LedWidget-BaiKDozd.cjs.map → LedWidget-Dwrm6hTX.cjs.map} +1 -1
- package/dist/{LimitsBar-BFM38vQL.cjs → LimitsBar-Dz1lZ_81.cjs} +2 -2
- package/dist/{LimitsBar-BFM38vQL.cjs.map → LimitsBar-Dz1lZ_81.cjs.map} +1 -1
- package/dist/{LimitsBar-CcOaAw0C.js → LimitsBar-qMynDHYT.js} +2 -2
- package/dist/{LimitsBar-CcOaAw0C.js.map → LimitsBar-qMynDHYT.js.map} +1 -1
- package/dist/{LimitsbarWidget-DpmJn1Lo.js → LimitsbarWidget-CMvcwa-m.js} +3 -3
- package/dist/{LimitsbarWidget-DpmJn1Lo.js.map → LimitsbarWidget-CMvcwa-m.js.map} +1 -1
- package/dist/{LimitsbarWidget-ConP3qI5.cjs → LimitsbarWidget-vIP9AUk4.cjs} +2 -2
- package/dist/{LimitsbarWidget-ConP3qI5.cjs.map → LimitsbarWidget-vIP9AUk4.cjs.map} +1 -1
- package/dist/LimitscolorWidget-CPuknJPk.cjs +2 -0
- package/dist/{LimitscolorWidget-veWQ4NXl.cjs.map → LimitscolorWidget-CPuknJPk.cjs.map} +1 -1
- package/dist/{LimitscolorWidget-BMXiEaDm.js → LimitscolorWidget-CZ9wMtcI.js} +7 -6
- package/dist/{LimitscolorWidget-BMXiEaDm.js.map → LimitscolorWidget-CZ9wMtcI.js.map} +1 -1
- package/dist/{LimitscolumnWidget-CJABAor8.cjs → LimitscolumnWidget-r-nOETY5.cjs} +2 -2
- package/dist/{LimitscolumnWidget-CJABAor8.cjs.map → LimitscolumnWidget-r-nOETY5.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-ufFMz6R-.js → LimitscolumnWidget-r84KJGU-.js} +2 -2
- package/dist/{LimitscolumnWidget-ufFMz6R-.js.map → LimitscolumnWidget-r84KJGU-.js.map} +1 -1
- package/dist/LinegraphWidget-BMUI8q6Q.cjs +2 -0
- package/dist/{LinegraphWidget-3E8L5CvM.cjs.map → LinegraphWidget-BMUI8q6Q.cjs.map} +1 -1
- package/dist/{LinegraphWidget-BC2wVOny.js → LinegraphWidget-COGBGOjF.js} +10 -9
- package/dist/{LinegraphWidget-BC2wVOny.js.map → LinegraphWidget-COGBGOjF.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-DICgiNQo.cjs → MatrixbycolumnsWidget-BoNbbrEi.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-DICgiNQo.cjs.map → MatrixbycolumnsWidget-BoNbbrEi.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-DfUAeBnO.js → MatrixbycolumnsWidget-Dx2iz0YF.js} +3 -3
- package/dist/{MatrixbycolumnsWidget-DfUAeBnO.js.map → MatrixbycolumnsWidget-Dx2iz0YF.js.map} +1 -1
- package/dist/{MicroservicesTab-B0SZVty3.js → MicroservicesTab-Bhsf1soi.js} +12 -11
- package/dist/{MicroservicesTab-B0SZVty3.js.map → MicroservicesTab-Bhsf1soi.js.map} +1 -1
- package/dist/{MicroservicesTab-snXJDoYq.cjs → MicroservicesTab-Cuj56g8-.cjs} +3 -3
- package/dist/{MicroservicesTab-snXJDoYq.cjs.map → MicroservicesTab-Cuj56g8-.cjs.map} +1 -1
- package/dist/{OpenC3TimePicker-DpkbfbgC.js → OpenC3TimePicker-C3vCnk72.js} +20 -24
- package/dist/OpenC3TimePicker-C3vCnk72.js.map +1 -0
- package/dist/OpenC3TimePicker-CVUV2cK4.cjs +2 -0
- package/dist/OpenC3TimePicker-CVUV2cK4.cjs.map +1 -0
- package/dist/Openc3Screen-Bi6NOEQM.cjs +6 -0
- package/dist/{Openc3Screen-D1RLlBgQ.cjs.map → Openc3Screen-Bi6NOEQM.cjs.map} +1 -1
- package/dist/{Openc3Screen-DbUvz-3B.js → Openc3Screen-DkhDra2o.js} +67 -66
- package/dist/{Openc3Screen-DbUvz-3B.js.map → Openc3Screen-DkhDra2o.js.map} +1 -1
- package/dist/{OutputDialog-Ds-GdGyI.js → OutputDialog-D0ifesTw.js} +11 -10
- package/dist/{OutputDialog-Ds-GdGyI.js.map → OutputDialog-D0ifesTw.js.map} +1 -1
- package/dist/OutputDialog-DR9cJem2.cjs +2 -0
- package/dist/{OutputDialog-ChPCaQAE.cjs.map → OutputDialog-DR9cJem2.cjs.map} +1 -1
- package/dist/PackagesTab-B4sG5tHo.cjs +2 -0
- package/dist/{PackagesTab-BgQsbXRo.cjs.map → PackagesTab-B4sG5tHo.cjs.map} +1 -1
- package/dist/{PackagesTab-CWplBp_I.js → PackagesTab-Bb221-aM.js} +19 -18
- package/dist/{PackagesTab-CWplBp_I.js.map → PackagesTab-Bb221-aM.js.map} +1 -1
- package/dist/PluginsTab-Cbi_R9jL.cjs +6 -0
- package/dist/PluginsTab-Cbi_R9jL.cjs.map +1 -0
- package/dist/{PluginsTab-BiiL622n.js → PluginsTab-nWngR5kY.js} +275 -234
- package/dist/PluginsTab-nWngR5kY.js.map +1 -0
- package/dist/{ProgressbarWidget-D3ndYnq_.js → ProgressbarWidget-DPbAVjdC.js} +2 -2
- package/dist/{ProgressbarWidget-D3ndYnq_.js.map → ProgressbarWidget-DPbAVjdC.js.map} +1 -1
- package/dist/{ProgressbarWidget-DludJVUf.cjs → ProgressbarWidget-cPr3o6Nv.cjs} +2 -2
- package/dist/{ProgressbarWidget-DludJVUf.cjs.map → ProgressbarWidget-cPr3o6Nv.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-DX4h94p1.cjs → RadiobuttonWidget-BQZkRFa-.cjs} +2 -2
- package/dist/{RadiobuttonWidget-DX4h94p1.cjs.map → RadiobuttonWidget-BQZkRFa-.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-CP0S9nWW.js → RadiobuttonWidget-iXI9yCDk.js} +2 -2
- package/dist/{RadiobuttonWidget-CP0S9nWW.js.map → RadiobuttonWidget-iXI9yCDk.js.map} +1 -1
- package/dist/{RadiogroupWidget-BXHfA21T.js → RadiogroupWidget-CMM_p1eA.js} +2 -2
- package/dist/{RadiogroupWidget-BXHfA21T.js.map → RadiogroupWidget-CMM_p1eA.js.map} +1 -1
- package/dist/{RadiogroupWidget-NqjBNUH6.cjs → RadiogroupWidget-D2iIQ5RU.cjs} +2 -2
- package/dist/{RadiogroupWidget-NqjBNUH6.cjs.map → RadiogroupWidget-D2iIQ5RU.cjs.map} +1 -1
- package/dist/{RangebarWidget-Bv2DqkPo.js → RangebarWidget-DJXGUHAc.js} +2 -2
- package/dist/{RangebarWidget-Bv2DqkPo.js.map → RangebarWidget-DJXGUHAc.js.map} +1 -1
- package/dist/{RangebarWidget-CRq2zpvw.cjs → RangebarWidget-DsphX-jB.cjs} +2 -2
- package/dist/{RangebarWidget-CRq2zpvw.cjs.map → RangebarWidget-DsphX-jB.cjs.map} +1 -1
- package/dist/RedisTab-BZtfqEcP.js +186 -0
- package/dist/RedisTab-BZtfqEcP.js.map +1 -0
- package/dist/RedisTab-KhsG2CCO.cjs +2 -0
- package/dist/RedisTab-KhsG2CCO.cjs.map +1 -0
- package/dist/{RollupWidget-o_huYU0x.js → RollupWidget-BbWLSsTT.js} +2 -2
- package/dist/{RollupWidget-o_huYU0x.js.map → RollupWidget-BbWLSsTT.js.map} +1 -1
- package/dist/{RollupWidget-B7_Q_boi.cjs → RollupWidget-w-SF3f-X.cjs} +2 -2
- package/dist/{RollupWidget-B7_Q_boi.cjs.map → RollupWidget-w-SF3f-X.cjs.map} +1 -1
- package/dist/{RoutersTab-DN17iBBi.js → RoutersTab-CLKIJ5cm.js} +13 -12
- package/dist/{RoutersTab-DN17iBBi.js.map → RoutersTab-CLKIJ5cm.js.map} +1 -1
- package/dist/RoutersTab-DUvOfNhU.cjs +2 -0
- package/dist/{RoutersTab-CAbnSGHy.cjs.map → RoutersTab-DUvOfNhU.cjs.map} +1 -1
- package/dist/{ScriptChooser-CzzUJ1Zj.js → ScriptChooser-BxTJKTVu.js} +20 -19
- package/dist/{ScriptChooser-CzzUJ1Zj.js.map → ScriptChooser-BxTJKTVu.js.map} +1 -1
- package/dist/ScriptChooser-YC_FfCLd.cjs +2 -0
- package/dist/{ScriptChooser-CggwstfT.cjs.map → ScriptChooser-YC_FfCLd.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-kS5QjP-v.cjs → ScrollwindowWidget-D1mtHFMa.cjs} +2 -2
- package/dist/{ScrollwindowWidget-kS5QjP-v.cjs.map → ScrollwindowWidget-D1mtHFMa.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-DdjaML6D.js → ScrollwindowWidget-Dxhp7yKn.js} +2 -2
- package/dist/{ScrollwindowWidget-DdjaML6D.js.map → ScrollwindowWidget-Dxhp7yKn.js.map} +1 -1
- package/dist/SecretsTab-B7oZb354.cjs +2 -0
- package/dist/{SecretsTab-Cn6-o85L.cjs.map → SecretsTab-B7oZb354.cjs.map} +1 -1
- package/dist/{SecretsTab-Cu3sx2OA.js → SecretsTab-BoBmTh63.js} +5 -5
- package/dist/{SecretsTab-Cu3sx2OA.js.map → SecretsTab-BoBmTh63.js.map} +1 -1
- package/dist/SettingsTab-2EMyS-3_.cjs +3 -0
- package/dist/{SettingsTab-C6zIL2D6.cjs.map → SettingsTab-2EMyS-3_.cjs.map} +1 -1
- package/dist/{SettingsTab-B_vvSLvt.js → SettingsTab-BL7gkaO9.js} +7 -6
- package/dist/{SettingsTab-B_vvSLvt.js.map → SettingsTab-BL7gkaO9.js.map} +1 -1
- package/dist/{SignalWidget-Dd54y28I.js → SignalWidget-65q0tiuo.js} +2 -2
- package/dist/{SignalWidget-Dd54y28I.js.map → SignalWidget-65q0tiuo.js.map} +1 -1
- package/dist/{SignalWidget-BagcB92r.cjs → SignalWidget-Cld2lVyc.cjs} +2 -2
- package/dist/{SignalWidget-BagcB92r.cjs.map → SignalWidget-Cld2lVyc.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-DZv9n_kJ.js → SimpleTextDialog-ChmFtdVw.js} +2 -2
- package/dist/{SimpleTextDialog-DZv9n_kJ.js.map → SimpleTextDialog-ChmFtdVw.js.map} +1 -1
- package/dist/{SimpleTextDialog-BJ50TbWh.cjs → SimpleTextDialog-DVlqwD8O.cjs} +2 -2
- package/dist/{SimpleTextDialog-BJ50TbWh.cjs.map → SimpleTextDialog-DVlqwD8O.cjs.map} +1 -1
- package/dist/{SpacerWidget-GPFYtIG1.js → SpacerWidget-DFzbojmX.js} +2 -2
- package/dist/{SpacerWidget-GPFYtIG1.js.map → SpacerWidget-DFzbojmX.js.map} +1 -1
- package/dist/{SpacerWidget-DWjBns9r.cjs → SpacerWidget-DV0-ZfEm.cjs} +2 -2
- package/dist/{SpacerWidget-DWjBns9r.cjs.map → SpacerWidget-DV0-ZfEm.cjs.map} +1 -1
- package/dist/SparklineWidget-B1RfTxEp.cjs +2 -0
- package/dist/{SparklineWidget-xdPgolp3.cjs.map → SparklineWidget-B1RfTxEp.cjs.map} +1 -1
- package/dist/{SparklineWidget-f11nrlLS.js → SparklineWidget-Bu4I8zY0.js} +10 -9
- package/dist/{SparklineWidget-f11nrlLS.js.map → SparklineWidget-Bu4I8zY0.js.map} +1 -1
- package/dist/{TabbookWidget-DeaC27yC.js → TabbookWidget-CELMWyx7.js} +2 -2
- package/dist/{TabbookWidget-DeaC27yC.js.map → TabbookWidget-CELMWyx7.js.map} +1 -1
- package/dist/{TabbookWidget-CUIYWHRH.cjs → TabbookWidget-CLpx5e5Q.cjs} +2 -2
- package/dist/{TabbookWidget-CUIYWHRH.cjs.map → TabbookWidget-CLpx5e5Q.cjs.map} +1 -1
- package/dist/{TargetPacketItemChooser-BoBqvs3T.js → TargetPacketItemChooser-BOdVLVbe.js} +177 -153
- package/dist/TargetPacketItemChooser-BOdVLVbe.js.map +1 -0
- package/dist/TargetPacketItemChooser-xoRA3b9K.cjs +2 -0
- package/dist/TargetPacketItemChooser-xoRA3b9K.cjs.map +1 -0
- package/dist/{TargetsTab-CjVaBN9O.js → TargetsTab-BJZEtKY4.js} +11 -10
- package/dist/{TargetsTab-CjVaBN9O.js.map → TargetsTab-BJZEtKY4.js.map} +1 -1
- package/dist/TargetsTab-Dkp4VoK6.cjs +2 -0
- package/dist/{TargetsTab-BMcWjrZ_.cjs.map → TargetsTab-Dkp4VoK6.cjs.map} +1 -1
- package/dist/{TextboxWidget-tL41zWUX.js → TextboxWidget-DYsqXntS.js} +7 -6
- package/dist/{TextboxWidget-tL41zWUX.js.map → TextboxWidget-DYsqXntS.js.map} +1 -1
- package/dist/TextboxWidget-DuNmhz89.cjs +2 -0
- package/dist/{TextboxWidget-CXA9rR02.cjs.map → TextboxWidget-DuNmhz89.cjs.map} +1 -1
- package/dist/{TextfieldWidget-D1qj14Qi.js → TextfieldWidget-BIUgV9Q4.js} +2 -2
- package/dist/{TextfieldWidget-D1qj14Qi.js.map → TextfieldWidget-BIUgV9Q4.js.map} +1 -1
- package/dist/{TextfieldWidget-D-H2fOZG.cjs → TextfieldWidget-BlW-rSVv.cjs} +2 -2
- package/dist/{TextfieldWidget-D-H2fOZG.cjs.map → TextfieldWidget-BlW-rSVv.cjs.map} +1 -1
- package/dist/{TimeWidget-CSVGNong.js → TimeWidget-BPXcY1Wy.js} +7 -6
- package/dist/{TimeWidget-CSVGNong.js.map → TimeWidget-BPXcY1Wy.js.map} +1 -1
- package/dist/TimeWidget-BddmbQgt.cjs +2 -0
- package/dist/{TimeWidget-CGk8Ze_I.cjs.map → TimeWidget-BddmbQgt.cjs.map} +1 -1
- package/dist/{TitleWidget-ClhWhUf3.cjs → TitleWidget-CPqwZKUx.cjs} +2 -2
- package/dist/{TitleWidget-ClhWhUf3.cjs.map → TitleWidget-CPqwZKUx.cjs.map} +1 -1
- package/dist/{TitleWidget-CLx-tuYT.js → TitleWidget-DJ9mHRLE.js} +2 -2
- package/dist/{TitleWidget-CLx-tuYT.js.map → TitleWidget-DJ9mHRLE.js.map} +1 -1
- package/dist/ToolsTab-B4CURni4.cjs +2 -0
- package/dist/{ToolsTab-DTHap-Nq.cjs.map → ToolsTab-B4CURni4.cjs.map} +1 -1
- package/dist/{ToolsTab-lBB_KhmA.js → ToolsTab-VSCWDywf.js} +62 -61
- package/dist/{ToolsTab-lBB_KhmA.js.map → ToolsTab-VSCWDywf.js.map} +1 -1
- package/dist/{TopBar-C810rP_B.js → TopBar-B4oz2FsN.js} +2 -2
- package/dist/{TopBar-C810rP_B.js.map → TopBar-B4oz2FsN.js.map} +1 -1
- package/dist/{TopBar-Ctzx7o2k.cjs → TopBar-lcB6jpd_.cjs} +2 -2
- package/dist/{TopBar-Ctzx7o2k.cjs.map → TopBar-lcB6jpd_.cjs.map} +1 -1
- package/dist/TsdbTab-Cv8GjpoJ.js +1164 -0
- package/dist/TsdbTab-Cv8GjpoJ.js.map +1 -0
- package/dist/TsdbTab-OOO451j0.cjs +5 -0
- package/dist/TsdbTab-OOO451j0.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog-D_S574Zb.js → UpgradeToEnterpriseDialog-BUuXsGPY.js} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-D_S574Zb.js.map → UpgradeToEnterpriseDialog-BUuXsGPY.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-XJb6gVCY.cjs → UpgradeToEnterpriseDialog-DHLK6v6f.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-XJb6gVCY.cjs.map → UpgradeToEnterpriseDialog-DHLK6v6f.cjs.map} +1 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CTNR19Zt.cjs +1477 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CTNR19Zt.cjs.map +1 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DskbVSHX.js +26306 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DskbVSHX.js.map +1 -0
- package/dist/VWidget-B6WHN0_z.cjs +2 -0
- package/dist/VWidget-B6WHN0_z.cjs.map +1 -0
- package/dist/{VWidget-CxnaMF0w.js → VWidget-BDy0211S.js} +17 -20
- package/dist/VWidget-BDy0211S.js.map +1 -0
- package/dist/{ValueWidget-BYgpXfDo.js → ValueWidget-DzOSy7lp.js} +7 -6
- package/dist/{ValueWidget-BYgpXfDo.js.map → ValueWidget-DzOSy7lp.js.map} +1 -1
- package/dist/ValueWidget-QWzoEFXc.cjs +2 -0
- package/dist/{ValueWidget-Bws1qOEI.cjs.map → ValueWidget-QWzoEFXc.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-BoZSJvuq.cjs → ValuelimitsbarWidget-5AkAljK-.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-BoZSJvuq.cjs.map → ValuelimitsbarWidget-5AkAljK-.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-Dc9-VNZ3.js → ValuelimitsbarWidget-D5dSlW6D.js} +4 -4
- package/dist/{ValuelimitsbarWidget-Dc9-VNZ3.js.map → ValuelimitsbarWidget-D5dSlW6D.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-b7W8K3mR.js → ValuelimitscolumnWidget-7DXCsVW_.js} +4 -4
- package/dist/{ValuelimitscolumnWidget-b7W8K3mR.js.map → ValuelimitscolumnWidget-7DXCsVW_.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-ta9i_tiy.cjs → ValuelimitscolumnWidget-zNx9i1v7.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-ta9i_tiy.cjs.map → ValuelimitscolumnWidget-zNx9i1v7.cjs.map} +1 -1
- package/dist/{ValuerangebarWidget-DmhczZQb.js → ValuerangebarWidget-BWjnpmyy.js} +4 -4
- package/dist/{ValuerangebarWidget-DmhczZQb.js.map → ValuerangebarWidget-BWjnpmyy.js.map} +1 -1
- package/dist/{ValuerangebarWidget-Ips-beG6.cjs → ValuerangebarWidget-EsdIz4oP.cjs} +2 -2
- package/dist/{ValuerangebarWidget-Ips-beG6.cjs.map → ValuerangebarWidget-EsdIz4oP.cjs.map} +1 -1
- package/dist/{VerticalWidget-BvsVh0Ob.js → VerticalWidget-BOtXAhxt.js} +2 -2
- package/dist/{VerticalWidget-BvsVh0Ob.js.map → VerticalWidget-BOtXAhxt.js.map} +1 -1
- package/dist/{VerticalWidget-BVt7QPjO.cjs → VerticalWidget-DVskS6fx.cjs} +2 -2
- package/dist/{VerticalWidget-BVt7QPjO.cjs.map → VerticalWidget-DVskS6fx.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-CNoXT3YW.cjs → VerticalboxWidget-Bu4oHN2K.cjs} +2 -2
- package/dist/{VerticalboxWidget-CNoXT3YW.cjs.map → VerticalboxWidget-Bu4oHN2K.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-ClTCDCQN.js → VerticalboxWidget-RAsXfGdI.js} +5 -5
- package/dist/{VerticalboxWidget-ClTCDCQN.js.map → VerticalboxWidget-RAsXfGdI.js.map} +1 -1
- package/dist/{Widget-DRhVdCLP.js → Widget-BDsgRxuV.js} +37 -14
- package/dist/{Widget-DRhVdCLP.js.map → Widget-BDsgRxuV.js.map} +1 -1
- package/dist/Widget-Ddu_kuTL.cjs +2 -0
- package/dist/{Widget-CB_BtOFw.cjs.map → Widget-Ddu_kuTL.cjs.map} +1 -1
- package/dist/{addMonths-Zggd7y6j.js → addMonths-BiRF9eDT.js} +2 -2
- package/dist/{addMonths-Zggd7y6j.js.map → addMonths-BiRF9eDT.js.map} +1 -1
- package/dist/{addMonths-BhOW2mOW.cjs → addMonths-Ds2ObZwt.cjs} +2 -2
- package/dist/{addMonths-BhOW2mOW.cjs.map → addMonths-Ds2ObZwt.cjs.map} +1 -1
- package/dist/components.cjs +2 -2
- package/dist/components.js +28 -28
- package/dist/format-D2pYLAIF.js +5896 -0
- package/dist/format-D2pYLAIF.js.map +1 -0
- package/dist/format-qjtPogBb.cjs +13 -0
- package/dist/format-qjtPogBb.cjs.map +1 -0
- package/dist/getDefaultOptions-DSMQojSA.cjs +2 -0
- package/dist/{getDefaultOptions-Cek5kGzE.cjs.map → getDefaultOptions-DSMQojSA.cjs.map} +1 -1
- package/dist/getDefaultOptions-v3X-F5jM.js +8 -0
- package/dist/{getDefaultOptions-xjgn1r-_.js.map → getDefaultOptions-v3X-F5jM.js.map} +1 -1
- package/dist/{index-GYAZJDxn.js → index-BJCQaZ7q.js} +63 -62
- package/dist/{index-GYAZJDxn.js.map → index-BJCQaZ7q.js.map} +1 -1
- package/dist/{index-CJcL4_a4.js → index-BjcgyMLV.js} +691 -633
- package/dist/index-BjcgyMLV.js.map +1 -0
- package/dist/{index-3sXOEKCU.cjs → index-CctPeecq.cjs} +5 -5
- package/dist/{index-3sXOEKCU.cjs.map → index-CctPeecq.cjs.map} +1 -1
- package/dist/index-_a-NnvKv.cjs +10 -0
- package/dist/index-_a-NnvKv.cjs.map +1 -0
- package/dist/{parse-BKTTGw2p.js → parse-Br4M7sX4.js} +3 -3
- package/dist/{parse-BKTTGw2p.js.map → parse-Br4M7sX4.js.map} +1 -1
- package/dist/{parse-DgZTYocC.cjs → parse-D8syXcjd.cjs} +2 -2
- package/dist/{parse-DgZTYocC.cjs.map → parse-D8syXcjd.cjs.map} +1 -1
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +1 -1
- package/dist/plugins.js.map +1 -1
- package/dist/purify.es-CehoGjrR.cjs +3 -0
- package/dist/purify.es-CehoGjrR.cjs.map +1 -0
- package/dist/purify.es-exIQuqhb.js +596 -0
- package/dist/purify.es-exIQuqhb.js.map +1 -0
- package/dist/settings-CWvCIKI4.cjs +2 -0
- package/dist/{settings-B0AhztTk.cjs.map → settings-CWvCIKI4.cjs.map} +1 -1
- package/dist/{settings-C2auUQwX.js → settings-Dvmurty6.js} +2 -2
- package/dist/{settings-C2auUQwX.js.map → settings-Dvmurty6.js.map} +1 -1
- package/dist/settingsCache-CGgEjlw3.js +28 -0
- package/dist/settingsCache-CGgEjlw3.js.map +1 -0
- package/dist/settingsCache-Dg7OMDJK.cjs +2 -0
- package/dist/settingsCache-Dg7OMDJK.cjs.map +1 -0
- package/dist/{timeFilters-CRNRsUsb.cjs → timeFilters-BtN2a5-O.cjs} +2 -2
- package/dist/{timeFilters-CRNRsUsb.cjs.map → timeFilters-BtN2a5-O.cjs.map} +1 -1
- package/dist/{timeFilters-DTOZtBlG.js → timeFilters-C1beMtAQ.js} +3 -3
- package/dist/{timeFilters-DTOZtBlG.js.map → timeFilters-C1beMtAQ.js.map} +1 -1
- package/dist/tools/admin.cjs +1 -1
- package/dist/tools/admin.js +1 -1
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.js +51 -51
- package/dist/tools/calendar.cjs +1 -1
- package/dist/tools/calendar.js +1 -1
- package/dist/tools/scriptrunner.cjs +8 -8
- package/dist/tools/scriptrunner.cjs.map +1 -1
- package/dist/tools/scriptrunner.js +17 -17
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/util.cjs +1 -1
- package/dist/util.js +11 -7
- package/dist/util.js.map +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +64 -64
- package/package.json +7 -7
- package/dist/ArrayplotWidget-BHD-TGQO.cjs +0 -2
- package/dist/BarColumn-DmjMnw5l.js.map +0 -1
- package/dist/BarColumn-Ym4P8YHC.cjs +0 -2
- package/dist/BarColumn-Ym4P8YHC.cjs.map +0 -1
- package/dist/ButtonWidget-70hNWuEy.cjs +0 -3
- package/dist/ButtonWidget-70hNWuEy.cjs.map +0 -1
- package/dist/ButtonWidget-DZ4VCNWU.js.map +0 -1
- package/dist/ClassificationBanners-DjGCuH-4.cjs +0 -2
- package/dist/CriticalCmdDialog-eytxCQto.cjs +0 -2
- package/dist/DateWidget-Cle8FY8Q.cjs +0 -2
- package/dist/DetailsDialog-BcMaTfuQ.cjs +0 -2
- package/dist/EventListDialog-DjCQAwGl.js.map +0 -1
- package/dist/EventListDialog-EmC7YW60.cjs +0 -2
- package/dist/EventListDialog-EmC7YW60.cjs.map +0 -1
- package/dist/FilechecksumWidget-2ta-UvLp.cjs +0 -2
- package/dist/FiledisplayWidget-BUKXIQir.cjs +0 -2
- package/dist/Graph-CUFzx8Ti.js.map +0 -1
- package/dist/Graph-qxF4224c.cjs +0 -2
- package/dist/Graph-qxF4224c.cjs.map +0 -1
- package/dist/GraphWidget-BvCQHVxQ.cjs +0 -2
- package/dist/ImageLoader-BTEOukIw.cjs +0 -2
- package/dist/InterfacesTab-CM0CGFVS.cjs +0 -2
- package/dist/LabelvalueWidget-_1JPbK-K.js.map +0 -1
- package/dist/LabelvalueWidget-bYqqgIGE.cjs +0 -2
- package/dist/LabelvalueWidget-bYqqgIGE.cjs.map +0 -1
- package/dist/LabelvaluedescWidget-B2dFZoDE.cjs +0 -2
- package/dist/LabelvaluedescWidget-B2dFZoDE.cjs.map +0 -1
- package/dist/LabelvaluedescWidget-BgduSJJb.js +0 -59
- package/dist/LabelvaluedescWidget-BgduSJJb.js.map +0 -1
- package/dist/LedWidget-BaiKDozd.cjs +0 -2
- package/dist/LimitscolorWidget-veWQ4NXl.cjs +0 -2
- package/dist/LinegraphWidget-3E8L5CvM.cjs +0 -2
- package/dist/OpenC3TimePicker-DpkbfbgC.js.map +0 -1
- package/dist/OpenC3TimePicker-Yl1jVi7p.cjs +0 -2
- package/dist/OpenC3TimePicker-Yl1jVi7p.cjs.map +0 -1
- package/dist/Openc3Screen-D1RLlBgQ.cjs +0 -6
- package/dist/OutputDialog-ChPCaQAE.cjs +0 -2
- package/dist/PackagesTab-BgQsbXRo.cjs +0 -2
- package/dist/PluginsTab-BiiL622n.js.map +0 -1
- package/dist/PluginsTab-RgIMk-F7.cjs +0 -6
- package/dist/PluginsTab-RgIMk-F7.cjs.map +0 -1
- package/dist/RedisTab-7TbOXFA_.js +0 -171
- package/dist/RedisTab-7TbOXFA_.js.map +0 -1
- package/dist/RedisTab-DpWPY1P0.cjs +0 -2
- package/dist/RedisTab-DpWPY1P0.cjs.map +0 -1
- package/dist/RoutersTab-CAbnSGHy.cjs +0 -2
- package/dist/ScriptChooser-CggwstfT.cjs +0 -2
- package/dist/SecretsTab-Cn6-o85L.cjs +0 -2
- package/dist/SettingsTab-C6zIL2D6.cjs +0 -3
- package/dist/SparklineWidget-xdPgolp3.cjs +0 -2
- package/dist/TargetPacketItemChooser-BoBqvs3T.js.map +0 -1
- package/dist/TargetPacketItemChooser-C0Z90rss.cjs +0 -2
- package/dist/TargetPacketItemChooser-C0Z90rss.cjs.map +0 -1
- package/dist/TargetsTab-BMcWjrZ_.cjs +0 -2
- package/dist/TextboxWidget-CXA9rR02.cjs +0 -2
- package/dist/TimeWidget-CGk8Ze_I.cjs +0 -2
- package/dist/ToolsTab-DTHap-Nq.cjs +0 -2
- package/dist/TsdbTab-7F4mRKDo.js +0 -125
- package/dist/TsdbTab-7F4mRKDo.js.map +0 -1
- package/dist/TsdbTab-DVF6n9mq.cjs +0 -2
- package/dist/TsdbTab-DVF6n9mq.cjs.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js +0 -30891
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs +0 -1485
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs.map +0 -1
- package/dist/VWidget-CxnaMF0w.js.map +0 -1
- package/dist/VWidget-dEHSEvZx.cjs +0 -2
- package/dist/VWidget-dEHSEvZx.cjs.map +0 -1
- package/dist/ValueWidget-Bws1qOEI.cjs +0 -2
- package/dist/Widget-CB_BtOFw.cjs +0 -2
- package/dist/format-CJYjW-xx.js +0 -1252
- package/dist/format-CJYjW-xx.js.map +0 -1
- package/dist/format-DOZQNf-X.cjs +0 -2
- package/dist/format-DOZQNf-X.cjs.map +0 -1
- package/dist/getDefaultOptions-Cek5kGzE.cjs +0 -2
- package/dist/getDefaultOptions-xjgn1r-_.js +0 -8
- package/dist/index-B34azWgs.cjs +0 -7
- package/dist/index-B34azWgs.cjs.map +0 -1
- package/dist/index-CJcL4_a4.js.map +0 -1
- package/dist/purify.es-4pyphLiB.cjs +0 -3
- package/dist/purify.es-4pyphLiB.cjs.map +0 -1
- package/dist/purify.es-BPDBzHtc.js +0 -553
- package/dist/purify.es-BPDBzHtc.js.map +0 -1
- package/dist/settings-B0AhztTk.cjs +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsDialog-sqja4Lzq.js","sources":["../src/components/DetailsDialog.vue"],"sourcesContent":["<!--\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 <v-dialog v-model=\"show\" width=\"700\">\n <v-card>\n <v-toolbar :height=\"24\">\n <v-spacer />\n <span> Details </span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-title>\n {{ targetName }} {{ packetName }} {{ itemName }}\n </v-card-title>\n <v-card-subtitle>{{ details.description }}</v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row v-if=\"type === 'tlm'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Item Values</v-col>\n <v-col />\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Raw Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ rawValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Converted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ convertedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Formatted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ formattedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Offset</v-col>\n <v-col>{{ details.bit_offset }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Size</v-col>\n <v-col>{{ details.bit_size }}</v-col>\n </v-row>\n <v-row v-if=\"details.array_size\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Array Size</v-col>\n <v-col>{{ details.array_size }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Data Type</v-col>\n <v-col>{{ details.data_type }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Minimum</v-col>\n <v-col>{{ details.minimum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Maximum</v-col>\n <v-col>{{ details.maximum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Default</v-col>\n <v-col>{{ details.default }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Format String</v-col>\n <v-col>{{ details.format_string }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Read Conversion</v-col>\n <v-col v-if=\"details.read_conversion\">\n Class: {{ details.read_conversion.class }}\n <br />\n Params:\n {{ details.read_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Write Conversion</v-col>\n <v-col v-if=\"details.write_conversion\">\n Class: {{ details.write_conversion.class }}\n <br />\n Params:\n {{ details.write_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Id Value</v-col>\n <v-col>{{ details.id_value }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Full</v-col>\n <v-col>{{ details.units_full }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Abbr</v-col>\n <v-col>{{ details.units }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Endianness</v-col>\n <v-col>{{ details.endianness }}</v-col>\n </v-row>\n <div v-if=\"details.states\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col />\n </v-row>\n <v-row v-for=\"(state, key) in details.states\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ state.value }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.limits\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(limit, key) in details.limits\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col v-if=\"key === 'enabled'\" cols=\"4\" class=\"label\"\n >Enabled</v-col\n >\n <v-switch\n v-if=\"key === 'enabled'\"\n v-model=\"details.limits.enabled\"\n density=\"compact\"\n color=\"primary\"\n class=\"compact-switch\"\n hide-details\n @update:model-value=\"changeLimitsEnabled\"\n ></v-switch>\n <v-col v-if=\"key !== 'enabled'\" cols=\"4\" class=\"label\">{{\n key\n }}</v-col>\n <v-col v-if=\"key !== 'enabled'\">\n <div class=\"limits-text\">{{ formatLimit(limit) }}</div>\n <LimitsBar\n v-if=\"limit.red_low !== undefined\"\n :red-low=\"limit.red_low\"\n :yellow-low=\"limit.yellow_low\"\n :yellow-high=\"limit.yellow_high\"\n :red-high=\"limit.red_high\"\n :green-low=\"limit.green_low\"\n :green-high=\"limit.green_high\"\n :value=\"convertedValue\"\n :width=\"300\"\n :height=\"22\"\n />\n </v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.meta\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(value, key) in details.meta\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ value.join(', ') }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col>None</v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\nimport LimitsBar from './LimitsBar.vue'\nimport { limitsColor, astroStatus } from '../widgets/LimitsColor'\n\nexport default {\n components: {\n LimitsBar,\n },\n props: {\n type: {\n default: 'tlm',\n validator: function (value) {\n // The value must match one of these strings\n return ['cmd', 'tlm'].indexOf(value) !== -1\n },\n },\n targetName: {\n type: String,\n default: null,\n },\n packetName: {\n type: String,\n default: null,\n },\n itemName: {\n type: String,\n default: null,\n },\n modelValue: Boolean,\n },\n emits: ['update:modelValue'],\n data() {\n return {\n details: Object,\n available: null,\n updater: null,\n rawValue: null,\n convertedValue: null,\n formattedValue: null,\n currentLimitsState: null,\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 limitsColor() {\n return limitsColor(this.currentLimitsState)\n },\n astroStatus() {\n return astroStatus(this.limitsColor)\n },\n limitsColorClass() {\n if (this.limitsColor) {\n return 'openc3-' + this.limitsColor\n }\n return ''\n },\n },\n watch: {\n // Create a watcher on value which is the indicator to display the dialog\n // If value is true we request the details from the server\n // If this is a tlm dialog we setup an interval to get the telemetry values\n modelValue: function (newValue, oldValue) {\n if (newValue) {\n this.requestDetails()\n if (this.type === 'tlm') {\n this.updater = setInterval(() => {\n if (this.available && this.details) {\n this.api.get_tlm_values(this.available).then((values) => {\n for (let value of values) {\n let rawString = null\n // Check for raw encoded strings (non-ascii)\n if (\n value[0]['json_class'] === 'String' &&\n value[0]['raw'] !== undefined\n ) {\n rawString = value[0]['raw']\n } else if (this.details.data_type === 'BLOCK') {\n rawString = value[0]\n }\n if (rawString !== null) {\n // Slice the number of bytes in case they added UNITS\n // Otherwise we would render the units,\n // e.g. UNITS of 'B' becomes 20 42 (space, B)\n rawString = rawString.slice(\n 0,\n Number.parseInt(this.details.bit_size) / 8,\n )\n // Only display the first 64 bytes at which point ...\n let ellipse = false\n if (rawString.length > 64) {\n ellipse = true\n }\n value[0] = Array.from(\n rawString.slice(0, 64),\n function (byte) {\n // Can't really display spaces so change to 20 (hex)\n if (byte === ' ') {\n return '20'\n } else {\n return ('0' + (byte & 0xff).toString(16)).slice(-2)\n }\n },\n )\n .join(' ')\n .toUpperCase()\n if (ellipse) {\n value[0] += '...'\n }\n }\n }\n if (\n this.details.data_type.includes('INT') &&\n !this.details.array_size\n ) {\n // For INT and UINT display both dec and hex\n this.rawValue = `${values[0][0]} (0x${values[0][0]\n .toString(16)\n .toUpperCase()})`\n } else {\n this.rawValue = values[0][0]\n }\n this.convertedValue = values[1][0]\n this.formattedValue = values[2][0]\n this.currentLimitsState = values[1][1]\n })\n }\n }, 1000)\n }\n } else {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n },\n created() {\n this.api = new OpenC3Api()\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n // This check is necessary because COSMOS 5.20 was setting limits.enabled to false\n // even if the item did not have limits. While the backend changed we still need to\n // support the old results. Thus we check if the item has limits by checking if the\n // limits.DEFAULT key exists or if any of the states have a color.\n hasLimits(details) {\n let result = false\n if (details.limits.DEFAULT) {\n result = true\n }\n if (details.states) {\n Object.getOwnPropertyNames(details.states).forEach((state) => {\n if (details.states[state].color) {\n result = true\n }\n })\n }\n return result\n },\n async requestDetails() {\n if (this.type === 'tlm') {\n this.api\n .get_tlm_available([\n `${this.targetName}__${this.packetName}__${this.itemName}__RAW`,\n `${this.targetName}__${this.packetName}__${this.itemName}__CONVERTED`,\n `${this.targetName}__${this.packetName}__${this.itemName}__FORMATTED`,\n ])\n .then((available) => {\n if (available && available.length > 0) {\n this.available = available\n }\n this.api\n .get_item(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n // If the item does not have limits explicitly null it\n // to make the check in the template easier\n if (!this.hasLimits(details)) {\n this.details.limits = null\n }\n })\n })\n } else {\n this.api\n .get_parameter(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n })\n }\n },\n async changeLimitsEnabled() {\n if (this.details.limits.enabled) {\n await this.api.enable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n } else {\n await this.api.disable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n }\n },\n formatLimit(limit) {\n if (limit.hasOwnProperty('green_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high +\n ' GL/' +\n limit.green_low +\n ' GH/' +\n limit.green_high\n )\n } else if (limit.hasOwnProperty('red_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high\n )\n } else {\n return limit\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.label {\n font-weight: bold;\n text-transform: capitalize;\n}\n\n:deep(.v-input--selection-controls) {\n padding: 0px;\n margin: 0px;\n}\n\n:deep(.v-switch .v-selection-control) {\n min-height: 28px;\n}\n\n.limits-text {\n margin-bottom: 4px;\n}\n</style>\n"],"names":["_sfc_main","LimitsBar","value","limitsColor","astroStatus","newValue","oldValue","values","rawString","ellipse","byte","OpenC3Api","details","result","state","available","limit","_hoisted_3","_createBlock","_component_v_dialog","$options","$event","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_cache","_createElementVNode","_component_v_card_title","_createTextVNode","_toDisplayString","$props","_component_v_card_subtitle","$data","_component_v_card_text","_component_v_container","_component_v_row","_component_v_col","_normalizeClass","_component_rux_status","_createElementBlock","_hoisted_1","_openBlock","_Fragment","key","_hoisted_2","_component_v_switch","_component_LimitsBar","_hoisted_4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsDialog-q5SDzw3R.js","sources":["../src/components/DetailsDialog.vue"],"sourcesContent":["<!--\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 <v-dialog v-model=\"show\" width=\"700\">\n <v-card>\n <v-toolbar :height=\"24\">\n <v-spacer />\n <span> Details </span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-title>\n {{ targetName }} {{ packetName }} {{ itemName }}\n </v-card-title>\n <v-card-subtitle>{{ details.description }}</v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row v-if=\"type === 'tlm'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Item Values</v-col>\n <v-col />\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Raw Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ rawValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Converted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ convertedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Formatted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ formattedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Offset</v-col>\n <v-col>{{ details.bit_offset }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Size</v-col>\n <v-col>{{ details.bit_size }}</v-col>\n </v-row>\n <v-row v-if=\"details.array_size\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Array Size</v-col>\n <v-col>{{ details.array_size }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Data Type</v-col>\n <v-col>{{ details.data_type }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Minimum</v-col>\n <v-col>{{ details.minimum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Maximum</v-col>\n <v-col>{{ details.maximum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Default</v-col>\n <v-col>{{ details.default }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Format String</v-col>\n <v-col>{{ details.format_string }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Read Conversion</v-col>\n <v-col v-if=\"details.read_conversion\">\n Class: {{ details.read_conversion.class }}\n <br />\n Params:\n {{ details.read_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Write Conversion</v-col>\n <v-col v-if=\"details.write_conversion\">\n Class: {{ details.write_conversion.class }}\n <br />\n Params:\n {{ details.write_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Id Value</v-col>\n <v-col>{{ details.id_value }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Full</v-col>\n <v-col>{{ details.units_full }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Abbr</v-col>\n <v-col>{{ details.units }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Endianness</v-col>\n <v-col>{{ details.endianness }}</v-col>\n </v-row>\n <div v-if=\"details.states\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col />\n </v-row>\n <v-row v-for=\"(state, key) in details.states\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ state.value }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.limits\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(limit, key) in details.limits\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col v-if=\"key === 'enabled'\" cols=\"4\" class=\"label\"\n >Enabled</v-col\n >\n <v-switch\n v-if=\"key === 'enabled'\"\n v-model=\"details.limits.enabled\"\n density=\"compact\"\n color=\"primary\"\n class=\"compact-switch\"\n hide-details\n @update:model-value=\"changeLimitsEnabled\"\n ></v-switch>\n <v-col v-if=\"key !== 'enabled'\" cols=\"4\" class=\"label\">{{\n key\n }}</v-col>\n <v-col v-if=\"key !== 'enabled'\">\n <div class=\"limits-text\">{{ formatLimit(limit) }}</div>\n <LimitsBar\n v-if=\"limit.red_low !== undefined\"\n :red-low=\"limit.red_low\"\n :yellow-low=\"limit.yellow_low\"\n :yellow-high=\"limit.yellow_high\"\n :red-high=\"limit.red_high\"\n :green-low=\"limit.green_low\"\n :green-high=\"limit.green_high\"\n :value=\"convertedValue\"\n :width=\"300\"\n :height=\"22\"\n />\n </v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.meta\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(value, key) in details.meta\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ value.join(', ') }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col>None</v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\nimport LimitsBar from './LimitsBar.vue'\nimport { limitsColor, astroStatus } from '../widgets/LimitsColor'\n\nexport default {\n components: {\n LimitsBar,\n },\n props: {\n type: {\n default: 'tlm',\n validator: function (value) {\n // The value must match one of these strings\n return ['cmd', 'tlm'].indexOf(value) !== -1\n },\n },\n targetName: {\n type: String,\n default: null,\n },\n packetName: {\n type: String,\n default: null,\n },\n itemName: {\n type: String,\n default: null,\n },\n modelValue: Boolean,\n },\n emits: ['update:modelValue'],\n data() {\n return {\n details: Object,\n available: null,\n updater: null,\n rawValue: null,\n convertedValue: null,\n formattedValue: null,\n currentLimitsState: null,\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 limitsColor() {\n return limitsColor(this.currentLimitsState)\n },\n astroStatus() {\n return astroStatus(this.limitsColor)\n },\n limitsColorClass() {\n if (this.limitsColor) {\n return 'openc3-' + this.limitsColor\n }\n return ''\n },\n },\n watch: {\n // Create a watcher on value which is the indicator to display the dialog\n // If value is true we request the details from the server\n // If this is a tlm dialog we setup an interval to get the telemetry values\n modelValue: function (newValue, oldValue) {\n if (newValue) {\n this.requestDetails()\n if (this.type === 'tlm') {\n this.updater = setInterval(() => {\n if (this.available && this.details) {\n this.api.get_tlm_values(this.available).then((values) => {\n for (let value of values) {\n let rawString = null\n // Check for raw encoded strings (non-ascii)\n if (\n value[0]['json_class'] === 'String' &&\n value[0]['raw'] !== undefined\n ) {\n rawString = value[0]['raw']\n } else if (this.details.data_type === 'BLOCK') {\n rawString = value[0]\n }\n if (rawString !== null) {\n // Slice the number of bytes in case they added UNITS\n // Otherwise we would render the units,\n // e.g. UNITS of 'B' becomes 20 42 (space, B)\n rawString = rawString.slice(\n 0,\n Number.parseInt(this.details.bit_size) / 8,\n )\n // Only display the first 64 bytes at which point ...\n let ellipse = false\n if (rawString.length > 64) {\n ellipse = true\n }\n value[0] = Array.from(\n rawString.slice(0, 64),\n function (byte) {\n // Can't really display spaces so change to 20 (hex)\n if (byte === ' ') {\n return '20'\n } else {\n return ('0' + (byte & 0xff).toString(16)).slice(-2)\n }\n },\n )\n .join(' ')\n .toUpperCase()\n if (ellipse) {\n value[0] += '...'\n }\n }\n }\n if (\n this.details.data_type.includes('INT') &&\n !this.details.array_size\n ) {\n // For INT and UINT display both dec and hex\n this.rawValue = `${values[0][0]} (0x${values[0][0]\n .toString(16)\n .toUpperCase()})`\n } else {\n this.rawValue = values[0][0]\n }\n this.convertedValue = values[1][0]\n this.formattedValue = values[2][0]\n this.currentLimitsState = values[1][1]\n })\n }\n }, 1000)\n }\n } else {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n },\n created() {\n this.api = new OpenC3Api()\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n // This check is necessary because COSMOS 5.20 was setting limits.enabled to false\n // even if the item did not have limits. While the backend changed we still need to\n // support the old results. Thus we check if the item has limits by checking if the\n // limits.DEFAULT key exists or if any of the states have a color.\n hasLimits(details) {\n let result = false\n if (details.limits.DEFAULT) {\n result = true\n }\n if (details.states) {\n Object.getOwnPropertyNames(details.states).forEach((state) => {\n if (details.states[state].color) {\n result = true\n }\n })\n }\n return result\n },\n async requestDetails() {\n if (this.type === 'tlm') {\n this.api\n .get_tlm_available([\n `${this.targetName}__${this.packetName}__${this.itemName}__RAW`,\n `${this.targetName}__${this.packetName}__${this.itemName}__CONVERTED`,\n `${this.targetName}__${this.packetName}__${this.itemName}__FORMATTED`,\n ])\n .then((available) => {\n if (available && available.length > 0) {\n this.available = available\n }\n this.api\n .get_item(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n // If the item does not have limits explicitly null it\n // to make the check in the template easier\n if (!this.hasLimits(details)) {\n this.details.limits = null\n }\n })\n })\n } else {\n this.api\n .get_parameter(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n })\n }\n },\n async changeLimitsEnabled() {\n if (this.details.limits.enabled) {\n await this.api.enable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n } else {\n await this.api.disable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n }\n },\n formatLimit(limit) {\n if (limit.hasOwnProperty('green_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high +\n ' GL/' +\n limit.green_low +\n ' GH/' +\n limit.green_high\n )\n } else if (limit.hasOwnProperty('red_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high\n )\n } else {\n return limit\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.label {\n font-weight: bold;\n text-transform: capitalize;\n}\n\n:deep(.v-input--selection-controls) {\n padding: 0px;\n margin: 0px;\n}\n\n:deep(.v-switch .v-selection-control) {\n min-height: 28px;\n}\n\n.limits-text {\n margin-bottom: 4px;\n}\n</style>\n"],"names":["_sfc_main","LimitsBar","value","limitsColor","astroStatus","newValue","oldValue","values","rawString","ellipse","byte","OpenC3Api","details","result","state","available","limit","_hoisted_3","_createBlock","_component_v_dialog","$options","$event","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_cache","_createElementVNode","_component_v_card_title","_createTextVNode","_toDisplayString","$props","_component_v_card_subtitle","$data","_component_v_card_text","_component_v_container","_component_v_row","_component_v_col","_normalizeClass","_component_rux_status","_createElementBlock","_hoisted_1","_openBlock","_Fragment","key","_hoisted_2","_component_v_switch","_component_LimitsBar","_hoisted_4"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const f=require("./format-qjtPogBb.cjs"),g=require("./timeFilters-BtN2a5-O.cjs");require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CTNR19Zt.cjs");const e=require("vue"),x=require("./CustomIcon-8F08upeg.cjs"),T=require("./ScriptChooser-YC_FfCLd.cjs"),E=require("./OpenC3TimePicker-CVUV2cK4.cjs");require("./store-CiS35N-w.cjs");require("single-spa");const B=require("./parse-D8syXcjd.cjs"),K=require("./addMonths-Ds2ObZwt.cjs");function U(a,t,i){const{years:d=0,months:o=0,weeks:n=0,days:l=0,hours:s=0,minutes:y=0,seconds:m=0}=t,u=f.toDate(a,i?.in),h=o||d?K.addMonths(u,o+d*12):u,w=l||n?B.addDays(h,l+n*7):h,C=y+s*60,V=(m+C*60)*1e3;return f.constructFrom(a,+w+V)}const D={props:{date:{type:String},time:{type:String},timeZone:{type:String}},data(){return{startDate:"",startTime:"",endDate:"",endTime:""}},methods:{calcStartDateTime:function(){this.date?(this.startDate=this.date,this.endDate=this.date):(this.startDate=this.formatDate(new Date,this.timeZone),this.endDate=this.startDate);let a=1e3*60*30,t=null;this.time?(t=B.parse(this.time,"HH:mm:ss",new Date),t=new Date(Math.floor(t.getTime()/a)*a),this.startTime=f.format(t,"HH:mm:ss"),this.endTime=f.format(U(t,{minutes:30}),"HH:mm:ss")):(t=new Date(Math.ceil(new Date().getTime()/a)*a),this.startTime=this.formatTimeHMS(t,this.timeZone),this.endTime=this.formatTimeHMS(U(t,{minutes:30}),this.timeZone))}}},R={components:{EnvironmentChooser:T.EnvironmentChooser,ScriptChooser:T.ScriptChooser,CommandEditor:T.CommandEditor,OpenC3TimePicker:E.OpenC3TimePicker},mixins:[D,g.TimeFilters],props:{modelValue:Boolean,timelines:{type:Array,required:!0},activity:{type:Object,default:null}},emits:["update:modelValue","update"],data(){return{timeline:null,dialogStep:1,kind:"",types:["COMMAND","SCRIPT","RESERVE"],activityData:"",activityEnvironment:[],customTitle:"",notes:"",rules:{required:a=>!!a||"Required"},recurring:!1,recurringEndDate:null,recurringEndTime:null,frequency:90,timeSpan:"minutes",timeSpans:["minutes","hours","days"],showCommandDialog:!1,dialogTitle:"Add Command",dialogError:"",dialogCmdString:null}},computed:{timeError:function(){const a=new Date,t=Date.parse(`${this.startDate}T${this.startTime}`),i=Date.parse(`${this.endDate}T${this.endTime}`);return t===i?"Invalid start, end time. Activity must have different start and end times.":a>t?"Invalid start time. Activity must be in the future.":t>i?"Invalid start time. Activity start before end.":null},typeError:function(){return this.timeline?this.kind!=="RESERVE"&&!this.activityData?"No data is selected or inputted":null:"Activity must have a timeline selected."},timelineNames:function(){return this.timelines.map(a=>a.name)},show:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}},validationError:function(){return!!this.timeError||!this.timeline}},mounted:function(){this.updateValues()},methods:{changeKind:function(a){a!==this.kind&&(this.kind=a,this.activityData="")},fileHandler:function(a){this.activityData=a},updateValues:function(){if(this.dialogStep=1,this.activity){this.timeline=this.activity.name;const a=new Date(this.activity.start*1e3),t=new Date(this.activity.stop*1e3);if(this.startDate=this.formatDate(a,this.timeZone),this.startTime=this.formatTimeHMS(a,this.timeZone),this.endDate=this.formatDate(t,this.timeZone),this.endTime=this.formatTimeHMS(t,this.timeZone),this.kind=this.activity.kind.toUpperCase(),this.activityData=this.activity.data[this.activity.kind],this.activityEnvironment=this.activity.data.environment,this.customTitle=this.activity.data.customTitle||"",this.notes=this.activity.data.notes||"",this.activity.recurring?.uuid){this.recurring=!0;const i=new Date(this.activity.recurring.end*1e3);this.recurringEndDate=this.formatDate(i,this.timeZone),this.recurringEndTime=this.formatTimeHMS(i,this.timeZone),this.frequency=this.activity.recurring.frequency,this.timeSpan=this.activity.recurring.span}}else this.calcStartDateTime(),this.recurringEndDate=this.startDate,this.recurringEndTime=this.startTime,this.kind="",this.activityData="",this.activityEnvironment=[],this.customTitle="",this.notes="",this.timeline=this.timelineNames[0]},clearHandler:function(){this.show=!this.show},submitHandler(){let a=null,t=null,i=null;this.timeZone==="local"?(a=new Date(this.startDate+" "+this.startTime).toISOString(),t=new Date(this.endDate+" "+this.endTime).toISOString(),this.recurring&&(i=new Date(this.recurringEndDate+" "+this.recurringEndTime).toISOString())):(a=new Date(this.startDate+" "+this.startTime+"Z").toISOString(),t=new Date(this.endDate+" "+this.endTime+"Z").toISOString(),this.recurring&&(i=new Date(this.recurringEndDate+" "+this.recurringEndTime+"Z").toISOString()));const d=this.kind.toLowerCase();let o={environment:this.activityEnvironment,customTitle:this.customTitle,notes:this.notes};o[d]=this.activityData;let n={};this.recurring&&(n={frequency:this.frequency,span:this.timeSpan,end:i}),this.activity?f.Br.put(`/openc3-api/timeline/${this.activity.name}/activity/${this.activity.start}`,{data:{start:a,stop:t,kind:d,data:o,recurring:n}}).then(l=>{const s=this.formatSeconds(new Date(l.data.start*1e3));this.$notify.normal({title:"Updated Activity",body:`${s} (${l.data.start}) on timeline: ${l.data.name}`}),this.$emit("update",l.data),this.show=!this.show}).catch(l=>{this.show=!this.show}):f.Br.post(`/openc3-api/timeline/${this.timeline}/activities`,{data:{start:a,stop:t,kind:d,data:o,recurring:n}}).then(l=>{const s=this.formatSeconds(new Date(l.data.start*1e3));this.$notify.normal({title:"Created Activity",body:`${s} (${l.data.start}) on timeline: ${l.data.name}`}),this.$emit("update",l.data),this.show=!this.show}).catch(l=>{this.show=!this.show}),this.clearHandler()},editItem:function(){this.dialogTitle="Edit Command",this.dialogCmdString=this.activityData,this.showCommandDialog=!0},closeCommandDialog:function(){this.showCommandDialog=!1,this.dialogCmdString=null,this.dialogError=""},clearDialogError:function(){this.dialogError=""},updateCommand:function(){let a="";try{a=this.$refs.commandEditor.getCmdString()}catch(t){this.dialogError=t.message||"Please fix command parameters";return}this.activityData=a,this.showCommandDialog=!1}}},z={key:0},j={key:1},L={class:"pr-2"},W=["textContent"],G={class:"pr-2"},J={key:0},Q={key:1,class:"ma-3"},X={key:2},Y=["textContent"],$={key:0,class:"error-message"},ee={class:"flex-grow-1"};function te(a,t,i,d,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),y=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-row"),u=e.resolveComponent("v-select"),h=e.resolveComponent("v-text-field"),w=e.resolveComponent("v-textarea"),C=e.resolveComponent("OpenC3TimePicker"),_=e.resolveComponent("v-checkbox"),V=e.resolveComponent("v-col"),N=e.resolveComponent("v-card-text"),p=e.resolveComponent("script-chooser"),v=e.resolveComponent("environment-chooser"),c=e.resolveComponent("v-stepper"),k=e.resolveComponent("v-card"),S=e.resolveComponent("v-dialog"),O=e.resolveComponent("v-card-title"),Z=e.resolveComponent("v-icon"),P=e.resolveComponent("command-editor"),F=e.resolveComponent("v-card-actions");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(S,{modelValue:n.show,"onUpdate:modelValue":t[19]||(t[19]=r=>n.show=r),persistent:"",width:"600",onKeydown:e.withKeys(n.clearHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(y,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.activity?(e.openBlock(),e.createElementBlock("span",z,"Edit Activity")):(e.openBlock(),e.createElementBlock("span",j,"Create Activity")),e.createVNode(l),e.createVNode(s,{icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-note-icon",onClick:n.clearHandler},null,8,["onClick"])]),_:1}),e.createVNode(c,{modelValue:o.dialogStep,"onUpdate:modelValue":t[18]||(t[18]=r=>o.dialogStep=r),items:["Activity Times","Activity Type"]},e.createSlots({"item.1":e.withCtx(()=>[e.createVNode(N,null,{default:e.withCtx(()=>[e.createElementVNode("div",L,[e.createVNode(u,{modelValue:o.timeline,"onUpdate:modelValue":t[2]||(t[2]=r=>o.timeline=r),density:"compact","hide-details":"",variant:"outlined",items:n.timelineNames,label:"Timeline","data-test":"activity-select-timeline",class:"pb-2"},null,8,["modelValue","items"]),e.createVNode(h,{modelValue:o.customTitle,"onUpdate:modelValue":t[3]||(t[3]=r=>o.customTitle=r),type:"text",label:"Custom Title",class:"pb-2","data-test":"activity-custom-title","hide-details":"",variant:"outlined",density:"compact"},null,8,["modelValue"]),e.createVNode(w,{modelValue:o.notes,"onUpdate:modelValue":t[4]||(t[4]=r=>o.notes=r),label:"Notes",class:"py-2 mb-2","data-test":"activity-notes","hide-details":"",variant:"outlined",density:"compact",rows:"3"},null,8,["modelValue"]),e.createVNode(m,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:a.startDate,"onUpdate:modelValue":t[5]||(t[5]=r=>a.startDate=r),type:"date",label:"Start Date",class:"mx-1",rules:[o.rules.required],"data-test":"activity-start-date"},null,8,["modelValue","rules"]),e.createVNode(C,{modelValue:a.startTime,"onUpdate:modelValue":t[6]||(t[6]=r=>a.startTime=r),label:"Start Time","text-field-class":"mx-1",rules:[o.rules.required],"data-test":"activity-start-time"},null,8,["modelValue","rules"])]),_:1}),e.createVNode(m,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:a.endDate,"onUpdate:modelValue":t[7]||(t[7]=r=>a.endDate=r),type:"date",label:"End Date",class:"mx-1",rules:[o.rules.required],"data-test":"activity-end-date"},null,8,["modelValue","rules"]),e.createVNode(C,{modelValue:a.endTime,"onUpdate:modelValue":t[8]||(t[8]=r=>a.endTime=r),label:"End Time","text-field-class":"mx-1",rules:[o.rules.required],"data-test":"activity-end-time"},null,8,["modelValue","rules"])]),_:1}),e.createVNode(m,{class:"pl-3"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:o.recurring,"onUpdate:modelValue":t[9]||(t[9]=r=>o.recurring=r),disabled:!!i.activity,label:"Recurring","hide-details":"","data-test":"recurring"},null,8,["modelValue","disabled"])]),_:1}),o.recurring?(e.openBlock(),e.createBlock(m,{key:0},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[...t[27]||(t[27]=[e.createElementVNode("div",{class:"repeat"},"Repeat every",-1)])]),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(h,{modelValue:o.frequency,"onUpdate:modelValue":t[10]||(t[10]=r=>o.frequency=r),disabled:!!i.activity,density:"compact",variant:"outlined","single-line":"","hide-details":"","data-test":"recurring-frequency"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(u,{modelValue:o.timeSpan,"onUpdate:modelValue":t[11]||(t[11]=r=>o.timeSpan=r),disabled:!!i.activity,items:o.timeSpans,style:{},"hide-details":"",density:"compact",variant:"outlined","data-test":"recurring-span"},null,8,["modelValue","disabled","items"])]),_:1})]),_:1})):e.createCommentVNode("",!0),o.recurring?(e.openBlock(),e.createBlock(m,{key:1,style:{"padding-bottom":"10px"}},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[...t[28]||(t[28]=[e.createElementVNode("div",{class:"repeat"},"Ending",-1)])]),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(h,{modelValue:o.recurringEndDate,"onUpdate:modelValue":t[12]||(t[12]=r=>o.recurringEndDate=r),type:"date",label:"End Date",class:"mx-1",rules:[o.rules.required],disabled:!!i.activity,"data-test":"recurring-end-date"},null,8,["modelValue","rules","disabled"])]),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(C,{modelValue:o.recurringEndTime,"onUpdate:modelValue":t[13]||(t[13]=r=>o.recurringEndTime=r),label:"End Time","text-field-class":"mx-1",rules:[o.rules.required],disabled:!!i.activity,"data-test":"recurring-end-time"},null,8,["modelValue","rules","disabled"])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(m,null,{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.timeError)},null,8,W),[[e.vShow,n.timeError]])]),_:1})])]),_:1})]),"item.2":e.withCtx(()=>[e.createVNode(N,null,{default:e.withCtx(()=>[e.createElementVNode("div",G,[e.createVNode(u,{modelValue:o.kind,"onUpdate:modelValue":t[14]||(t[14]=r=>o.kind=r),density:"compact","hide-details":"",variant:"outlined",items:o.types,label:"Activity Type","data-test":"activity-select-type",class:"pb-2"},null,8,["modelValue","items"]),o.kind==="COMMAND"?(e.openBlock(),e.createElementBlock("div",J,[e.createVNode(w,{modelValue:o.activityData,"onUpdate:modelValue":t[15]||(t[15]=r=>o.activityData=r),label:"Command Input",rows:"1",readonly:"","auto-grow":"","data-test":"activity-cmd","onClick:control":t[16]||(t[16]=r=>n.editItem())},null,8,["modelValue"])])):o.kind==="SCRIPT"?(e.openBlock(),e.createElementBlock("div",Q,[e.createVNode(p,{"model-value":o.activityData,onFile:n.fileHandler},null,8,["model-value","onFile"]),e.createVNode(v,{modelValue:o.activityEnvironment,"onUpdate:modelValue":t[17]||(t[17]=r=>o.activityEnvironment=r)},null,8,["modelValue"])])):(e.openBlock(),e.createElementBlock("div",X,[...t[29]||(t[29]=[e.createElementVNode("span",{class:"ma-2"}," No required input ",-1)])])),e.withDirectives(e.createVNode(m,{class:"mt-2"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.typeError)},null,8,Y)]),_:1},512),[[e.vShow,n.typeError]])])]),_:1})]),_:2},[o.dialogStep===1?{name:"actions",fn:e.withCtx(()=>[e.createVNode(m,{class:"ma-0 px-6 pb-4"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(s,{color:"primary",disabled:n.validationError,onClick:t[0]||(t[0]=r=>o.dialogStep=2)},{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createTextVNode(" Next ",-1)])]),_:1},8,["disabled"])]),_:1})]),key:"0"}:void 0,o.dialogStep===2?{name:"actions",fn:e.withCtx(()=>[e.createVNode(m,{class:"ma-0 px-6 pb-4"},{default:e.withCtx(()=>[e.createVNode(s,{variant:"text",onClick:t[1]||(t[1]=()=>o.dialogStep-=1)},{default:e.withCtx(()=>[...t[24]||(t[24]=[e.createTextVNode(" Previous ",-1)])]),_:1}),e.createVNode(l),e.createVNode(s,{variant:"outlined",class:"mr-4",onClick:n.clearHandler},{default:e.withCtx(()=>[...t[25]||(t[25]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(s,{type:"submit",color:"primary",disabled:!!a.error,onClick:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[...t[26]||(t[26]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),key:"1"}:void 0]),1032,["modelValue"])]),_:1})]),_:1},8,["modelValue","onKeydown"]),e.createVNode(S,{modelValue:o.showCommandDialog,"onUpdate:modelValue":t[22]||(t[22]=r=>o.showCommandDialog=r),"max-width":"1200",persistent:"",scrollable:"",onKeydown:e.withKeys(n.closeCommandDialog,["esc"])},{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(O,{class:"d-flex align-center"},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(o.dialogTitle),1),e.createVNode(l),e.createVNode(s,{icon:"mdi-close",variant:"text",onClick:n.closeCommandDialog},null,8,["onClick"])]),_:1}),e.createVNode(N,{class:"pa-0"},{default:e.withCtx(()=>[o.dialogError?(e.openBlock(),e.createElementBlock("div",$,[e.createVNode(Z,{class:"mr-2",color:"error"},{default:e.withCtx(()=>[...t[30]||(t[30]=[e.createTextVNode("mdi-alert-circle",-1)])]),_:1}),e.createElementVNode("span",ee,e.toDisplayString(o.dialogError),1),e.createVNode(s,{icon:"mdi-close",size:"small",variant:"text",color:"error",class:"ml-2",onClick:n.clearDialogError},null,8,["onClick"])])):e.createCommentVNode("",!0),e.createVNode(P,{ref:"commandEditor","send-disabled":!1,"states-in-hex":a.statesInHex,"show-ignored-params":a.showIgnoredParams,"cmd-raw":a.cmdRaw,"cmd-string":o.dialogCmdString,"show-command-button":!1,onBuildCmd:t[20]||(t[20]=r=>n.updateCommand(r))},null,8,["states-in-hex","show-ignored-params","cmd-raw","cmd-string"])]),_:1}),e.createVNode(F,null,{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(s,{variant:"outlined",onClick:n.closeCommandDialog},{default:e.withCtx(()=>[...t[31]||(t[31]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(s,{color:"primary",variant:"flat",onClick:t[21]||(t[21]=r=>n.updateCommand())},{default:e.withCtx(()=>[...t[32]||(t[32]=[e.createTextVNode(" Update Command ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"])])}const M=x._export_sfc(R,[["render",te],["__scopeId","data-v-09a72d16"]]),ae={components:{},props:{modelValue:{type:String,required:!0}},emits:["update:modelValue"],computed:{color:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}},swatches:function(){return["#005a8f","#003784","#8F3400","#df1368","#ff5252","#df323b","#9f0010","#2d9437","#004700","#db7200","#802700","#0f2941"]}},methods:{}};function oe(a,t,i,d,o,n){const l=e.resolveComponent("v-icon"),s=e.resolveComponent("v-list-item"),y=e.resolveComponent("v-select");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(y,{modelValue:n.color,"onUpdate:modelValue":t[0]||(t[0]=m=>n.color=m),label:"Color",items:n.swatches},{"prepend-inner":e.withCtx(()=>[e.createVNode(l,{color:n.color},{default:e.withCtx(()=>[...t[1]||(t[1]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])]),item:e.withCtx(({props:m,item:u})=>[e.createVNode(s,e.mergeProps(m,{value:u.raw}),{prepend:e.withCtx(()=>[e.createVNode(l,{color:u.raw},{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])]),_:2},1040,["value"])]),_:1},8,["modelValue","items"])])}const b=x._export_sfc(ae,[["render",oe]]),q={methods:{deleteItem(a){let t=null,i="";switch(a.type.toLowerCase()){case"activity":i="activity",t=a.activity.start;break;case"metadata":i="metadata",t=a.metadata.start;break;case"note":i="notes",t=a.note.start;break}this.$dialog.confirm(`Are you sure you want to remove ${a.typeStr} at ${a.startStr}`,{okText:"Delete",cancelText:"Cancel"}).then(()=>f.Br.delete(`/openc3-api/${i}/${t}`)).then(()=>{this.$emit("delete",a),this.$notify.normal({title:`Deleted ${a.typeStr}`,body:`Deleted ${a.typeStr} at ${a.startStr}`})}).catch(()=>{})}}},ne={components:{},props:{modelValue:{type:Array,required:!0}},emits:["update:modelValue"],data(){return{}},computed:{metadata:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}}},methods:{newMetadata:function(){this.metadata.push({key:"",value:""})},rm:function(a){this.metadata.splice(a,1)}}},ie={scope:"col",class:"text-right",width:"52px"};function le(a,t,i,d,o,n){const l=e.resolveComponent("v-btn"),s=e.resolveComponent("v-text-field"),y=e.resolveComponent("v-table");return e.openBlock(),e.createElementBlock("div",null,[t[2]||(t[2]=e.createElementVNode("span",null," Add metadata key value(s)",-1)),e.createVNode(y,{density:"compact"},{default:e.withCtx(()=>[e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[t[0]||(t[0]=e.createElementVNode("th",{scope:"col",class:"text-left"},"Key",-1)),t[1]||(t[1]=e.createElementVNode("th",{scope:"col",class:"text-left"},"Value",-1)),e.createElementVNode("th",ie,[e.createVNode(l,{icon:"mdi-plus",variant:"text","data-test":"new-metadata-icon",onClick:n.newMetadata},null,8,["onClick"])])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.metadata,(m,u)=>(e.openBlock(),e.createElementBlock("tr",{key:`tr-${u}`},[e.createElementVNode("td",null,[e.createVNode(s,{modelValue:m.key,"onUpdate:modelValue":h=>m.key=h,density:"compact",type:"text","hide-details":"","data-test":`key-${u}`},null,8,["modelValue","onUpdate:modelValue","data-test"])]),e.createElementVNode("td",null,[e.createVNode(s,{modelValue:m.value,"onUpdate:modelValue":h=>m.value=h,density:"compact",type:"text","hide-details":"","data-test":`value-${u}`},null,8,["modelValue","onUpdate:modelValue","data-test"])]),e.createElementVNode("td",null,[e.createVNode(l,{icon:"mdi-delete",variant:"text","data-test":`delete-metadata-icon-${u}`,onClick:h=>n.rm(u)},null,8,["data-test","onClick"])])]))),128))])]),_:1})])}const A=x._export_sfc(ne,[["render",le]]),re={components:{ColorSelectForm:b,MetadataInputForm:A,OpenC3TimePicker:E.OpenC3TimePicker},mixins:[D,g.TimeFilters],props:{modelValue:Boolean,metadata:{type:Object,default:null}},emits:["update:modelValue","update"],data(){return{dialogStep:1,color:"#003784",metadataVals:[],rules:{required:a=>!!a||"Required"}}},computed:{typeError:function(){return this.color?this.metadataVals.length<1?"Please enter a value in the metadata table.":this.metadataVals.find(t=>t.key===""||t.value==="")?"Missing or empty key, value in the metadata table.":null:"A color is required."},show:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}}},mounted:function(){this.updateValues()},methods:{updateValues:function(){if(this.dialogStep=1,this.metadata){const a=new Date(this.metadata.start*1e3);this.startDate=this.formatDate(a,this.timeZone),this.startTime=this.formatTimeHMS(a,this.timeZone),this.color=this.metadata.color,this.metadataVals=Object.keys(this.metadata.metadata).map(t=>({key:t,value:this.metadata.metadata[t]}))}else this.calcStartDateTime(),this.color="#003784",this.metadataVals=[]},clearHandler:function(){this.show=!this.show},submitHandler(){const a=this.color,t=this.metadataVals.reduce((d,o)=>(d[o.key]=o.value,d),{}),i={color:a,metadata:t};this.timeZone==="local"?i.start=new Date(this.startDate+" "+this.startTime).toISOString():i.start=new Date(this.startDate+" "+this.startTime+"Z").toISOString(),this.metadata?f.Br.put(`/openc3-api/metadata/${this.metadata.start}`,{data:i}).then(d=>{this.$notify.normal({title:"Updated Metadata",body:`Metadata updated: (${d.data.start})`}),this.$emit("update",d.data),this.show=!this.show}):f.Br.post("/openc3-api/metadata",{data:i}).then(d=>{this.$notify.normal({title:"Created new Metadata",body:`Metadata: (${d.data.start})`}),this.$emit("update",d.data),this.show=!this.show})}}},se={key:0},de={key:1},me={class:"pa-2"},ce={class:"pa-2"},ue={style:{"min-height":"200px"}},pe=["textContent"];function he(a,t,i,d,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),y=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-row"),u=e.resolveComponent("color-select-form"),h=e.resolveComponent("v-text-field"),w=e.resolveComponent("OpenC3TimePicker"),C=e.resolveComponent("v-card-text"),_=e.resolveComponent("metadata-input-form"),V=e.resolveComponent("v-stepper"),N=e.resolveComponent("v-card"),p=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(p,{modelValue:n.show,"onUpdate:modelValue":t[6]||(t[6]=v=>n.show=v),persistent:"",width:"600",onKeydown:e.withKeys(n.clearHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(N,null,{default:e.withCtx(()=>[e.createVNode(y,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.metadata?(e.openBlock(),e.createElementBlock("span",se,"Update Metadata")):(e.openBlock(),e.createElementBlock("span",de,"Create Metadata")),e.createVNode(l),e.createVNode(s,{icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-metadata-icon",onClick:n.clearHandler},null,8,["onClick"])]),_:1}),e.createVNode(V,{modelValue:o.dialogStep,"onUpdate:modelValue":t[5]||(t[5]=v=>o.dialogStep=v),editable:"",items:["Metadata Times","Metadata Input"]},e.createSlots({"item.1":e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createElementVNode("div",me,[e.createVNode(u,{modelValue:o.color,"onUpdate:modelValue":t[1]||(t[1]=v=>o.color=v)},null,8,["modelValue"]),e.createVNode(m,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:a.startDate,"onUpdate:modelValue":t[2]||(t[2]=v=>a.startDate=v),type:"date",label:"Start Date",class:"mx-1",rules:[o.rules.required],"data-test":"metadata-start-date"},null,8,["modelValue","rules"]),e.createVNode(w,{modelValue:a.startTime,"onUpdate:modelValue":t[3]||(t[3]=v=>a.startTime=v),label:"Start Time","text-field-class":"mx-1",rules:[o.rules.required],"data-test":"metadata-start-time"},null,8,["modelValue","rules"])]),_:1})])]),_:1})]),"item.2":e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createElementVNode("div",ce,[e.createElementVNode("div",ue,[e.createVNode(_,{modelValue:o.metadataVals,"onUpdate:modelValue":t[4]||(t[4]=v=>o.metadataVals=v)},null,8,["modelValue"])]),e.withDirectives(e.createVNode(m,null,{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.typeError)},null,8,pe)]),_:1},512),[[e.vShow,n.typeError]])])]),_:1})]),_:2},[o.dialogStep===2?{name:"actions",fn:e.withCtx(()=>[e.createVNode(m,{class:"ma-0 px-6 pb-4"},{default:e.withCtx(()=>[e.createVNode(s,{variant:"text",onClick:t[0]||(t[0]=()=>o.dialogStep-=1)},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Previous ",-1)])]),_:1}),e.createVNode(l),e.createVNode(s,{variant:"outlined",class:"mr-4",onClick:n.clearHandler},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(s,{type:"submit",color:"primary",disabled:!!a.error,onClick:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),key:"0"}:void 0]),1032,["modelValue"])]),_:1})]),_:1},8,["modelValue","onKeydown"])])}const I=x._export_sfc(re,[["render",he],["__scopeId","data-v-04a1002f"]]),ve={components:{ColorSelectForm:b,OpenC3TimePicker:E.OpenC3TimePicker},mixins:[D,g.TimeFilters],props:{modelValue:Boolean,note:{type:Object,default:null}},emits:["update:modelValue","update"],data(){return{dialogStep:1,description:"",color:"#8F3400",rules:{required:a=>!!a||"Required"}}},computed:{timeError:function(){let a,t;return this.timeZone==="local"?(a=new Date(this.startDate+" "+this.startTime),t=new Date(this.endDate+" "+this.endTime)):(a=new Date(this.startDate+" "+this.startTime+"Z"),t=new Date(this.endDate+" "+this.endTime+"Z")),a===t?"Invalid start, end time. Notes must have different start and end times.":a>t?"Invalid start time. Notes start before end.":null},typeError:function(){return this.color?this.description?null:"A description is required for a valid note.":"A color is required."},show:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}}},mounted:function(){this.updateValues()},methods:{updateValues:function(){if(this.dialogStep=1,this.note){const a=new Date(this.note.start*1e3);this.startDate=this.formatDate(a,this.timeZone),this.startTime=this.formatTimeHMS(a,this.timeZone);const t=new Date(this.note.stop*1e3);this.endDate=this.formatDate(t,this.timeZone),this.endTime=this.formatTimeHMS(t,this.timeZone),this.color=this.note.color,this.description=this.note.description}else this.calcStartDateTime(),this.color="#8F3400",this.description=""},clearHandler:function(){this.show=!this.show},submitHandler(){let a,t;this.timeZone==="local"?(a=new Date(this.startDate+" "+this.startTime).toISOString(),t=new Date(this.endDate+" "+this.endTime).toISOString()):(a=new Date(this.startDate+" "+this.startTime+"Z").toISOString(),t=new Date(this.endDate+" "+this.endTime+"Z").toISOString());const i=this.color,d=this.description;this.note?f.Br.put(`/openc3-api/notes/${this.note.start}`,{data:{start:a,stop:t,color:i,description:d}}).then(o=>{const n=o.data.description.length>16?`${o.data.description.substring(0,16)}...`:o.data.description;this.$notify.normal({title:"Updated Note",body:`Note updated: (${o.data.start}): "${n}"`}),this.$emit("update",o.data),this.show=!this.show}):f.Br.post("/openc3-api/notes",{data:{start:a,stop:t,color:i,description:d}}).then(o=>{const n=o.data.description.length>16?`${o.data.description.substring(0,16)}...`:o.data.description;this.$notify.normal({title:"Created new Note",body:`Note: (${o.data.start}) created: "${n}"`}),this.$emit("update",o.data),this.show=!this.show})}}},Ve={key:0},ye={key:1},Ce={class:"pa-2"},fe=["textContent"],we={class:"pa-2"},Ne=["textContent"];function _e(a,t,i,d,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),y=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-row"),u=e.resolveComponent("v-text-field"),h=e.resolveComponent("OpenC3TimePicker"),w=e.resolveComponent("v-card-text"),C=e.resolveComponent("color-select-form"),_=e.resolveComponent("v-stepper"),V=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(N,{modelValue:n.show,"onUpdate:modelValue":t[8]||(t[8]=p=>n.show=p),persistent:"",width:"600",onKeydown:e.withKeys(n.clearHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(y,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.note?(e.openBlock(),e.createElementBlock("span",Ve,"Update Note")):(e.openBlock(),e.createElementBlock("span",ye,"Create Note")),e.createVNode(l),e.createVNode(s,{icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-note-icon",onClick:n.clearHandler},null,8,["onClick"])]),_:1}),e.createVNode(_,{modelValue:o.dialogStep,"onUpdate:modelValue":t[7]||(t[7]=p=>o.dialogStep=p),editable:"",items:["Note Times","Note Input"]},e.createSlots({"item.1":e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createElementVNode("div",Ce,[e.createVNode(m,{dense:""},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:a.startDate,"onUpdate:modelValue":t[1]||(t[1]=p=>a.startDate=p),type:"date",label:"Start Date",class:"mx-1",rules:[o.rules.required],"data-test":"note-start-date"},null,8,["modelValue","rules"]),e.createVNode(h,{modelValue:a.startTime,"onUpdate:modelValue":t[2]||(t[2]=p=>a.startTime=p),label:"Start Time","text-field-class":"mx-1",rules:[o.rules.required],"data-test":"note-start-time"},null,8,["modelValue","rules"])]),_:1}),e.createVNode(m,{dense:""},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:a.endDate,"onUpdate:modelValue":t[3]||(t[3]=p=>a.endDate=p),type:"date",label:"End Date",class:"mx-1",rules:[o.rules.required],"data-test":"note-end-date"},null,8,["modelValue","rules"]),e.createVNode(h,{modelValue:a.endTime,"onUpdate:modelValue":t[4]||(t[4]=p=>a.endTime=p),label:"End Time","text-field-class":"mx-1",rules:[o.rules.required],"data-test":"note-end-time"},null,8,["modelValue","rules"])]),_:1}),e.createVNode(m,null,{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.timeError)},null,8,fe),[[e.vShow,n.timeError]])]),_:1})])]),_:1})]),"item.2":e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createElementVNode("div",we,[e.createElementVNode("div",null,[e.createVNode(C,{modelValue:o.color,"onUpdate:modelValue":t[5]||(t[5]=p=>o.color=p)},null,8,["modelValue"])]),e.createElementVNode("div",null,[e.createVNode(u,{modelValue:o.description,"onUpdate:modelValue":t[6]||(t[6]=p=>o.description=p),type:"text",label:"Note Description","data-test":"note-description"},null,8,["modelValue"])]),e.withDirectives(e.createVNode(m,null,{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.typeError)},null,8,Ne)]),_:1},512),[[e.vShow,n.typeError]])])]),_:1})]),_:2},[o.dialogStep===2?{name:"actions",fn:e.withCtx(()=>[e.createVNode(m,{class:"ma-0 px-6 pb-4"},{default:e.withCtx(()=>[e.createVNode(s,{variant:"text",onClick:t[0]||(t[0]=()=>o.dialogStep-=1)},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode(" Previous ",-1)])]),_:1}),e.createVNode(l),e.createVNode(s,{variant:"outlined",class:"mr-4",onClick:n.clearHandler},{default:e.withCtx(()=>[...t[10]||(t[10]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(s,{type:"submit",color:"primary",disabled:!!a.error,onClick:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),key:"0"}:void 0]),1032,["modelValue"])]),_:1})]),_:1},8,["modelValue","onKeydown"])])}const H=x._export_sfc(ve,[["render",_e],["__scopeId","data-v-403c743b"]]),xe={components:{ActivityCreateDialog:M,MetadataCreateDialog:I,NoteCreateDialog:H},mixins:[g.TimeFilters,q],props:{events:{type:Array,required:!0},modelValue:{type:Boolean,required:!0},timeZone:{type:String,required:!0},types:{type:Array,default:null},newMetadata:{type:Boolean,default:!1}},emits:["update:modelValue","close","update"],data(){return{search:"",localEvents:[...this.events],eventHeaders:[{title:"Start",key:"start",width:215},{title:"Stop",key:"end",width:215},{title:"Type",key:"type"},{title:"Data",key:"data"},{title:"Actions",key:"actions",sortable:!1}],editActivity:{start:new Date,end:new Date},editMetadata:{start:new Date,end:new Date},editNote:{start:new Date,end:new Date},editIndex:0,showActivityUpdate:!1,showMetadataUpdate:!1,showNoteUpdate:!1,showMetadataCreate:!1}},computed:{show:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}}},created:function(){},methods:{close(){this.$emit("close"),this.show=!1},dataFormat(a){let t=a.name;switch(a.type){case"note":t=a.note.description;break;case"metadata":let i=[];Object.entries(a.metadata.metadata).forEach(([d,o])=>i.push(`${d}: ${o}`)),t=i.join(", ");break}return t},editAction(a){switch(this.editIndex=this.localEvents.findIndex(t=>t.type===a.type&&t.start===a.start),a.type){case"activity":this.editActivity=a.activity,this.showActivityUpdate=!0;break;case"metadata":this.editMetadata=a.metadata,this.showMetadataUpdate=!0;break;case"note":this.editNote=a.note,this.showNoteUpdate=!0;break}},deleteAction(a){let t=this.localEvents.findIndex(n=>n.type===a.type&&n.start===a.start),i=null,d=null,o=null;switch(a.type){case"activity":i=`timeline/${a.activity.name}/activity`,d=a.activity.start,o=a.activity.uuid;break;case"metadata":i="metadata",d=a.metadata.start;break;case"note":i="notes",d=a.note.start;break}this.$dialog.confirm(`Are you sure you want to remove ${a.type} at ${a.start}`,{okText:"Delete",cancelText:"Cancel"}).then(n=>{this.localEvents.splice(t,1);let l=`/openc3-api/${i}/${d}`;return o&&(l+=`/${o}`),f.Br.delete(l)}).then(n=>{this.$emit("update"),this.$notify.normal({title:`Deleted ${a.type}`,body:`Deleted ${a.type} at ${d}`})}).catch(n=>{})},updateActivity(a){this.$emit("update"),this.localEvents[this.editIndex].activity=a},updateMetadata(a){this.$emit("update"),this.localEvents[this.editIndex].metadata=a},updateNote(a){this.$emit("update"),this.localEvents[this.editIndex].note=a},addMetadata(a){let t={name:"Metadata",start:new Date(a.start*1e3),end:new Date(a.start*1e3),color:a.color,type:a.type,timed:!0,metadata:a};this.localEvents.push(t)}}},ke={key:0},ge={key:1},De={key:0},Te={key:1};function Ee(a,t,i,d,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),y=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-text-field"),u=e.resolveComponent("v-row"),h=e.resolveComponent("v-card-title"),w=e.resolveComponent("v-data-table"),C=e.resolveComponent("v-card-actions"),_=e.resolveComponent("v-card"),V=e.resolveComponent("v-dialog"),N=e.resolveComponent("activity-create-dialog"),p=e.resolveComponent("metadata-create-dialog"),v=e.resolveComponent("note-create-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(V,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=c=>n.show=c),persistent:"",width:"80vw",onKeydown:e.withKeys(n.close,["esc"])},{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(y,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.newMetadata?(e.openBlock(),e.createElementBlock("span",ke,"Metadata")):(e.openBlock(),e.createElementBlock("span",ge,"Events")),e.createVNode(l),e.createVNode(s,{icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-metadata-icon","aria-label":"Close Dialog",onClick:n.close},null,8,["onClick"])]),_:1}),e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(u,{class:"pa-3"},{default:e.withCtx(()=>[i.newMetadata?(e.openBlock(),e.createElementBlock("span",De,"Metadata")):(e.openBlock(),e.createElementBlock("span",Te,"Events")),e.createVNode(l),e.createVNode(m,{modelValue:o.search,"onUpdate:modelValue":t[0]||(t[0]=c=>o.search=c),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":""},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(w,{headers:o.eventHeaders,items:o.localEvents,search:o.search},{"no-data":e.withCtx(()=>[...t[7]||(t[7]=[e.createElementVNode("span",null," No events ",-1)])]),"item.start":e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(a.formatDateTime(c.start,i.timeZone)),1)]),"item.end":e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(a.formatDateTime(c.end,i.timeZone)),1)]),"item.type":e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(c.type.charAt(0).toUpperCase()+c.type.slice(1)),1)]),"item.data":e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(n.dataFormat(c)),1)]),"item.actions":e.withCtx(({item:c})=>[e.createVNode(s,{icon:"mdi-pencil",variant:"text",size:"small",class:"mr-2","data-test":"edit-event","aria-label":"Edit Event",onClick:k=>n.editAction(c)},null,8,["onClick"]),e.createVNode(s,{icon:"mdi-delete",variant:"text",size:"small","data-test":"delete-event","aria-label":"Delete Event",onClick:k=>n.deleteAction(c)},null,8,["onClick"])]),_:1},8,["headers","items","search"]),e.createVNode(C,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(s,{variant:"outlined","data-test":"close-event-list",onClick:n.close},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode(" Close ",-1)])]),_:1},8,["onClick"]),i.newMetadata?(e.openBlock(),e.createBlock(s,{key:0,variant:"flat","data-test":"new-event",onClick:t[1]||(t[1]=c=>o.showMetadataCreate=!0)},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode(" New Metadata ",-1)])]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"]),o.showActivityUpdate?(e.openBlock(),e.createBlock(N,{key:0,modelValue:o.showActivityUpdate,"onUpdate:modelValue":t[3]||(t[3]=c=>o.showActivityUpdate=c),activity:o.editActivity,"time-zone":i.timeZone,onUpdate:n.updateActivity},null,8,["modelValue","activity","time-zone","onUpdate"])):e.createCommentVNode("",!0),o.showMetadataUpdate?(e.openBlock(),e.createBlock(p,{key:1,modelValue:o.showMetadataUpdate,"onUpdate:modelValue":t[4]||(t[4]=c=>o.showMetadataUpdate=c),metadata:o.editMetadata,"time-zone":i.timeZone,onUpdate:n.updateMetadata},null,8,["modelValue","metadata","time-zone","onUpdate"])):e.createCommentVNode("",!0),o.showNoteUpdate?(e.openBlock(),e.createBlock(v,{key:2,modelValue:o.showNoteUpdate,"onUpdate:modelValue":t[5]||(t[5]=c=>o.showNoteUpdate=c),note:o.editNote,"time-zone":i.timeZone,onUpdate:n.updateNote},null,8,["modelValue","note","time-zone","onUpdate"])):e.createCommentVNode("",!0),o.showMetadataCreate?(e.openBlock(),e.createBlock(p,{key:3,modelValue:o.showMetadataCreate,"onUpdate:modelValue":t[6]||(t[6]=c=>o.showMetadataCreate=c),"time-zone":i.timeZone,onUpdate:n.addMetadata},null,8,["modelValue","time-zone","onUpdate"])):e.createCommentVNode("",!0)])}const be=x._export_sfc(xe,[["render",Ee]]);exports.ActivityCreateDialog=M;exports.ColorSelectForm=b;exports.CreateDialog=D;exports.DeleteItem=q;exports.EventListDialog=be;exports.MetadataCreateDialog=I;exports.MetadataInputForm=A;exports.NoteCreateDialog=H;
|
|
2
|
+
//# sourceMappingURL=EventListDialog-1RsuuLHZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventListDialog-1RsuuLHZ.cjs","sources":["../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/add.js","../src/tools/calendar/CreateDialog.js","../src/tools/calendar/ActivityCreateDialog.vue","../src/tools/calendar/ColorSelectForm.vue","../src/tools/calendar/DeleteItem.js","../src/tools/calendar/MetadataInputForm.vue","../src/tools/calendar/MetadataCreateDialog.vue","../src/tools/calendar/NoteCreateDialog.vue","../src/tools/calendar/EventListDialog.vue"],"sourcesContent":["import { addDays } from \"./addDays.js\";\nimport { addMonths } from \"./addMonths.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link add} function options.\n */\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @typeParam DateType - The `Date` type the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param duration - The object with years, months, weeks, days, hours, minutes, and seconds to be added.\n * @param options - An object with options\n *\n * @returns The new date with the seconds added\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport function add(date, duration, options) {\n const {\n years = 0,\n months = 0,\n weeks = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n } = duration;\n\n // Add years and months\n const _date = toDate(date, options?.in);\n const dateWithMonths =\n months || years ? addMonths(_date, months + years * 12) : _date;\n\n // Add weeks and days\n const dateWithDays =\n days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes, and seconds\n const minutesToAdd = minutes + hours * 60;\n const secondsToAdd = seconds + minutesToAdd * 60;\n const msToAdd = secondsToAdd * 1000;\n\n return constructFrom(options?.in || date, +dateWithDays + msToAdd);\n}\n\n// Fallback for modularized imports:\nexport default add;\n","/*\n# Copyright 2026 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 = this.formatDate(new Date(), this.timeZone)\n this.endDate = this.startDate\n }\n let ms = 1000 * 60 * 30 // 30 min\n let start = null\n if (this.time) {\n // this.time is already in the display timezone; parse/format roundtrip\n // in local time preserves the HH:mm:ss the user clicked on.\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 this.startTime = format(start, 'HH:mm:ss')\n this.endTime = format(add(start, { minutes: 30 }), 'HH:mm:ss')\n } else {\n // Round up so the start is in the future\n start = new Date(Math.ceil(new Date().getTime() / ms) * ms)\n this.startTime = this.formatTimeHMS(start, this.timeZone)\n this.endTime = this.formatTimeHMS(\n add(start, { minutes: 30 }),\n this.timeZone,\n )\n }\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","ms","start","parse","format","_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]}
|