@openc3/vue-common 6.10.2 → 6.10.3
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-ByKRAWXn.cjs → ArrayWidget-B35vCzAo.cjs} +3 -3
- package/dist/{ArrayWidget-ByKRAWXn.cjs.map → ArrayWidget-B35vCzAo.cjs.map} +1 -1
- package/dist/{ArrayWidget-CR7Wpw3N.js → ArrayWidget-Bc-Awsbn.js} +11 -11
- package/dist/{ArrayWidget-CR7Wpw3N.js.map → ArrayWidget-Bc-Awsbn.js.map} +1 -1
- package/dist/{ArrayplotWidget-Cty7KQ_h.cjs → ArrayplotWidget-B67ip6aR.cjs} +2 -2
- package/dist/{ArrayplotWidget-Cty7KQ_h.cjs.map → ArrayplotWidget-B67ip6aR.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-DDEd-jRJ.js → ArrayplotWidget-B9UGCr4-.js} +4 -4
- package/dist/{ArrayplotWidget-DDEd-jRJ.js.map → ArrayplotWidget-B9UGCr4-.js.map} +1 -1
- package/dist/BarColumn-3fKM-em2.cjs +2 -0
- package/dist/BarColumn-3fKM-em2.cjs.map +1 -0
- package/dist/{BarColumn-XWs-3Cwb.js → BarColumn-ClLBRGll.js} +11 -11
- package/dist/BarColumn-ClLBRGll.js.map +1 -0
- package/dist/{BlockWidget-CfFgdNSv.js → BlockWidget-CoQp-LZM.js} +14 -14
- package/dist/{BlockWidget-CfFgdNSv.js.map → BlockWidget-CoQp-LZM.js.map} +1 -1
- package/dist/{BlockWidget-BDzoqpxO.cjs → BlockWidget-DWexy9Dx.cjs} +3 -3
- package/dist/{BlockWidget-BDzoqpxO.cjs.map → BlockWidget-DWexy9Dx.cjs.map} +1 -1
- package/dist/{ButtonWidget-BBMDS_YF.cjs → ButtonWidget-BBpVoIzj.cjs} +3 -3
- package/dist/ButtonWidget-BBpVoIzj.cjs.map +1 -0
- package/dist/{ButtonWidget-BaSvtElA.js → ButtonWidget-CTTwpFec.js} +15 -15
- package/dist/ButtonWidget-CTTwpFec.js.map +1 -0
- package/dist/{CanvasWidget-CFNpgqfW.cjs → CanvasWidget-Qlx-Mo8v.cjs} +2 -2
- package/dist/{CanvasWidget-CFNpgqfW.cjs.map → CanvasWidget-Qlx-Mo8v.cjs.map} +1 -1
- package/dist/{CanvasWidget-DcwDi5Zk.js → CanvasWidget-jFarbJ3t.js} +4 -4
- package/dist/{CanvasWidget-DcwDi5Zk.js.map → CanvasWidget-jFarbJ3t.js.map} +1 -1
- package/dist/{CanvasdotWidget-BZ9TrTvw.cjs → CanvasdotWidget-BROyk4FH.cjs} +2 -2
- package/dist/{CanvasdotWidget-BZ9TrTvw.cjs.map → CanvasdotWidget-BROyk4FH.cjs.map} +1 -1
- package/dist/{CanvasdotWidget--awMOWyz.js → CanvasdotWidget-BoyUcwiB.js} +3 -3
- package/dist/{CanvasdotWidget--awMOWyz.js.map → CanvasdotWidget-BoyUcwiB.js.map} +1 -1
- package/dist/CanvasimageWidget-BvTJnGXu.cjs +2 -0
- package/dist/CanvasimageWidget-BvTJnGXu.cjs.map +1 -0
- package/dist/{CanvasimageWidget-YP1pCtvb.js → CanvasimageWidget-DmyCSnuQ.js} +8 -7
- package/dist/CanvasimageWidget-DmyCSnuQ.js.map +1 -0
- package/dist/{CanvasimagevalueWidget-CjVHb2uj.js → CanvasimagevalueWidget-CmbngMqv.js} +5 -4
- package/dist/CanvasimagevalueWidget-CmbngMqv.js.map +1 -0
- package/dist/CanvasimagevalueWidget-CzVrDo-Z.cjs +2 -0
- package/dist/CanvasimagevalueWidget-CzVrDo-Z.cjs.map +1 -0
- package/dist/{CanvaslabelWidget-Dw1YmiY0.cjs → CanvaslabelWidget-BnvwV9MA.cjs} +2 -2
- package/dist/{CanvaslabelWidget-Dw1YmiY0.cjs.map → CanvaslabelWidget-BnvwV9MA.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-DoMplTTO.js → CanvaslabelWidget-D8NzLKqi.js} +3 -3
- package/dist/{CanvaslabelWidget-DoMplTTO.js.map → CanvaslabelWidget-D8NzLKqi.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-Dyo_ogHn.js → CanvaslabelvalueWidget-DOybGI9D.js} +4 -3
- package/dist/CanvaslabelvalueWidget-DOybGI9D.js.map +1 -0
- package/dist/CanvaslabelvalueWidget-DVnkclHD.cjs +2 -0
- package/dist/CanvaslabelvalueWidget-DVnkclHD.cjs.map +1 -0
- package/dist/{CanvaslineWidget-D7W1TIxm.js → CanvaslineWidget-D2NEei7j.js} +3 -3
- package/dist/{CanvaslineWidget-D7W1TIxm.js.map → CanvaslineWidget-D2NEei7j.js.map} +1 -1
- package/dist/{CanvaslineWidget-tm194dw1.cjs → CanvaslineWidget-DgbXSH1K.cjs} +2 -2
- package/dist/{CanvaslineWidget-tm194dw1.cjs.map → CanvaslineWidget-DgbXSH1K.cjs.map} +1 -1
- package/dist/{CanvaslinevalueWidget-BOZyJuLE.js → CanvaslinevalueWidget-Ctvv9owf.js} +11 -10
- package/dist/CanvaslinevalueWidget-Ctvv9owf.js.map +1 -0
- package/dist/CanvaslinevalueWidget-E3NDHyPl.cjs +2 -0
- package/dist/CanvaslinevalueWidget-E3NDHyPl.cjs.map +1 -0
- package/dist/CheckbuttonWidget-BdvWAgg_.cjs +2 -0
- package/dist/{CheckbuttonWidget-BSvTWD3x.cjs.map → CheckbuttonWidget-BdvWAgg_.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-B1E4BC6v.js → CheckbuttonWidget-CQeR0BMF.js} +6 -6
- package/dist/{CheckbuttonWidget-B1E4BC6v.js.map → CheckbuttonWidget-CQeR0BMF.js.map} +1 -1
- package/dist/{ClassificationBanners-CzZoKcRy.cjs → ClassificationBanners-0BNhyyMS.cjs} +2 -2
- package/dist/{ClassificationBanners-CzZoKcRy.cjs.map → ClassificationBanners-0BNhyyMS.cjs.map} +1 -1
- package/dist/{ClassificationBanners-DQeVwmYp.js → ClassificationBanners-STI2n2yD.js} +2 -2
- package/dist/{ClassificationBanners-DQeVwmYp.js.map → ClassificationBanners-STI2n2yD.js.map} +1 -1
- package/dist/{ComboboxWidget-BExUBH57.js → ComboboxWidget-4N-MagvN.js} +6 -6
- package/dist/{ComboboxWidget-BExUBH57.js.map → ComboboxWidget-4N-MagvN.js.map} +1 -1
- package/dist/ComboboxWidget-Dh0q9xpJ.cjs +2 -0
- package/dist/{ComboboxWidget-B_KAnIVB.cjs.map → ComboboxWidget-Dh0q9xpJ.cjs.map} +1 -1
- package/dist/CriticalCmdDialog-Dy1cQZxQ.cjs +2 -0
- package/dist/CriticalCmdDialog-Dy1cQZxQ.cjs.map +1 -0
- package/dist/{CriticalCmdDialog-BtzhxuZi.js → CriticalCmdDialog-trVtKZft.js} +62 -52
- package/dist/CriticalCmdDialog-trVtKZft.js.map +1 -0
- package/dist/{CustomIcon-DTfsnDJn.js → CustomIcon-B9m73Gqm.js} +5 -4
- package/dist/{CustomIcon-DTfsnDJn.js.map → CustomIcon-B9m73Gqm.js.map} +1 -1
- package/dist/CustomIcon-CEc927h0.cjs +2 -0
- package/dist/{CustomIcon-eie3rPKh.cjs.map → CustomIcon-CEc927h0.cjs.map} +1 -1
- package/dist/{DateWidget-kTJBAHVp.cjs → DateWidget-DXN7u3vL.cjs} +2 -2
- package/dist/{DateWidget-kTJBAHVp.cjs.map → DateWidget-DXN7u3vL.cjs.map} +1 -1
- package/dist/{DateWidget-_ZmPsi2l.js → DateWidget-rYTjwUdb.js} +3 -3
- package/dist/{DateWidget-_ZmPsi2l.js.map → DateWidget-rYTjwUdb.js.map} +1 -1
- package/dist/DetailsDialog-CLCCuoHV.cjs +2 -0
- package/dist/DetailsDialog-CLCCuoHV.cjs.map +1 -0
- package/dist/{DetailsDialog-Bq7SS7bc.js → DetailsDialog-p_vutijL.js} +130 -100
- package/dist/DetailsDialog-p_vutijL.js.map +1 -0
- package/dist/DynamicWidget-C4V2H2VJ.cjs +2 -0
- package/dist/DynamicWidget-C4V2H2VJ.cjs.map +1 -0
- package/dist/{DynamicWidget-DHL7pbgW.js → DynamicWidget-DEHWYr8i.js} +7 -7
- package/dist/DynamicWidget-DEHWYr8i.js.map +1 -0
- package/dist/{EventListDialog-jdNF3szO.js → EventListDialog-BshKrOuQ.js} +70 -62
- package/dist/EventListDialog-BshKrOuQ.js.map +1 -0
- package/dist/EventListDialog-D0iBpLSR.cjs +2 -0
- package/dist/EventListDialog-D0iBpLSR.cjs.map +1 -0
- package/dist/FilechecksumWidget-Ddlm1UED.cjs +2 -0
- package/dist/FilechecksumWidget-Ddlm1UED.cjs.map +1 -0
- package/dist/FilechecksumWidget-gcmXxJHl.js +158 -0
- package/dist/FilechecksumWidget-gcmXxJHl.js.map +1 -0
- package/dist/FiledisplayWidget-CYX4HChi.cjs +2 -0
- package/dist/FiledisplayWidget-CYX4HChi.cjs.map +1 -0
- package/dist/FiledisplayWidget-CqM549A4.js +114 -0
- package/dist/FiledisplayWidget-CqM549A4.js.map +1 -0
- package/dist/{FormatvalueWidget-4C0vrL2i.js → FormatvalueWidget-BEwH0C7S.js} +4 -4
- package/dist/{FormatvalueWidget-4C0vrL2i.js.map → FormatvalueWidget-BEwH0C7S.js.map} +1 -1
- package/dist/{FormatvalueWidget-CVoJgFJA.cjs → FormatvalueWidget-CpsyYKXD.cjs} +2 -2
- package/dist/{FormatvalueWidget-CVoJgFJA.cjs.map → FormatvalueWidget-CpsyYKXD.cjs.map} +1 -1
- package/dist/{Graph-B7KPo9Ul.js → Graph-CbjlChwf.js} +93 -82
- package/dist/Graph-CbjlChwf.js.map +1 -0
- package/dist/Graph-kmTrth08.cjs +2 -0
- package/dist/Graph-kmTrth08.cjs.map +1 -0
- package/dist/{GraphWidget-BpkPpAbd.js → GraphWidget-CjxnC0Dc.js} +2 -2
- package/dist/{GraphWidget-BpkPpAbd.js.map → GraphWidget-CjxnC0Dc.js.map} +1 -1
- package/dist/{GraphWidget-D3HueIZi.cjs → GraphWidget-SamHg2AA.cjs} +2 -2
- package/dist/{GraphWidget-D3HueIZi.cjs.map → GraphWidget-SamHg2AA.cjs.map} +1 -1
- package/dist/HorizontalWidget-ByZjU21C.cjs +2 -0
- package/dist/HorizontalWidget-ByZjU21C.cjs.map +1 -0
- package/dist/HorizontalWidget-Dt8bkM3k.js +69 -0
- package/dist/HorizontalWidget-Dt8bkM3k.js.map +1 -0
- package/dist/{HorizontalboxWidget-CTomf_Iy.js → HorizontalboxWidget-CdAZ5Sa6.js} +6 -6
- package/dist/{HorizontalboxWidget-CTomf_Iy.js.map → HorizontalboxWidget-CdAZ5Sa6.js.map} +1 -1
- package/dist/{HorizontalboxWidget-ysq7slso.cjs → HorizontalboxWidget-DzYz5SXs.cjs} +2 -2
- package/dist/{HorizontalboxWidget-ysq7slso.cjs.map → HorizontalboxWidget-DzYz5SXs.cjs.map} +1 -1
- package/dist/{HorizontallineWidget-BgXZZymr.cjs → HorizontallineWidget-C8Zhqxik.cjs} +2 -2
- package/dist/{HorizontallineWidget-BgXZZymr.cjs.map → HorizontallineWidget-C8Zhqxik.cjs.map} +1 -1
- package/dist/{HorizontallineWidget-B7xx7ofY.js → HorizontallineWidget-CXZJTeU2.js} +3 -3
- package/dist/{HorizontallineWidget-B7xx7ofY.js.map → HorizontallineWidget-CXZJTeU2.js.map} +1 -1
- package/dist/{IframeWidget-fV9e-Nm1.cjs → IframeWidget-BuNXXziR.cjs} +2 -2
- package/dist/{IframeWidget-fV9e-Nm1.cjs.map → IframeWidget-BuNXXziR.cjs.map} +1 -1
- package/dist/{IframeWidget-DK7rbULe.js → IframeWidget-CrcWiAVE.js} +3 -3
- package/dist/{IframeWidget-DK7rbULe.js.map → IframeWidget-CrcWiAVE.js.map} +1 -1
- package/dist/{ImageLoader-CJxiBXAL.cjs → ImageLoader-130w4tXJ.cjs} +2 -2
- package/dist/{ImageLoader-CJxiBXAL.cjs.map → ImageLoader-130w4tXJ.cjs.map} +1 -1
- package/dist/{ImageLoader-C9rN_pSY.js → ImageLoader-DPqax8yu.js} +2 -2
- package/dist/{ImageLoader-C9rN_pSY.js.map → ImageLoader-DPqax8yu.js.map} +1 -1
- package/dist/{ImageviewerWidget-6d6Kl3W_.js → ImageviewerWidget-CTEl6iPg.js} +10 -9
- package/dist/ImageviewerWidget-CTEl6iPg.js.map +1 -0
- package/dist/ImageviewerWidget-CafLbLp2.cjs +2 -0
- package/dist/ImageviewerWidget-CafLbLp2.cjs.map +1 -0
- package/dist/{InterfacesTab-BCqTanhV.js → InterfacesTab-B9ApLB5q.js} +4 -4
- package/dist/{InterfacesTab-BCqTanhV.js.map → InterfacesTab-B9ApLB5q.js.map} +1 -1
- package/dist/{InterfacesTab-0pmK3KNu.cjs → InterfacesTab-wPQSLcSj.cjs} +2 -2
- package/dist/{InterfacesTab-0pmK3KNu.cjs.map → InterfacesTab-wPQSLcSj.cjs.map} +1 -1
- package/dist/{LabelWidget-DdZz2NWv.cjs → LabelWidget-BfBP3Xme.cjs} +2 -2
- package/dist/{LabelWidget-DdZz2NWv.cjs.map → LabelWidget-BfBP3Xme.cjs.map} +1 -1
- package/dist/{LabelWidget-D71FfOSw.js → LabelWidget-CPqKGMx0.js} +3 -3
- package/dist/{LabelWidget-D71FfOSw.js.map → LabelWidget-CPqKGMx0.js.map} +1 -1
- package/dist/{LabelledWidget-D2ir5kVU.js → LabelledWidget-BHYzRMFd.js} +6 -6
- package/dist/{LabelledWidget-D2ir5kVU.js.map → LabelledWidget-BHYzRMFd.js.map} +1 -1
- package/dist/{LabelledWidget-BZ319slb.cjs → LabelledWidget-CZvKfFNW.cjs} +2 -2
- package/dist/{LabelledWidget-BZ319slb.cjs.map → LabelledWidget-CZvKfFNW.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-LyevJNuz.cjs → LabelprogressbarWidget-Bv0G5oT3.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-LyevJNuz.cjs.map → LabelprogressbarWidget-Bv0G5oT3.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-C4_YbROz.js → LabelprogressbarWidget-D9deeUo7.js} +6 -6
- package/dist/{LabelprogressbarWidget-C4_YbROz.js.map → LabelprogressbarWidget-D9deeUo7.js.map} +1 -1
- package/dist/{LabelsparklineWidget-CdZ_pM2B.js → LabelsparklineWidget-7mYre3CP.js} +13 -13
- package/dist/LabelsparklineWidget-7mYre3CP.js.map +1 -0
- package/dist/LabelsparklineWidget-dyqEroDN.cjs +2 -0
- package/dist/LabelsparklineWidget-dyqEroDN.cjs.map +1 -0
- package/dist/{LabelvalueWidget-DSHwAKma.cjs → LabelvalueWidget-Bsl7Z3wM.cjs} +2 -2
- package/dist/{LabelvalueWidget-DSHwAKma.cjs.map → LabelvalueWidget-Bsl7Z3wM.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-BS0EPY5h.js → LabelvalueWidget-NLsD60n4.js} +6 -6
- package/dist/{LabelvalueWidget-BS0EPY5h.js.map → LabelvalueWidget-NLsD60n4.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-3lwQxkKj.cjs → LabelvaluedescWidget-B_Xih-c5.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-3lwQxkKj.cjs.map → LabelvaluedescWidget-B_Xih-c5.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-Cpr8_Voq.js → LabelvaluedescWidget-DXROG4Gs.js} +6 -6
- package/dist/{LabelvaluedescWidget-Cpr8_Voq.js.map → LabelvaluedescWidget-DXROG4Gs.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-DbO_Q5ex.cjs → LabelvaluelimitsbarWidget-DDd0RIs5.cjs} +2 -2
- package/dist/LabelvaluelimitsbarWidget-DDd0RIs5.cjs.map +1 -0
- package/dist/{LabelvaluelimitsbarWidget-DTcYbEQS.js → LabelvaluelimitsbarWidget-DqVqHF4W.js} +10 -10
- package/dist/LabelvaluelimitsbarWidget-DqVqHF4W.js.map +1 -0
- package/dist/{LabelvaluelimitscolumnWidget-D0ltQ9Ta.js → LabelvaluelimitscolumnWidget-BK6_31pC.js} +12 -12
- package/dist/LabelvaluelimitscolumnWidget-BK6_31pC.js.map +1 -0
- package/dist/LabelvaluelimitscolumnWidget-C1aqkXh5.cjs +2 -0
- package/dist/LabelvaluelimitscolumnWidget-C1aqkXh5.cjs.map +1 -0
- package/dist/{LabelvaluerangebarWidget-O8IHjvHs.js → LabelvaluerangebarWidget-DR7C8gqw.js} +6 -6
- package/dist/{LabelvaluerangebarWidget-O8IHjvHs.js.map → LabelvaluerangebarWidget-DR7C8gqw.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-B6_alHq4.cjs → LabelvaluerangebarWidget-a8u5LXBD.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-B6_alHq4.cjs.map → LabelvaluerangebarWidget-a8u5LXBD.cjs.map} +1 -1
- package/dist/Layout-B_Hgw3gd.js +36 -0
- package/dist/Layout-B_Hgw3gd.js.map +1 -0
- package/dist/Layout-CVGghwYm.cjs +2 -0
- package/dist/Layout-CVGghwYm.cjs.map +1 -0
- package/dist/{LedWidget-DUvJ2v8k.js → LedWidget-CiAVs2tj.js} +46 -39
- package/dist/LedWidget-CiAVs2tj.js.map +1 -0
- package/dist/LedWidget-Cmy47xfg.cjs +2 -0
- package/dist/LedWidget-Cmy47xfg.cjs.map +1 -0
- package/dist/LimitsBar-DTtMywOw.cjs +2 -0
- package/dist/LimitsBar-DTtMywOw.cjs.map +1 -0
- package/dist/LimitsBar-_UQG-M6e.js +134 -0
- package/dist/LimitsBar-_UQG-M6e.js.map +1 -0
- package/dist/LimitsbarWidget-CIwcOhC8.js +65 -0
- package/dist/LimitsbarWidget-CIwcOhC8.js.map +1 -0
- package/dist/LimitsbarWidget-CYm_f1FN.cjs +2 -0
- package/dist/LimitsbarWidget-CYm_f1FN.cjs.map +1 -0
- package/dist/{LimitscolorWidget-FXT0ZPPH.js → LimitscolorWidget-CGPfJwvT.js} +14 -13
- package/dist/LimitscolorWidget-CGPfJwvT.js.map +1 -0
- package/dist/LimitscolorWidget-oH6NGl1C.cjs +2 -0
- package/dist/LimitscolorWidget-oH6NGl1C.cjs.map +1 -0
- package/dist/{LimitscolumnWidget-CjBy-CCI.js → LimitscolumnWidget-Bj_UPEC8.js} +3 -3
- package/dist/{LimitscolumnWidget-CjBy-CCI.js.map → LimitscolumnWidget-Bj_UPEC8.js.map} +1 -1
- package/dist/{LimitscolumnWidget-C5yozwf0.cjs → LimitscolumnWidget-CnGOCckG.cjs} +2 -2
- package/dist/{LimitscolumnWidget-C5yozwf0.cjs.map → LimitscolumnWidget-CnGOCckG.cjs.map} +1 -1
- package/dist/{LinegraphWidget-lmu_tFKd.js → LinegraphWidget-DccnHbWa.js} +5 -5
- package/dist/{LinegraphWidget-lmu_tFKd.js.map → LinegraphWidget-DccnHbWa.js.map} +1 -1
- package/dist/{LinegraphWidget-dO_B0T3E.cjs → LinegraphWidget-zHs3NG-6.cjs} +2 -2
- package/dist/{LinegraphWidget-dO_B0T3E.cjs.map → LinegraphWidget-zHs3NG-6.cjs.map} +1 -1
- package/dist/MatrixbycolumnsWidget-Dd-udu5V.cjs +2 -0
- package/dist/MatrixbycolumnsWidget-Dd-udu5V.cjs.map +1 -0
- package/dist/MatrixbycolumnsWidget-U_NZ6aW-.js +83 -0
- package/dist/MatrixbycolumnsWidget-U_NZ6aW-.js.map +1 -0
- package/dist/MicroservicesTab-DG3rdksb.js +203 -0
- package/dist/MicroservicesTab-DG3rdksb.js.map +1 -0
- package/dist/MicroservicesTab-DXgSxZ0K.cjs +2 -0
- package/dist/MicroservicesTab-DXgSxZ0K.cjs.map +1 -0
- package/dist/{Openc3Screen-DcIIUO63.js → Openc3Screen-CDwAWaTl.js} +56 -34
- package/dist/Openc3Screen-CDwAWaTl.js.map +1 -0
- package/dist/{Openc3Screen-CzD9BB0M.cjs → Openc3Screen-CKs-49JN.cjs} +5 -5
- package/dist/Openc3Screen-CKs-49JN.cjs.map +1 -0
- package/dist/OutputDialog-D2YCbR20.cjs +2 -0
- package/dist/OutputDialog-D2YCbR20.cjs.map +1 -0
- package/dist/{OutputDialog-CNH74LpJ.js → OutputDialog-Di-pSmJE.js} +24 -17
- package/dist/OutputDialog-Di-pSmJE.js.map +1 -0
- package/dist/{PackagesTab-BE6W7Aru.js → PackagesTab-Bui5q3rX.js} +4 -4
- package/dist/{PackagesTab-BE6W7Aru.js.map → PackagesTab-Bui5q3rX.js.map} +1 -1
- package/dist/{PackagesTab-PEPT4CQu.cjs → PackagesTab-C-fV9yxw.cjs} +2 -2
- package/dist/{PackagesTab-PEPT4CQu.cjs.map → PackagesTab-C-fV9yxw.cjs.map} +1 -1
- package/dist/{PluginsTab-DXf9zX0h.cjs → PluginsTab-DxxlKeVx.cjs} +2 -2
- package/dist/PluginsTab-DxxlKeVx.cjs.map +1 -0
- package/dist/{PluginsTab-B_Pf2A9c.js → PluginsTab-zR9eZuvc.js} +8 -8
- package/dist/PluginsTab-zR9eZuvc.js.map +1 -0
- package/dist/ProgressbarWidget-Cxvwcfgn.cjs +2 -0
- package/dist/ProgressbarWidget-Cxvwcfgn.cjs.map +1 -0
- package/dist/{ProgressbarWidget-B5WN658S.js → ProgressbarWidget-D4JtVzyk.js} +7 -5
- package/dist/ProgressbarWidget-D4JtVzyk.js.map +1 -0
- package/dist/{RadiobuttonWidget-B_3nys46.js → RadiobuttonWidget-BUaW7pRx.js} +11 -10
- package/dist/{RadiobuttonWidget-B_3nys46.js.map → RadiobuttonWidget-BUaW7pRx.js.map} +1 -1
- package/dist/RadiobuttonWidget-Ccgftl13.cjs +2 -0
- package/dist/{RadiobuttonWidget-DkG9GtAy.cjs.map → RadiobuttonWidget-Ccgftl13.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-BnUjXU28.cjs → RadiogroupWidget-CSxjpxCr.cjs} +2 -2
- package/dist/{RadiogroupWidget-BnUjXU28.cjs.map → RadiogroupWidget-CSxjpxCr.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-BiMIL9li.js → RadiogroupWidget-NIv4CaUQ.js} +6 -6
- package/dist/{RadiogroupWidget-BiMIL9li.js.map → RadiogroupWidget-NIv4CaUQ.js.map} +1 -1
- package/dist/{RangebarWidget-Dn0GASdi.js → RangebarWidget-1-CsFpcl.js} +12 -11
- package/dist/RangebarWidget-1-CsFpcl.js.map +1 -0
- package/dist/RangebarWidget-BtxfPo-U.cjs +2 -0
- package/dist/RangebarWidget-BtxfPo-U.cjs.map +1 -0
- package/dist/{RedisTab-C1yaDRSt.cjs → RedisTab-DOozcC9a.cjs} +2 -2
- package/dist/{RedisTab-C1yaDRSt.cjs.map → RedisTab-DOozcC9a.cjs.map} +1 -1
- package/dist/{RedisTab-BsKrL4fD.js → RedisTab-DuO-zUV3.js} +3 -3
- package/dist/{RedisTab-BsKrL4fD.js.map → RedisTab-DuO-zUV3.js.map} +1 -1
- package/dist/RollupWidget-CQxl1mlr.cjs +2 -0
- package/dist/RollupWidget-CQxl1mlr.cjs.map +1 -0
- package/dist/{RollupWidget-b62qcG5K.js → RollupWidget-ChasTJYP.js} +15 -13
- package/dist/RollupWidget-ChasTJYP.js.map +1 -0
- package/dist/{RoutersTab-EHz4wDCn.js → RoutersTab-C0UHSj-S.js} +4 -4
- package/dist/{RoutersTab-EHz4wDCn.js.map → RoutersTab-C0UHSj-S.js.map} +1 -1
- package/dist/{RoutersTab-8wGbiPCk.cjs → RoutersTab-DgWAXGUv.cjs} +2 -2
- package/dist/{RoutersTab-8wGbiPCk.cjs.map → RoutersTab-DgWAXGUv.cjs.map} +1 -1
- package/dist/{ScriptChooser-DMPY3m8a.js → ScriptChooser-C5HHbbcP.js} +118 -93
- package/dist/ScriptChooser-C5HHbbcP.js.map +1 -0
- package/dist/ScriptChooser-D1dddugi.cjs +2 -0
- package/dist/ScriptChooser-D1dddugi.cjs.map +1 -0
- package/dist/ScrollwindowWidget-Bkyjw0Qt.cjs +2 -0
- package/dist/ScrollwindowWidget-Bkyjw0Qt.cjs.map +1 -0
- package/dist/ScrollwindowWidget-Y2J758y6.js +69 -0
- package/dist/ScrollwindowWidget-Y2J758y6.js.map +1 -0
- package/dist/{SecretsTab-DSMFodJM.cjs → SecretsTab-Ds3kGOmd.cjs} +2 -2
- package/dist/{SecretsTab-DSMFodJM.cjs.map → SecretsTab-Ds3kGOmd.cjs.map} +1 -1
- package/dist/{SecretsTab-Cbt_r-1I.js → SecretsTab-c5g8Zk4g.js} +3 -3
- package/dist/{SecretsTab-Cbt_r-1I.js.map → SecretsTab-c5g8Zk4g.js.map} +1 -1
- package/dist/{SettingsTab-L5xbCAW_.js → SettingsTab-CTd3_Ipy.js} +74 -70
- package/dist/SettingsTab-CTd3_Ipy.js.map +1 -0
- package/dist/SettingsTab-DMPRJELP.cjs +3 -0
- package/dist/SettingsTab-DMPRJELP.cjs.map +1 -0
- package/dist/SignalWidget-BkTXZpGV.cjs +2 -0
- package/dist/SignalWidget-BkTXZpGV.cjs.map +1 -0
- package/dist/{SignalWidget-CLi6qask.js → SignalWidget-DFhHDicI.js} +5 -3
- package/dist/SignalWidget-DFhHDicI.js.map +1 -0
- package/dist/{SimpleTextDialog-8vDPDt6X.js → SimpleTextDialog-CXIEKlX0.js} +26 -19
- package/dist/SimpleTextDialog-CXIEKlX0.js.map +1 -0
- package/dist/SimpleTextDialog-Dv5ypyUQ.cjs +2 -0
- package/dist/SimpleTextDialog-Dv5ypyUQ.cjs.map +1 -0
- package/dist/{SpacerWidget-BCA3gdap.js → SpacerWidget-D4KojaGb.js} +3 -3
- package/dist/{SpacerWidget-BCA3gdap.js.map → SpacerWidget-D4KojaGb.js.map} +1 -1
- package/dist/{SpacerWidget-BJpqoaeP.cjs → SpacerWidget-HsSCc07C.cjs} +2 -2
- package/dist/{SpacerWidget-BJpqoaeP.cjs.map → SpacerWidget-HsSCc07C.cjs.map} +1 -1
- package/dist/SparklineWidget-BdRM-ymk.cjs +2 -0
- package/dist/SparklineWidget-BdRM-ymk.cjs.map +1 -0
- package/dist/{SparklineWidget-D8mb4zLt.js → SparklineWidget-DMHFzw8L.js} +11 -11
- package/dist/SparklineWidget-DMHFzw8L.js.map +1 -0
- package/dist/TabbookWidget-NVLYMdFG.js +96 -0
- package/dist/TabbookWidget-NVLYMdFG.js.map +1 -0
- package/dist/TabbookWidget-NmIK-Lgf.cjs +2 -0
- package/dist/TabbookWidget-NmIK-Lgf.cjs.map +1 -0
- package/dist/TargetPacketItemChooser-B0IVMSib.cjs +2 -0
- package/dist/TargetPacketItemChooser-B0IVMSib.cjs.map +1 -0
- package/dist/{TargetPacketItemChooser-DGcXvdTX.js → TargetPacketItemChooser-D5h9Octy.js} +83 -67
- package/dist/TargetPacketItemChooser-D5h9Octy.js.map +1 -0
- package/dist/{TargetsTab-C4tQ1auc.cjs → TargetsTab-JLjpJ1wn.cjs} +2 -2
- package/dist/{TargetsTab-C4tQ1auc.cjs.map → TargetsTab-JLjpJ1wn.cjs.map} +1 -1
- package/dist/{TargetsTab-c-qMsGHh.js → TargetsTab-b35HgnRl.js} +4 -4
- package/dist/{TargetsTab-c-qMsGHh.js.map → TargetsTab-b35HgnRl.js.map} +1 -1
- package/dist/{TextBoxDialog-Xs-gitZd.js → TextBoxDialog-CJHrE2Sh.js} +29 -22
- package/dist/TextBoxDialog-CJHrE2Sh.js.map +1 -0
- package/dist/TextBoxDialog-DzCvdsJj.cjs +2 -0
- package/dist/TextBoxDialog-DzCvdsJj.cjs.map +1 -0
- package/dist/{TextboxWidget-CR05wO-t.js → TextboxWidget-CrMYPQIF.js} +19 -19
- package/dist/{TextboxWidget-CR05wO-t.js.map → TextboxWidget-CrMYPQIF.js.map} +1 -1
- package/dist/{TextboxWidget-BcRfHcF6.cjs → TextboxWidget-xk3OFSUZ.cjs} +2 -2
- package/dist/{TextboxWidget-BcRfHcF6.cjs.map → TextboxWidget-xk3OFSUZ.cjs.map} +1 -1
- package/dist/{TextfieldWidget-Be_Pz2bF.js → TextfieldWidget-DMBQwtnb.js} +5 -5
- package/dist/{TextfieldWidget-Be_Pz2bF.js.map → TextfieldWidget-DMBQwtnb.js.map} +1 -1
- package/dist/{TextfieldWidget-Ct1hZr2M.cjs → TextfieldWidget-DnnKM6vS.cjs} +2 -2
- package/dist/{TextfieldWidget-Ct1hZr2M.cjs.map → TextfieldWidget-DnnKM6vS.cjs.map} +1 -1
- package/dist/{TimeWidget-Dy8zpkC6.js → TimeWidget-CWLJZ2bt.js} +3 -3
- package/dist/{TimeWidget-Dy8zpkC6.js.map → TimeWidget-CWLJZ2bt.js.map} +1 -1
- package/dist/{TimeWidget-3M7CQ893.cjs → TimeWidget-W-flXfLb.cjs} +2 -2
- package/dist/{TimeWidget-3M7CQ893.cjs.map → TimeWidget-W-flXfLb.cjs.map} +1 -1
- package/dist/{TitleWidget-C1qzja9l.cjs → TitleWidget-CfFyUkSu.cjs} +2 -2
- package/dist/{TitleWidget-C1qzja9l.cjs.map → TitleWidget-CfFyUkSu.cjs.map} +1 -1
- package/dist/{TitleWidget-BcmxUDzM.js → TitleWidget-V1FGI8l3.js} +3 -3
- package/dist/{TitleWidget-BcmxUDzM.js.map → TitleWidget-V1FGI8l3.js.map} +1 -1
- package/dist/{ToolsTab-Buklih4C.js → ToolsTab-7qOQPnN3.js} +4 -4
- package/dist/{ToolsTab-Buklih4C.js.map → ToolsTab-7qOQPnN3.js.map} +1 -1
- package/dist/{ToolsTab-CbY2K86w.cjs → ToolsTab-jUNdj09m.cjs} +2 -2
- package/dist/{ToolsTab-CbY2K86w.cjs.map → ToolsTab-jUNdj09m.cjs.map} +1 -1
- package/dist/{TopBar-D4C9DJcu.js → TopBar-BkwvK0oj.js} +3 -3
- package/dist/{TopBar-D4C9DJcu.js.map → TopBar-BkwvK0oj.js.map} +1 -1
- package/dist/{TopBar-HxaiWynT.cjs → TopBar-DdOFDiCo.cjs} +2 -2
- package/dist/{TopBar-HxaiWynT.cjs.map → TopBar-DdOFDiCo.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-D0AGxldj.js → UpgradeToEnterpriseDialog-CEUcvlkx.js} +16 -13
- package/dist/UpgradeToEnterpriseDialog-CEUcvlkx.js.map +1 -0
- package/dist/UpgradeToEnterpriseDialog-CP-jJxU4.cjs +2 -0
- package/dist/UpgradeToEnterpriseDialog-CP-jJxU4.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs} +77 -77
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js} +5 -5
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js.map} +1 -1
- package/dist/{VWidget-DhGLFGS2.cjs → VWidget-BJArPtqI.cjs} +2 -2
- package/dist/{VWidget-DhGLFGS2.cjs.map → VWidget-BJArPtqI.cjs.map} +1 -1
- package/dist/{VWidget-CBmUpKSV.js → VWidget-rAFU-0vj.js} +3 -3
- package/dist/{VWidget-CBmUpKSV.js.map → VWidget-rAFU-0vj.js.map} +1 -1
- package/dist/ValueWidget-BI3uXmda.js +138 -0
- package/dist/ValueWidget-BI3uXmda.js.map +1 -0
- package/dist/ValueWidget-CwuH7beM.cjs +2 -0
- package/dist/ValueWidget-CwuH7beM.cjs.map +1 -0
- package/dist/{ValuelimitsbarWidget-BdY02gqc.js → ValuelimitsbarWidget-BGSJLpw4.js} +11 -11
- package/dist/{ValuelimitsbarWidget-BdY02gqc.js.map → ValuelimitsbarWidget-BGSJLpw4.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-KsFz7ipK.cjs → ValuelimitsbarWidget-BSkGhA_y.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-KsFz7ipK.cjs.map → ValuelimitsbarWidget-BSkGhA_y.cjs.map} +1 -1
- package/dist/ValuelimitscolumnWidget-BXdPahDO.cjs +2 -0
- package/dist/ValuelimitscolumnWidget-BXdPahDO.cjs.map +1 -0
- package/dist/{ValuelimitscolumnWidget-CuJ6rqtC.js → ValuelimitscolumnWidget-CaNjHy4v.js} +11 -11
- package/dist/ValuelimitscolumnWidget-CaNjHy4v.js.map +1 -0
- package/dist/{ValuerangebarWidget-C5rolGDi.js → ValuerangebarWidget-Do40-aaL.js} +6 -6
- package/dist/{ValuerangebarWidget-C5rolGDi.js.map → ValuerangebarWidget-Do40-aaL.js.map} +1 -1
- package/dist/{ValuerangebarWidget-CDJeamPr.cjs → ValuerangebarWidget-DvWGqBNM.cjs} +2 -2
- package/dist/{ValuerangebarWidget-CDJeamPr.cjs.map → ValuerangebarWidget-DvWGqBNM.cjs.map} +1 -1
- package/dist/VerticalWidget-DZqghqIm.js +68 -0
- package/dist/VerticalWidget-DZqghqIm.js.map +1 -0
- package/dist/VerticalWidget-y238HI2A.cjs +2 -0
- package/dist/VerticalWidget-y238HI2A.cjs.map +1 -0
- package/dist/{VerticalboxWidget-D-3H1PYU.cjs → VerticalboxWidget--dgKnG5Z.cjs} +2 -2
- package/dist/{VerticalboxWidget-D-3H1PYU.cjs.map → VerticalboxWidget--dgKnG5Z.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-CzDgveBl.js → VerticalboxWidget-CQ__4FcS.js} +6 -6
- package/dist/{VerticalboxWidget-CzDgveBl.js.map → VerticalboxWidget-CQ__4FcS.js.map} +1 -1
- package/dist/{Widget-VCl8Ts8s.js → Widget-6-Nvewdp.js} +27 -19
- package/dist/Widget-6-Nvewdp.js.map +1 -0
- package/dist/Widget-DdxHKVWn.cjs +2 -0
- package/dist/Widget-DdxHKVWn.cjs.map +1 -0
- package/dist/components.cjs +3 -3
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +96 -88
- package/dist/components.js.map +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +6 -4
- package/dist/icons.js.map +1 -1
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +23 -17
- package/dist/plugins.js.map +1 -1
- package/dist/{settings-sg_XHXQ-.cjs → settings-BCE3SW-9.cjs} +2 -2
- package/dist/{settings-sg_XHXQ-.cjs.map → settings-BCE3SW-9.cjs.map} +1 -1
- package/dist/{settings-DlX9yvJJ.js → settings-CHPWZcnU.js} +2 -2
- package/dist/{settings-DlX9yvJJ.js.map → settings-CHPWZcnU.js.map} +1 -1
- package/dist/tools/admin.cjs +1 -1
- package/dist/tools/admin.cjs.map +1 -1
- package/dist/tools/admin.js +72 -64
- package/dist/tools/admin.js.map +1 -1
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.js +38 -37
- package/dist/tools/base.js.map +1 -1
- 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 +397 -339
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/useContainerHeight-BAw05dIa.js.map +1 -1
- package/dist/useContainerHeight-BEd4f2Lr.cjs.map +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +118 -116
- package/dist/widgets.js.map +1 -1
- package/package.json +5 -5
- package/dist/BarColumn-BZSUr33b.cjs +0 -2
- package/dist/BarColumn-BZSUr33b.cjs.map +0 -1
- package/dist/BarColumn-XWs-3Cwb.js.map +0 -1
- package/dist/ButtonWidget-BBMDS_YF.cjs.map +0 -1
- package/dist/ButtonWidget-BaSvtElA.js.map +0 -1
- package/dist/CanvasimageWidget-Dk15uRRu.cjs +0 -2
- package/dist/CanvasimageWidget-Dk15uRRu.cjs.map +0 -1
- package/dist/CanvasimageWidget-YP1pCtvb.js.map +0 -1
- package/dist/CanvasimagevalueWidget-BQHjJCuq.cjs +0 -2
- package/dist/CanvasimagevalueWidget-BQHjJCuq.cjs.map +0 -1
- package/dist/CanvasimagevalueWidget-CjVHb2uj.js.map +0 -1
- package/dist/CanvaslabelvalueWidget-BYmsu9r_.cjs +0 -2
- package/dist/CanvaslabelvalueWidget-BYmsu9r_.cjs.map +0 -1
- package/dist/CanvaslabelvalueWidget-Dyo_ogHn.js.map +0 -1
- package/dist/CanvaslinevalueWidget-BOZyJuLE.js.map +0 -1
- package/dist/CanvaslinevalueWidget-DM5c-ciY.cjs +0 -2
- package/dist/CanvaslinevalueWidget-DM5c-ciY.cjs.map +0 -1
- package/dist/CheckbuttonWidget-BSvTWD3x.cjs +0 -2
- package/dist/ComboboxWidget-B_KAnIVB.cjs +0 -2
- package/dist/CriticalCmdDialog-BtzhxuZi.js.map +0 -1
- package/dist/CriticalCmdDialog-CeohXoAG.cjs +0 -2
- package/dist/CriticalCmdDialog-CeohXoAG.cjs.map +0 -1
- package/dist/CustomIcon-eie3rPKh.cjs +0 -2
- package/dist/DetailsDialog-Bc_VEG95.cjs +0 -2
- package/dist/DetailsDialog-Bc_VEG95.cjs.map +0 -1
- package/dist/DetailsDialog-Bq7SS7bc.js.map +0 -1
- package/dist/DynamicWidget-BNfJRfR5.cjs +0 -2
- package/dist/DynamicWidget-BNfJRfR5.cjs.map +0 -1
- package/dist/DynamicWidget-DHL7pbgW.js.map +0 -1
- package/dist/EventListDialog-Dycx70tY.cjs +0 -2
- package/dist/EventListDialog-Dycx70tY.cjs.map +0 -1
- package/dist/EventListDialog-jdNF3szO.js.map +0 -1
- package/dist/Graph-B7KPo9Ul.js.map +0 -1
- package/dist/Graph-C9FS6KR3.cjs +0 -2
- package/dist/Graph-C9FS6KR3.cjs.map +0 -1
- package/dist/HorizontalWidget-CN6goWHY.cjs +0 -2
- package/dist/HorizontalWidget-CN6goWHY.cjs.map +0 -1
- package/dist/HorizontalWidget-DbEQYjFC.js +0 -41
- package/dist/HorizontalWidget-DbEQYjFC.js.map +0 -1
- package/dist/ImageviewerWidget-6d6Kl3W_.js.map +0 -1
- package/dist/ImageviewerWidget-CULuNsiD.cjs +0 -2
- package/dist/ImageviewerWidget-CULuNsiD.cjs.map +0 -1
- package/dist/LabelsparklineWidget-Cbug97Ne.cjs +0 -2
- package/dist/LabelsparklineWidget-Cbug97Ne.cjs.map +0 -1
- package/dist/LabelsparklineWidget-CdZ_pM2B.js.map +0 -1
- package/dist/LabelvaluelimitsbarWidget-DTcYbEQS.js.map +0 -1
- package/dist/LabelvaluelimitsbarWidget-DbO_Q5ex.cjs.map +0 -1
- package/dist/LabelvaluelimitscolumnWidget-BMSwK1Ys.cjs +0 -2
- package/dist/LabelvaluelimitscolumnWidget-BMSwK1Ys.cjs.map +0 -1
- package/dist/LabelvaluelimitscolumnWidget-D0ltQ9Ta.js.map +0 -1
- package/dist/Layout-DDewLzbI.cjs +0 -2
- package/dist/Layout-DDewLzbI.cjs.map +0 -1
- package/dist/Layout-DW5yNlp7.js +0 -14
- package/dist/Layout-DW5yNlp7.js.map +0 -1
- package/dist/LedWidget-Cif7vC7q.cjs +0 -2
- package/dist/LedWidget-Cif7vC7q.cjs.map +0 -1
- package/dist/LedWidget-DUvJ2v8k.js.map +0 -1
- package/dist/LimitsbarWidget-BehZv0-k.js +0 -72
- package/dist/LimitsbarWidget-BehZv0-k.js.map +0 -1
- package/dist/LimitsbarWidget-BodNPbuH.cjs +0 -2
- package/dist/LimitsbarWidget-BodNPbuH.cjs.map +0 -1
- package/dist/LimitscolorWidget-DPhymKgB.cjs +0 -2
- package/dist/LimitscolorWidget-DPhymKgB.cjs.map +0 -1
- package/dist/LimitscolorWidget-FXT0ZPPH.js.map +0 -1
- package/dist/MatrixbycolumnsWidget-BLkwvpMk.cjs +0 -2
- package/dist/MatrixbycolumnsWidget-BLkwvpMk.cjs.map +0 -1
- package/dist/MatrixbycolumnsWidget-CCF7rCkV.js +0 -56
- package/dist/MatrixbycolumnsWidget-CCF7rCkV.js.map +0 -1
- package/dist/MicroservicesTab-rxOATXLO.js +0 -219
- package/dist/MicroservicesTab-rxOATXLO.js.map +0 -1
- package/dist/MicroservicesTab-uesXuuM4.cjs +0 -2
- package/dist/MicroservicesTab-uesXuuM4.cjs.map +0 -1
- package/dist/Openc3Screen-CzD9BB0M.cjs.map +0 -1
- package/dist/Openc3Screen-DcIIUO63.js.map +0 -1
- package/dist/OutputDialog-CNH74LpJ.js.map +0 -1
- package/dist/OutputDialog-QIabyvK1.cjs +0 -2
- package/dist/OutputDialog-QIabyvK1.cjs.map +0 -1
- package/dist/PluginsTab-B_Pf2A9c.js.map +0 -1
- package/dist/PluginsTab-DXf9zX0h.cjs.map +0 -1
- package/dist/ProgressbarWidget-B5WN658S.js.map +0 -1
- package/dist/ProgressbarWidget-D2NHSJny.cjs +0 -2
- package/dist/ProgressbarWidget-D2NHSJny.cjs.map +0 -1
- package/dist/RadiobuttonWidget-DkG9GtAy.cjs +0 -2
- package/dist/RangebarWidget-CJgtAk5z.cjs +0 -2
- package/dist/RangebarWidget-CJgtAk5z.cjs.map +0 -1
- package/dist/RangebarWidget-Dn0GASdi.js.map +0 -1
- package/dist/RollupWidget-B2pGGoET.cjs +0 -2
- package/dist/RollupWidget-B2pGGoET.cjs.map +0 -1
- package/dist/RollupWidget-b62qcG5K.js.map +0 -1
- package/dist/ScriptChooser-CtV7dDJS.cjs +0 -2
- package/dist/ScriptChooser-CtV7dDJS.cjs.map +0 -1
- package/dist/ScriptChooser-DMPY3m8a.js.map +0 -1
- package/dist/ScrollwindowWidget-ByJRy528.cjs +0 -2
- package/dist/ScrollwindowWidget-ByJRy528.cjs.map +0 -1
- package/dist/ScrollwindowWidget-Dn29gs-U.js +0 -45
- package/dist/ScrollwindowWidget-Dn29gs-U.js.map +0 -1
- package/dist/SettingsTab-8Zeg3G0C.cjs +0 -3
- package/dist/SettingsTab-8Zeg3G0C.cjs.map +0 -1
- package/dist/SettingsTab-L5xbCAW_.js.map +0 -1
- package/dist/SignalWidget-CEmQymzQ.cjs +0 -2
- package/dist/SignalWidget-CEmQymzQ.cjs.map +0 -1
- package/dist/SignalWidget-CLi6qask.js.map +0 -1
- package/dist/SimpleTextDialog-8vDPDt6X.js.map +0 -1
- package/dist/SimpleTextDialog-CJ8pLBGz.cjs +0 -2
- package/dist/SimpleTextDialog-CJ8pLBGz.cjs.map +0 -1
- package/dist/SparklineWidget-CIkMm4O-.cjs +0 -2
- package/dist/SparklineWidget-CIkMm4O-.cjs.map +0 -1
- package/dist/SparklineWidget-D8mb4zLt.js.map +0 -1
- package/dist/TabbookWidget-Bkt4g02d.js +0 -66
- package/dist/TabbookWidget-Bkt4g02d.js.map +0 -1
- package/dist/TabbookWidget-DqcScWwW.cjs +0 -2
- package/dist/TabbookWidget-DqcScWwW.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-Cm6mQvhI.cjs +0 -2
- package/dist/TargetPacketItemChooser-Cm6mQvhI.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-DGcXvdTX.js.map +0 -1
- package/dist/TextBoxDialog-DXG7H7kQ.cjs +0 -2
- package/dist/TextBoxDialog-DXG7H7kQ.cjs.map +0 -1
- package/dist/TextBoxDialog-Xs-gitZd.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog-D0AGxldj.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog-D8BkzmVD.cjs +0 -2
- package/dist/UpgradeToEnterpriseDialog-D8BkzmVD.cjs.map +0 -1
- package/dist/ValueWidget-BxWrHkYY.js +0 -118
- package/dist/ValueWidget-BxWrHkYY.js.map +0 -1
- package/dist/ValueWidget-yuZ8tPzG.cjs +0 -2
- package/dist/ValueWidget-yuZ8tPzG.cjs.map +0 -1
- package/dist/ValuelimitscolumnWidget-B0HGnyS5.cjs +0 -2
- package/dist/ValuelimitscolumnWidget-B0HGnyS5.cjs.map +0 -1
- package/dist/ValuelimitscolumnWidget-CuJ6rqtC.js.map +0 -1
- package/dist/VerticalWidget-DsnEzKZ2.js +0 -40
- package/dist/VerticalWidget-DsnEzKZ2.js.map +0 -1
- package/dist/VerticalWidget-wuRCrd7Q.cjs +0 -2
- package/dist/VerticalWidget-wuRCrd7Q.cjs.map +0 -1
- package/dist/Widget-CKianvfR.cjs +0 -2
- package/dist/Widget-CKianvfR.cjs.map +0 -1
- package/dist/Widget-VCl8Ts8s.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventListDialog-BshKrOuQ.js","sources":["../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/add.js","../src/tools/calendar/CreateDialog.js","../src/tools/calendar/ActivityCreateDialog.vue","../src/tools/calendar/ColorSelectForm.vue","../src/tools/calendar/DeleteItem.js","../src/tools/calendar/MetadataInputForm.vue","../src/tools/calendar/MetadataCreateDialog.vue","../src/tools/calendar/NoteCreateDialog.vue","../src/tools/calendar/EventListDialog.vue"],"sourcesContent":["import { addDays } from \"./addDays.js\";\nimport { addMonths } from \"./addMonths.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link add} function options.\n */\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @typeParam DateType - The `Date` type the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param duration - The object with years, months, weeks, days, hours, minutes, and seconds to be added.\n * @param options - An object with options\n *\n * @returns The new date with the seconds added\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport function add(date, duration, options) {\n const {\n years = 0,\n months = 0,\n weeks = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n } = duration;\n\n // Add years and months\n const _date = toDate(date, options?.in);\n const dateWithMonths =\n months || years ? addMonths(_date, months + years * 12) : _date;\n\n // Add weeks and days\n const dateWithDays =\n days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes, and seconds\n const minutesToAdd = minutes + hours * 60;\n const secondsToAdd = seconds + minutesToAdd * 60;\n const msToAdd = secondsToAdd * 1000;\n\n return constructFrom(options?.in || date, +dateWithDays + msToAdd);\n}\n\n// Fallback for modularized imports:\nexport default add;\n","/*\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { add, format, parse } from 'date-fns'\n\nexport default {\n props: {\n date: {\n type: String,\n },\n time: {\n type: String,\n },\n timeZone: {\n type: String,\n },\n },\n data() {\n return {\n startDate: '',\n startTime: '',\n endDate: '',\n endTime: '',\n }\n },\n methods: {\n calcStartDateTime: function () {\n if (this.date) {\n this.startDate = this.date\n this.endDate = this.date\n } else {\n this.startDate = format(new Date(), 'yyyy-MM-dd')\n this.endDate = format(new Date(), 'yyyy-MM-dd')\n }\n let ms = 1000 * 60 * 30 // 30 min\n let start = null\n if (this.time) {\n start = parse(this.time, 'HH:mm:ss', new Date())\n // Round down so the start is the beginning of the time box where they clicked\n start = new Date(Math.floor(start.getTime() / ms) * ms)\n } else {\n // Round up so the start is in the future\n start = new Date(Math.ceil(new Date().getTime() / ms) * ms)\n }\n this.startTime = format(start, 'HH:mm:ss')\n this.endTime = format(add(start, { minutes: 30 }), 'HH:mm:ss')\n },\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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=\"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 <v-text-field\n v-model=\"startTime\"\n type=\"time\"\n step=\"1\"\n label=\"Start Time\"\n 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 <v-text-field\n v-model=\"endTime\"\n type=\"time\"\n step=\"1\"\n label=\"End Time\"\n 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 <v-text-field\n v-model=\"recurringEndTime\"\n type=\"time\"\n step=\"1\"\n label=\"End Time\"\n 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 @file=\"fileHandler\" />\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 { EnvironmentChooser, ScriptChooser, CommandEditor } from '@/components'\nimport { TimeFilters } from '@/util'\nimport CreateDialog from './CreateDialog'\n\nexport default {\n components: {\n EnvironmentChooser,\n ScriptChooser,\n CommandEditor,\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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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=\"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 <v-text-field\n v-model=\"startTime\"\n type=\"time\"\n step=\"1\"\n label=\"Start Time\"\n 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 ColorSelectForm from './ColorSelectForm.vue'\nimport CreateDialog from './CreateDialog'\nimport MetadataInputForm from './MetadataInputForm.vue'\n\nexport default {\n components: {\n ColorSelectForm,\n MetadataInputForm,\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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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=\"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 <v-text-field\n v-model=\"startTime\"\n type=\"time\"\n step=\"1\"\n label=\"Start Time\"\n 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 <v-text-field\n v-model=\"endTime\"\n type=\"time\"\n step=\"1\"\n label=\"End Time\"\n 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 ColorSelectForm from './ColorSelectForm.vue'\nimport CreateDialog from './CreateDialog'\n\nexport default {\n components: {\n ColorSelectForm,\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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"80vw\" @keydown.esc=\"close\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"newMetadata\">Metadata</span><span v-else>Events</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-metadata-icon\"\n aria-label=\"Close Dialog\"\n @click=\"close\"\n />\n </v-toolbar>\n <v-card-title>\n <v-row class=\"pa-3\">\n <span v-if=\"newMetadata\">Metadata</span><span v-else>Events</span>\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n single-line\n hide-details\n />\n </v-row>\n </v-card-title>\n <v-data-table\n :headers=\"eventHeaders\"\n :items=\"localEvents\"\n :search=\"search\"\n >\n <template #no-data>\n <span> No events </span>\n </template>\n <template #item.start=\"{ item }\">\n {{ formatDateTime(item.start, timeZone) }}\n </template>\n <template #item.end=\"{ item }\">\n {{ formatDateTime(item.end, timeZone) }}\n </template>\n <template #item.type=\"{ item }\">\n {{ item.type.charAt(0).toUpperCase() + item.type.slice(1) }}\n </template>\n <template #item.data=\"{ item }\">\n {{ dataFormat(item) }}\n </template>\n <template #item.actions=\"{ item }\">\n <v-btn\n icon=\"mdi-pencil\"\n variant=\"text\"\n size=\"small\"\n class=\"mr-2\"\n data-test=\"edit-event\"\n aria-label=\"Edit Event\"\n @click=\"editAction(item)\"\n />\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n size=\"small\"\n data-test=\"delete-event\"\n aria-label=\"Delete Event\"\n @click=\"deleteAction(item)\"\n />\n </template>\n </v-data-table>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"outlined\" data-test=\"close-event-list\" @click=\"close\">\n Close\n </v-btn>\n <v-btn\n v-if=\"newMetadata\"\n variant=\"flat\"\n data-test=\"new-event\"\n @click=\"showMetadataCreate = true\"\n >\n New Metadata\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n <!-- Edit existing events -->\n <activity-create-dialog\n v-if=\"showActivityUpdate\"\n v-model=\"showActivityUpdate\"\n :activity=\"editActivity\"\n :time-zone=\"timeZone\"\n @update=\"updateActivity\"\n />\n <metadata-create-dialog\n v-if=\"showMetadataUpdate\"\n v-model=\"showMetadataUpdate\"\n :metadata=\"editMetadata\"\n :time-zone=\"timeZone\"\n @update=\"updateMetadata\"\n />\n <note-create-dialog\n v-if=\"showNoteUpdate\"\n v-model=\"showNoteUpdate\"\n :note=\"editNote\"\n :time-zone=\"timeZone\"\n @update=\"updateNote\"\n />\n <!-- Create new metadata -->\n <metadata-create-dialog\n v-if=\"showMetadataCreate\"\n v-model=\"showMetadataCreate\"\n :time-zone=\"timeZone\"\n @update=\"addMetadata\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { TimeFilters } from '@/util'\nimport ActivityCreateDialog from './ActivityCreateDialog.vue'\nimport DeleteItem from './DeleteItem'\nimport MetadataCreateDialog from './MetadataCreateDialog.vue'\nimport NoteCreateDialog from './NoteCreateDialog.vue'\n\nexport default {\n components: {\n ActivityCreateDialog,\n MetadataCreateDialog,\n NoteCreateDialog,\n },\n mixins: [TimeFilters, DeleteItem],\n props: {\n events: {\n type: Array,\n required: true,\n },\n modelValue: {\n type: Boolean,\n required: true,\n },\n timeZone: {\n type: String,\n required: true,\n },\n types: {\n type: Array,\n default: null,\n },\n newMetadata: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue', 'close', 'update'],\n data() {\n return {\n search: '',\n localEvents: [...this.events],\n eventHeaders: [\n { title: 'Start', key: 'start', width: 215 },\n { title: 'Stop', key: 'end', width: 215 },\n { title: 'Type', key: 'type' },\n { title: 'Data', key: 'data' },\n { title: 'Actions', key: 'actions', sortable: false },\n ],\n editActivity: { start: new Date(), end: new Date() },\n editMetadata: { start: new Date(), end: new Date() },\n editNote: { start: new Date(), end: new Date() },\n editIndex: 0,\n showActivityUpdate: false,\n showMetadataUpdate: false,\n showNoteUpdate: false,\n showMetadataCreate: false,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n created: function () {\n // TODO: Switch to vue3 syntax\n // this.$on('delete', (item) => {\n // let index = this.localEvents.findIndex((element) => {\n // return element.type === item.type && element.start === item.start\n // })\n // this.localEvents.splice(index, 1)\n // })\n },\n methods: {\n close() {\n this.$emit('close')\n this.show = false\n },\n dataFormat(event) {\n let data = event.name\n switch (event.type) {\n case 'note':\n data = event.note.description\n break\n case 'metadata':\n let rows = []\n Object.entries(event.metadata.metadata).forEach(([key, value]) =>\n rows.push(`${key}: ${value}`),\n )\n data = rows.join(', ')\n break\n }\n return data\n },\n editAction(item) {\n this.editIndex = this.localEvents.findIndex((element) => {\n return element.type === item.type && element.start === item.start\n })\n switch (item.type) {\n case 'activity':\n this.editActivity = item.activity\n this.showActivityUpdate = true\n break\n case 'metadata':\n this.editMetadata = item.metadata\n this.showMetadataUpdate = true\n break\n case 'note':\n this.editNote = item.note\n this.showNoteUpdate = true\n break\n }\n },\n deleteAction(item) {\n let deleteIndex = this.localEvents.findIndex((element) => {\n return element.type === item.type && element.start === item.start\n })\n let api = null\n let start = null\n let uuid = null\n switch (item.type) {\n case 'activity':\n api = `timeline/${item.activity.name}/activity`\n start = item.activity.start\n uuid = item.activity.uuid\n break\n case 'metadata':\n api = 'metadata'\n start = item.metadata.start\n break\n case 'note':\n api = 'notes'\n start = item.note.start\n break\n }\n\n this.$dialog\n .confirm(\n `Are you sure you want to remove ${item.type} at ${item.start}`,\n {\n okText: 'Delete',\n cancelText: 'Cancel',\n },\n )\n .then((dialog) => {\n this.localEvents.splice(deleteIndex, 1)\n let url = `/openc3-api/${api}/${start}`\n if (uuid) {\n url += `/${uuid}`\n }\n return Api.delete(url)\n })\n .then((response) => {\n this.$emit('update')\n this.$notify.normal({\n title: `Deleted ${item.type}`,\n body: `Deleted ${item.type} at ${start}`,\n })\n })\n .catch((error) => {\n // TODO: It returns true on cancel?\n })\n },\n updateActivity(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].activity = item\n },\n updateMetadata(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].metadata = item\n },\n updateNote(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].note = item\n },\n addMetadata(item) {\n // TODO: This is how Calendar creates new metadata items via makeMetadataEvent\n let metadata = {\n name: 'Metadata',\n start: new Date(item.start * 1000),\n end: new Date(item.start * 1000),\n color: item.color,\n type: item.type,\n timed: true,\n metadata: item,\n }\n this.localEvents.push(metadata)\n },\n },\n}\n</script>\n"],"names":["add","date","duration","options","years","months","weeks","days","hours","minutes","seconds","_date","toDate","dateWithMonths","addMonths","dateWithDays","addDays","minutesToAdd","msToAdd","constructFrom","CreateDialog","format","ms","start","parse","_sfc_main","EnvironmentChooser","ScriptChooser","CommandEditor","TimeFilters","value","now","end","timeline","inputKind","event","sDate","eDate","_a","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_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]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const _=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs"),D=require("./timeFilters-CJFxfjqN.cjs"),e=require("vue"),x=require("./CustomIcon-CEc927h0.cjs"),b=require("./ScriptChooser-D1dddugi.cjs");require("single-spa");const S=require("./parse-DwfgQboe.cjs"),F=require("./addMonths-n1tnl3ab.cjs"),N=require("./format-B22VpiOS.cjs");function K(a,t,i){const{years:d=0,months:o=0,weeks:n=0,days:l=0,hours:s=0,minutes:V=0,seconds:m=0}=t,u=N.toDate(a,i==null?void 0:i.in),p=o||d?F.addMonths(u,o+d*12):u,C=l||n?S.addDays(p,l+n*7):p,w=V+s*60,f=(m+w*60)*1e3;return N.constructFrom(a,+C+f)}const k={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=N.format(new Date,"yyyy-MM-dd"),this.endDate=N.format(new Date,"yyyy-MM-dd"));let a=1e3*60*30,t=null;this.time?(t=S.parse(this.time,"HH:mm:ss",new Date),t=new Date(Math.floor(t.getTime()/a)*a)):t=new Date(Math.ceil(new Date().getTime()/a)*a),this.startTime=N.format(t,"HH:mm:ss"),this.endTime=N.format(K(t,{minutes:30}),"HH:mm:ss")}}},R={components:{EnvironmentChooser:b.EnvironmentChooser,ScriptChooser:b.ScriptChooser,CommandEditor:b.CommandEditor},mixins:[k,D.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(){var a;if(this.dialogStep=1,this.activity){this.timeline=this.activity.name;const t=new Date(this.activity.start*1e3),i=new Date(this.activity.stop*1e3);if(this.startDate=this.formatDate(t,this.timeZone),this.startTime=this.formatTimeHMS(t,this.timeZone),this.endDate=this.formatDate(i,this.timeZone),this.endTime=this.formatTimeHMS(i,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||"",(a=this.activity.recurring)!=null&&a.uuid){this.recurring=!0;const d=new Date(this.activity.recurring.end*1e3);this.recurringEndDate=this.formatDate(d,this.timeZone),this.recurringEndTime=this.formatTimeHMS(d,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?_.fi.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}):_.fi.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},P={key:1},j={class:"pr-2"},L=["textContent"],W={class:"pr-2"},G={key:0},J={key:1,class:"ma-3"},Q={key:2},X=["textContent"],Y={key:0,class:"error-message"},$={class:"flex-grow-1"};function ee(a,t,i,d,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),V=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-row"),u=e.resolveComponent("v-select"),p=e.resolveComponent("v-text-field"),C=e.resolveComponent("v-textarea"),w=e.resolveComponent("v-checkbox"),y=e.resolveComponent("v-col"),f=e.resolveComponent("v-card-text"),h=e.resolveComponent("script-chooser"),v=e.resolveComponent("environment-chooser"),E=e.resolveComponent("v-stepper"),c=e.resolveComponent("v-card"),g=e.resolveComponent("v-dialog"),I=e.resolveComponent("v-card-title"),H=e.resolveComponent("v-icon"),Z=e.resolveComponent("command-editor"),O=e.resolveComponent("v-card-actions");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(g,{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(c,null,{default:e.withCtx(()=>[e.createVNode(V,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.activity?(e.openBlock(),e.createElementBlock("span",z,"Edit Activity")):(e.openBlock(),e.createElementBlock("span",P,"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(E,{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(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",j,[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(p,{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(C,{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(p,{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(p,{modelValue:a.startTime,"onUpdate:modelValue":t[6]||(t[6]=r=>a.startTime=r),type:"time",step:"1",label:"Start Time",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(p,{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(p,{modelValue:a.endTime,"onUpdate:modelValue":t[8]||(t[8]=r=>a.endTime=r),type:"time",step:"1",label:"End Time",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(w,{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(y,null,{default:e.withCtx(()=>[...t[27]||(t[27]=[e.createElementVNode("div",{class:"repeat"},"Repeat every",-1)])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(p,{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(y,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(y,null,{default:e.withCtx(()=>[...t[28]||(t[28]=[e.createElementVNode("div",{class:"repeat"},"Ending",-1)])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(p,{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(y,null,{default:e.withCtx(()=>[e.createVNode(p,{modelValue:o.recurringEndTime,"onUpdate:modelValue":t[13]||(t[13]=r=>o.recurringEndTime=r),type:"time",step:"1",label:"End Time",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,L),[[e.vShow,n.timeError]])]),_:1})])]),_:1})]),"item.2":e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",W,[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",G,[e.createVNode(C,{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",J,[e.createVNode(h,{onFile:n.fileHandler},null,8,["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",Q,[...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,X)]),_: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(g,{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(c,null,{default:e.withCtx(()=>[e.createVNode(I,{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(f,{class:"pa-0"},{default:e.withCtx(()=>[o.dialogError?(e.openBlock(),e.createElementBlock("div",Y,[e.createVNode(H,{class:"mr-2",color:"error"},{default:e.withCtx(()=>[...t[30]||(t[30]=[e.createTextVNode("mdi-alert-circle",-1)])]),_:1}),e.createElementVNode("span",$,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(Z,{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(O,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 U=x._export_sfc(R,[["render",ee],["__scopeId","data-v-57601082"]]),te={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 ae(a,t,i,d,o,n){const l=e.resolveComponent("v-icon"),s=e.resolveComponent("v-list-item"),V=e.resolveComponent("v-select");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(V,{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 T=x._export_sfc(te,[["render",ae]]),B={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(()=>_.fi.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(()=>{})}}},oe={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)}}},ne={scope:"col",class:"text-right",width:"52px"};function ie(a,t,i,d,o,n){const l=e.resolveComponent("v-btn"),s=e.resolveComponent("v-text-field"),V=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(V,{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",ne,[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":p=>m.key=p,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":p=>m.value=p,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:p=>n.rm(u)},null,8,["data-test","onClick"])])]))),128))])]),_:1})])}const M=x._export_sfc(oe,[["render",ie]]),le={components:{ColorSelectForm:T,MetadataInputForm:M},mixins:[k,D.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?_.fi.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}):_.fi.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})}}},re={key:0},se={key:1},de={class:"pa-2"},me={class:"pa-2"},ce={style:{"min-height":"200px"}},ue=["textContent"];function pe(a,t,i,d,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),V=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-row"),u=e.resolveComponent("color-select-form"),p=e.resolveComponent("v-text-field"),C=e.resolveComponent("v-card-text"),w=e.resolveComponent("metadata-input-form"),y=e.resolveComponent("v-stepper"),f=e.resolveComponent("v-card"),h=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(h,{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(f,null,{default:e.withCtx(()=>[e.createVNode(V,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.metadata?(e.openBlock(),e.createElementBlock("span",re,"Update Metadata")):(e.openBlock(),e.createElementBlock("span",se,"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(y,{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",de,[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(p,{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(p,{modelValue:a.startTime,"onUpdate:modelValue":t[3]||(t[3]=v=>a.startTime=v),type:"time",step:"1",label:"Start Time",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",me,[e.createElementVNode("div",ce,[e.createVNode(w,{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,ue)]),_: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 q=x._export_sfc(le,[["render",pe],["__scopeId","data-v-51958e37"]]),he={components:{ColorSelectForm:T},mixins:[k,D.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?_.fi.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}):_.fi.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},Ve={key:1},ye={class:"pa-2"},Ce=["textContent"],fe={class:"pa-2"},we=["textContent"];function _e(a,t,i,d,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),V=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-row"),u=e.resolveComponent("v-text-field"),p=e.resolveComponent("v-card-text"),C=e.resolveComponent("color-select-form"),w=e.resolveComponent("v-stepper"),y=e.resolveComponent("v-card"),f=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,{modelValue:n.show,"onUpdate:modelValue":t[8]||(t[8]=h=>n.show=h),persistent:"",width:"600",onKeydown:e.withKeys(n.clearHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(V,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.note?(e.openBlock(),e.createElementBlock("span",ve,"Update Note")):(e.openBlock(),e.createElementBlock("span",Ve,"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(w,{modelValue:o.dialogStep,"onUpdate:modelValue":t[7]||(t[7]=h=>o.dialogStep=h),editable:"",items:["Note Times","Note Input"]},e.createSlots({"item.1":e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("div",ye,[e.createVNode(m,{dense:""},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:a.startDate,"onUpdate:modelValue":t[1]||(t[1]=h=>a.startDate=h),type:"date",label:"Start Date",class:"mx-1",rules:[o.rules.required],"data-test":"note-start-date"},null,8,["modelValue","rules"]),e.createVNode(u,{modelValue:a.startTime,"onUpdate:modelValue":t[2]||(t[2]=h=>a.startTime=h),type:"time",step:"1",label:"Start Time",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]=h=>a.endDate=h),type:"date",label:"End Date",class:"mx-1",rules:[o.rules.required],"data-test":"note-end-date"},null,8,["modelValue","rules"]),e.createVNode(u,{modelValue:a.endTime,"onUpdate:modelValue":t[4]||(t[4]=h=>a.endTime=h),type:"time",step:"1",label:"End Time",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,Ce),[[e.vShow,n.timeError]])]),_:1})])]),_:1})]),"item.2":e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("div",fe,[e.createElementVNode("div",null,[e.createVNode(C,{modelValue:o.color,"onUpdate:modelValue":t[5]||(t[5]=h=>o.color=h)},null,8,["modelValue"])]),e.createElementVNode("div",null,[e.createVNode(u,{modelValue:o.description,"onUpdate:modelValue":t[6]||(t[6]=h=>o.description=h),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,we)]),_: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 A=x._export_sfc(he,[["render",_e],["__scopeId","data-v-9bb71b28"]]),Ne={components:{ActivityCreateDialog:U,MetadataCreateDialog:q,NoteCreateDialog:A},mixins:[D.TimeFilters,B],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}`),_.fi.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)}}},xe={key:0},ge={key:1},De={key:0},ke={key:1};function Ee(a,t,i,d,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),V=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-text-field"),u=e.resolveComponent("v-row"),p=e.resolveComponent("v-card-title"),C=e.resolveComponent("v-data-table"),w=e.resolveComponent("v-card-actions"),y=e.resolveComponent("v-card"),f=e.resolveComponent("v-dialog"),h=e.resolveComponent("activity-create-dialog"),v=e.resolveComponent("metadata-create-dialog"),E=e.resolveComponent("note-create-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,{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(y,null,{default:e.withCtx(()=>[e.createVNode(V,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.newMetadata?(e.openBlock(),e.createElementBlock("span",xe,"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(p,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",ke,"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(C,{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:g=>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:g=>n.deleteAction(c)},null,8,["onClick"])]),_:1},8,["headers","items","search"]),e.createVNode(w,{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(h,{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(v,{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(E,{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(v,{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(Ne,[["render",Ee]]);exports.ActivityCreateDialog=U;exports.ColorSelectForm=T;exports.CreateDialog=k;exports.DeleteItem=B;exports.EventListDialog=be;exports.MetadataCreateDialog=q;exports.MetadataInputForm=M;exports.NoteCreateDialog=A;
|
|
2
|
+
//# sourceMappingURL=EventListDialog-D0iBpLSR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventListDialog-D0iBpLSR.cjs","sources":["../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/add.js","../src/tools/calendar/CreateDialog.js","../src/tools/calendar/ActivityCreateDialog.vue","../src/tools/calendar/ColorSelectForm.vue","../src/tools/calendar/DeleteItem.js","../src/tools/calendar/MetadataInputForm.vue","../src/tools/calendar/MetadataCreateDialog.vue","../src/tools/calendar/NoteCreateDialog.vue","../src/tools/calendar/EventListDialog.vue"],"sourcesContent":["import { addDays } from \"./addDays.js\";\nimport { addMonths } from \"./addMonths.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link add} function options.\n */\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes, and seconds to the given date.\n *\n * @typeParam DateType - The `Date` type the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param duration - The object with years, months, weeks, days, hours, minutes, and seconds to be added.\n * @param options - An object with options\n *\n * @returns The new date with the seconds added\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport function add(date, duration, options) {\n const {\n years = 0,\n months = 0,\n weeks = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n } = duration;\n\n // Add years and months\n const _date = toDate(date, options?.in);\n const dateWithMonths =\n months || years ? addMonths(_date, months + years * 12) : _date;\n\n // Add weeks and days\n const dateWithDays =\n days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes, and seconds\n const minutesToAdd = minutes + hours * 60;\n const secondsToAdd = seconds + minutesToAdd * 60;\n const msToAdd = secondsToAdd * 1000;\n\n return constructFrom(options?.in || date, +dateWithDays + msToAdd);\n}\n\n// Fallback for modularized imports:\nexport default add;\n","/*\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { add, format, parse } from 'date-fns'\n\nexport default {\n props: {\n date: {\n type: String,\n },\n time: {\n type: String,\n },\n timeZone: {\n type: String,\n },\n },\n data() {\n return {\n startDate: '',\n startTime: '',\n endDate: '',\n endTime: '',\n }\n },\n methods: {\n calcStartDateTime: function () {\n if (this.date) {\n this.startDate = this.date\n this.endDate = this.date\n } else {\n this.startDate = format(new Date(), 'yyyy-MM-dd')\n this.endDate = format(new Date(), 'yyyy-MM-dd')\n }\n let ms = 1000 * 60 * 30 // 30 min\n let start = null\n if (this.time) {\n start = parse(this.time, 'HH:mm:ss', new Date())\n // Round down so the start is the beginning of the time box where they clicked\n start = new Date(Math.floor(start.getTime() / ms) * ms)\n } else {\n // Round up so the start is in the future\n start = new Date(Math.ceil(new Date().getTime() / ms) * ms)\n }\n this.startTime = format(start, 'HH:mm:ss')\n this.endTime = format(add(start, { minutes: 30 }), 'HH:mm:ss')\n },\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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=\"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 <v-text-field\n v-model=\"startTime\"\n type=\"time\"\n step=\"1\"\n label=\"Start Time\"\n 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 <v-text-field\n v-model=\"endTime\"\n type=\"time\"\n step=\"1\"\n label=\"End Time\"\n 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 <v-text-field\n v-model=\"recurringEndTime\"\n type=\"time\"\n step=\"1\"\n label=\"End Time\"\n 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 @file=\"fileHandler\" />\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 { EnvironmentChooser, ScriptChooser, CommandEditor } from '@/components'\nimport { TimeFilters } from '@/util'\nimport CreateDialog from './CreateDialog'\n\nexport default {\n components: {\n EnvironmentChooser,\n ScriptChooser,\n CommandEditor,\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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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=\"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 <v-text-field\n v-model=\"startTime\"\n type=\"time\"\n step=\"1\"\n label=\"Start Time\"\n 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 ColorSelectForm from './ColorSelectForm.vue'\nimport CreateDialog from './CreateDialog'\nimport MetadataInputForm from './MetadataInputForm.vue'\n\nexport default {\n components: {\n ColorSelectForm,\n MetadataInputForm,\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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License 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=\"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 <v-text-field\n v-model=\"startTime\"\n type=\"time\"\n step=\"1\"\n label=\"Start Time\"\n 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 <v-text-field\n v-model=\"endTime\"\n type=\"time\"\n step=\"1\"\n label=\"End Time\"\n 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 ColorSelectForm from './ColorSelectForm.vue'\nimport CreateDialog from './CreateDialog'\n\nexport default {\n components: {\n ColorSelectForm,\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 free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\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. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" persistent width=\"80vw\" @keydown.esc=\"close\">\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span v-if=\"newMetadata\">Metadata</span><span v-else>Events</span>\n <v-spacer />\n <v-btn\n icon=\"mdi-close-box\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"close-metadata-icon\"\n aria-label=\"Close Dialog\"\n @click=\"close\"\n />\n </v-toolbar>\n <v-card-title>\n <v-row class=\"pa-3\">\n <span v-if=\"newMetadata\">Metadata</span><span v-else>Events</span>\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n single-line\n hide-details\n />\n </v-row>\n </v-card-title>\n <v-data-table\n :headers=\"eventHeaders\"\n :items=\"localEvents\"\n :search=\"search\"\n >\n <template #no-data>\n <span> No events </span>\n </template>\n <template #item.start=\"{ item }\">\n {{ formatDateTime(item.start, timeZone) }}\n </template>\n <template #item.end=\"{ item }\">\n {{ formatDateTime(item.end, timeZone) }}\n </template>\n <template #item.type=\"{ item }\">\n {{ item.type.charAt(0).toUpperCase() + item.type.slice(1) }}\n </template>\n <template #item.data=\"{ item }\">\n {{ dataFormat(item) }}\n </template>\n <template #item.actions=\"{ item }\">\n <v-btn\n icon=\"mdi-pencil\"\n variant=\"text\"\n size=\"small\"\n class=\"mr-2\"\n data-test=\"edit-event\"\n aria-label=\"Edit Event\"\n @click=\"editAction(item)\"\n />\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n size=\"small\"\n data-test=\"delete-event\"\n aria-label=\"Delete Event\"\n @click=\"deleteAction(item)\"\n />\n </template>\n </v-data-table>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"outlined\" data-test=\"close-event-list\" @click=\"close\">\n Close\n </v-btn>\n <v-btn\n v-if=\"newMetadata\"\n variant=\"flat\"\n data-test=\"new-event\"\n @click=\"showMetadataCreate = true\"\n >\n New Metadata\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n <!-- Edit existing events -->\n <activity-create-dialog\n v-if=\"showActivityUpdate\"\n v-model=\"showActivityUpdate\"\n :activity=\"editActivity\"\n :time-zone=\"timeZone\"\n @update=\"updateActivity\"\n />\n <metadata-create-dialog\n v-if=\"showMetadataUpdate\"\n v-model=\"showMetadataUpdate\"\n :metadata=\"editMetadata\"\n :time-zone=\"timeZone\"\n @update=\"updateMetadata\"\n />\n <note-create-dialog\n v-if=\"showNoteUpdate\"\n v-model=\"showNoteUpdate\"\n :note=\"editNote\"\n :time-zone=\"timeZone\"\n @update=\"updateNote\"\n />\n <!-- Create new metadata -->\n <metadata-create-dialog\n v-if=\"showMetadataCreate\"\n v-model=\"showMetadataCreate\"\n :time-zone=\"timeZone\"\n @update=\"addMetadata\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { TimeFilters } from '@/util'\nimport ActivityCreateDialog from './ActivityCreateDialog.vue'\nimport DeleteItem from './DeleteItem'\nimport MetadataCreateDialog from './MetadataCreateDialog.vue'\nimport NoteCreateDialog from './NoteCreateDialog.vue'\n\nexport default {\n components: {\n ActivityCreateDialog,\n MetadataCreateDialog,\n NoteCreateDialog,\n },\n mixins: [TimeFilters, DeleteItem],\n props: {\n events: {\n type: Array,\n required: true,\n },\n modelValue: {\n type: Boolean,\n required: true,\n },\n timeZone: {\n type: String,\n required: true,\n },\n types: {\n type: Array,\n default: null,\n },\n newMetadata: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue', 'close', 'update'],\n data() {\n return {\n search: '',\n localEvents: [...this.events],\n eventHeaders: [\n { title: 'Start', key: 'start', width: 215 },\n { title: 'Stop', key: 'end', width: 215 },\n { title: 'Type', key: 'type' },\n { title: 'Data', key: 'data' },\n { title: 'Actions', key: 'actions', sortable: false },\n ],\n editActivity: { start: new Date(), end: new Date() },\n editMetadata: { start: new Date(), end: new Date() },\n editNote: { start: new Date(), end: new Date() },\n editIndex: 0,\n showActivityUpdate: false,\n showMetadataUpdate: false,\n showNoteUpdate: false,\n showMetadataCreate: false,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n created: function () {\n // TODO: Switch to vue3 syntax\n // this.$on('delete', (item) => {\n // let index = this.localEvents.findIndex((element) => {\n // return element.type === item.type && element.start === item.start\n // })\n // this.localEvents.splice(index, 1)\n // })\n },\n methods: {\n close() {\n this.$emit('close')\n this.show = false\n },\n dataFormat(event) {\n let data = event.name\n switch (event.type) {\n case 'note':\n data = event.note.description\n break\n case 'metadata':\n let rows = []\n Object.entries(event.metadata.metadata).forEach(([key, value]) =>\n rows.push(`${key}: ${value}`),\n )\n data = rows.join(', ')\n break\n }\n return data\n },\n editAction(item) {\n this.editIndex = this.localEvents.findIndex((element) => {\n return element.type === item.type && element.start === item.start\n })\n switch (item.type) {\n case 'activity':\n this.editActivity = item.activity\n this.showActivityUpdate = true\n break\n case 'metadata':\n this.editMetadata = item.metadata\n this.showMetadataUpdate = true\n break\n case 'note':\n this.editNote = item.note\n this.showNoteUpdate = true\n break\n }\n },\n deleteAction(item) {\n let deleteIndex = this.localEvents.findIndex((element) => {\n return element.type === item.type && element.start === item.start\n })\n let api = null\n let start = null\n let uuid = null\n switch (item.type) {\n case 'activity':\n api = `timeline/${item.activity.name}/activity`\n start = item.activity.start\n uuid = item.activity.uuid\n break\n case 'metadata':\n api = 'metadata'\n start = item.metadata.start\n break\n case 'note':\n api = 'notes'\n start = item.note.start\n break\n }\n\n this.$dialog\n .confirm(\n `Are you sure you want to remove ${item.type} at ${item.start}`,\n {\n okText: 'Delete',\n cancelText: 'Cancel',\n },\n )\n .then((dialog) => {\n this.localEvents.splice(deleteIndex, 1)\n let url = `/openc3-api/${api}/${start}`\n if (uuid) {\n url += `/${uuid}`\n }\n return Api.delete(url)\n })\n .then((response) => {\n this.$emit('update')\n this.$notify.normal({\n title: `Deleted ${item.type}`,\n body: `Deleted ${item.type} at ${start}`,\n })\n })\n .catch((error) => {\n // TODO: It returns true on cancel?\n })\n },\n updateActivity(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].activity = item\n },\n updateMetadata(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].metadata = item\n },\n updateNote(item) {\n this.$emit('update')\n this.localEvents[this.editIndex].note = item\n },\n addMetadata(item) {\n // TODO: This is how Calendar creates new metadata items via makeMetadataEvent\n let metadata = {\n name: 'Metadata',\n start: new Date(item.start * 1000),\n end: new Date(item.start * 1000),\n color: item.color,\n type: item.type,\n timed: true,\n metadata: item,\n }\n this.localEvents.push(metadata)\n },\n },\n}\n</script>\n"],"names":["add","date","duration","options","years","months","weeks","days","hours","minutes","seconds","_date","toDate","dateWithMonths","addMonths","dateWithDays","addDays","minutesToAdd","msToAdd","constructFrom","CreateDialog","format","ms","start","parse","_sfc_main","EnvironmentChooser","ScriptChooser","CommandEditor","TimeFilters","value","now","end","timeline","inputKind","event","sDate","eDate","_a","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_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]}
|