@openc3/vue-common 6.4.0 → 6.4.2
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-DAZApfkV.js → ArrayWidget-D0fKsdTb.js} +4 -4
- package/dist/{ArrayWidget-DAZApfkV.js.map → ArrayWidget-D0fKsdTb.js.map} +1 -1
- package/dist/{ArrayWidget-Ba-YDfZB.cjs → ArrayWidget-F8xL9dRA.cjs} +2 -2
- package/dist/{ArrayWidget-Ba-YDfZB.cjs.map → ArrayWidget-F8xL9dRA.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-BfsxDplv.js → ArrayplotWidget-BmRSuGhA.js} +3 -3
- package/dist/{ArrayplotWidget-BfsxDplv.js.map → ArrayplotWidget-BmRSuGhA.js.map} +1 -1
- package/dist/{ArrayplotWidget-Ckm4lmSc.cjs → ArrayplotWidget-D6_PhmMa.cjs} +2 -2
- package/dist/{ArrayplotWidget-Ckm4lmSc.cjs.map → ArrayplotWidget-D6_PhmMa.cjs.map} +1 -1
- package/dist/{BarColumn-Cp7oEFJR.cjs → BarColumn-DO5zpCu2.cjs} +2 -2
- package/dist/{BarColumn-Cp7oEFJR.cjs.map → BarColumn-DO5zpCu2.cjs.map} +1 -1
- package/dist/{BarColumn-q0nAsvrd.js → BarColumn-DtYw6Gmq.js} +3 -3
- package/dist/{BarColumn-q0nAsvrd.js.map → BarColumn-DtYw6Gmq.js.map} +1 -1
- package/dist/{BlockWidget-DRB-TDL_.cjs → BlockWidget-CbuJPszc.cjs} +2 -2
- package/dist/{BlockWidget-DRB-TDL_.cjs.map → BlockWidget-CbuJPszc.cjs.map} +1 -1
- package/dist/{BlockWidget-SDCUWcMQ.js → BlockWidget-Dpxbw455.js} +4 -4
- package/dist/{BlockWidget-SDCUWcMQ.js.map → BlockWidget-Dpxbw455.js.map} +1 -1
- package/dist/{ButtonWidget-BVMjwC19.js → ButtonWidget-8iOpXmpp.js} +4 -4
- package/dist/{ButtonWidget-BVMjwC19.js.map → ButtonWidget-8iOpXmpp.js.map} +1 -1
- package/dist/{ButtonWidget-yJ70adEU.cjs → ButtonWidget-DB464bRo.cjs} +2 -2
- package/dist/{ButtonWidget-yJ70adEU.cjs.map → ButtonWidget-DB464bRo.cjs.map} +1 -1
- package/dist/{CanvasWidget-bVkufjRQ.js → CanvasWidget-B0iU38rA.js} +2 -2
- package/dist/{CanvasWidget-bVkufjRQ.js.map → CanvasWidget-B0iU38rA.js.map} +1 -1
- package/dist/{CanvasWidget-DXkxnt1x.cjs → CanvasWidget-D4iIs915.cjs} +2 -2
- package/dist/{CanvasWidget-DXkxnt1x.cjs.map → CanvasWidget-D4iIs915.cjs.map} +1 -1
- package/dist/{CanvasdotWidget-DpniFfca.js → CanvasdotWidget-C9viSVBs.js} +2 -2
- package/dist/{CanvasdotWidget-DpniFfca.js.map → CanvasdotWidget-C9viSVBs.js.map} +1 -1
- package/dist/{CanvasdotWidget-Bi3nZh7g.cjs → CanvasdotWidget-DG6qDFlh.cjs} +2 -2
- package/dist/{CanvasdotWidget-Bi3nZh7g.cjs.map → CanvasdotWidget-DG6qDFlh.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-C-aBl-by.cjs → CanvasimageWidget-BJhOpZ3q.cjs} +2 -2
- package/dist/{CanvasimageWidget-C-aBl-by.cjs.map → CanvasimageWidget-BJhOpZ3q.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-DHOSz-dJ.js → CanvasimageWidget-CFiCpITu.js} +3 -3
- package/dist/{CanvasimageWidget-DHOSz-dJ.js.map → CanvasimageWidget-CFiCpITu.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-DAbbV-LB.cjs → CanvasimagevalueWidget-D-4P_8Gh.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-DAbbV-LB.cjs.map → CanvasimagevalueWidget-D-4P_8Gh.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-zrURWWUL.js → CanvasimagevalueWidget-fu6vbAY0.js} +3 -3
- package/dist/{CanvasimagevalueWidget-zrURWWUL.js.map → CanvasimagevalueWidget-fu6vbAY0.js.map} +1 -1
- package/dist/{CanvaslabelWidget-82bf_Awf.cjs → CanvaslabelWidget-1OS-a3F4.cjs} +2 -2
- package/dist/{CanvaslabelWidget-82bf_Awf.cjs.map → CanvaslabelWidget-1OS-a3F4.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-D-XAMifp.js → CanvaslabelWidget-BVqHq3Vp.js} +2 -2
- package/dist/{CanvaslabelWidget-D-XAMifp.js.map → CanvaslabelWidget-BVqHq3Vp.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-BsIdBtEb.js → CanvaslabelvalueWidget-BOFa8-NU.js} +2 -2
- package/dist/{CanvaslabelvalueWidget-BsIdBtEb.js.map → CanvaslabelvalueWidget-BOFa8-NU.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-DgDzwLdi.cjs → CanvaslabelvalueWidget-C3vVvK2b.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-DgDzwLdi.cjs.map → CanvaslabelvalueWidget-C3vVvK2b.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-BRRPuuqS.cjs → CanvaslineWidget-Cr8MsDUl.cjs} +2 -2
- package/dist/{CanvaslineWidget-BRRPuuqS.cjs.map → CanvaslineWidget-Cr8MsDUl.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-CA2aPGRg.js → CanvaslineWidget-l3ko0QXk.js} +2 -2
- package/dist/{CanvaslineWidget-CA2aPGRg.js.map → CanvaslineWidget-l3ko0QXk.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-J7epKRlo.js → CanvaslinevalueWidget-BCZoO-Z6.js} +2 -2
- package/dist/{CanvaslinevalueWidget-J7epKRlo.js.map → CanvaslinevalueWidget-BCZoO-Z6.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-BYjWr2gq.cjs → CanvaslinevalueWidget-DRowns-E.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-BYjWr2gq.cjs.map → CanvaslinevalueWidget-DRowns-E.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-ByH-PDRG.js → CheckbuttonWidget-BN7e1d5b.js} +2 -2
- package/dist/{CheckbuttonWidget-ByH-PDRG.js.map → CheckbuttonWidget-BN7e1d5b.js.map} +1 -1
- package/dist/{CheckbuttonWidget-DkoFFTcM.cjs → CheckbuttonWidget-Cy9VUV7t.cjs} +2 -2
- package/dist/{CheckbuttonWidget-DkoFFTcM.cjs.map → CheckbuttonWidget-Cy9VUV7t.cjs.map} +1 -1
- package/dist/{ComboboxWidget-Bdm_fMzW.js → ComboboxWidget-Bb5RGXDB.js} +2 -2
- package/dist/{ComboboxWidget-Bdm_fMzW.js.map → ComboboxWidget-Bb5RGXDB.js.map} +1 -1
- package/dist/{ComboboxWidget-Dq28F4bs.cjs → ComboboxWidget-DbQwLEJY.cjs} +2 -2
- package/dist/{ComboboxWidget-Dq28F4bs.cjs.map → ComboboxWidget-DbQwLEJY.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-Bcq8PGag.js → CriticalCmdDialog-BUHsxfpO.js} +2 -2
- package/dist/{CriticalCmdDialog-Bcq8PGag.js.map → CriticalCmdDialog-BUHsxfpO.js.map} +1 -1
- package/dist/{CriticalCmdDialog-CLF7hYKu.cjs → CriticalCmdDialog-p0ZMNHpv.cjs} +2 -2
- package/dist/{CriticalCmdDialog-CLF7hYKu.cjs.map → CriticalCmdDialog-p0ZMNHpv.cjs.map} +1 -1
- package/dist/{DateWidget-DCayVS3o.cjs → DateWidget-Cv3Uzbyr.cjs} +2 -2
- package/dist/{DateWidget-DCayVS3o.cjs.map → DateWidget-Cv3Uzbyr.cjs.map} +1 -1
- package/dist/{DateWidget-BaQqthC7.js → DateWidget-Dggqab-F.js} +2 -2
- package/dist/{DateWidget-BaQqthC7.js.map → DateWidget-Dggqab-F.js.map} +1 -1
- package/dist/{DetailsDialog-C5jf8o0K.js → DetailsDialog-BhSAQDSK.js} +2 -2
- package/dist/{DetailsDialog-C5jf8o0K.js.map → DetailsDialog-BhSAQDSK.js.map} +1 -1
- package/dist/{DetailsDialog-CangkVuF.cjs → DetailsDialog-CSUO0ibv.cjs} +2 -2
- package/dist/{DetailsDialog-CangkVuF.cjs.map → DetailsDialog-CSUO0ibv.cjs.map} +1 -1
- package/dist/EventListDialog-C7RuZnvD.cjs +2 -0
- package/dist/EventListDialog-C7RuZnvD.cjs.map +1 -0
- package/dist/{EventListDialog-Bniar26O.js → EventListDialog-CSxz4nmr.js} +58 -54
- package/dist/EventListDialog-CSxz4nmr.js.map +1 -0
- package/dist/{FormatvalueWidget--H5B9i_Y.js → FormatvalueWidget-B9_PbzY2.js} +3 -3
- package/dist/{FormatvalueWidget--H5B9i_Y.js.map → FormatvalueWidget-B9_PbzY2.js.map} +1 -1
- package/dist/{FormatvalueWidget-CDh1rF5P.cjs → FormatvalueWidget-VYVvrtya.cjs} +2 -2
- package/dist/{FormatvalueWidget-CDh1rF5P.cjs.map → FormatvalueWidget-VYVvrtya.cjs.map} +1 -1
- package/dist/{Graph-M382Zo8o.js → Graph-B29y4d5A.js} +2 -2
- package/dist/{Graph-M382Zo8o.js.map → Graph-B29y4d5A.js.map} +1 -1
- package/dist/{Graph-DIR-5tJu.cjs → Graph-B2Ir-2Ot.cjs} +2 -2
- package/dist/{Graph-DIR-5tJu.cjs.map → Graph-B2Ir-2Ot.cjs.map} +1 -1
- package/dist/{GraphWidget-CNUOLw5-.cjs → GraphWidget-BsiCtRsJ.cjs} +2 -2
- package/dist/{GraphWidget-CNUOLw5-.cjs.map → GraphWidget-BsiCtRsJ.cjs.map} +1 -1
- package/dist/{GraphWidget-_YOGDD1U.js → GraphWidget-oBxPa3EB.js} +2 -2
- package/dist/{GraphWidget-_YOGDD1U.js.map → GraphWidget-oBxPa3EB.js.map} +1 -1
- package/dist/{HorizontalWidget-D_gzrOWs.js → HorizontalWidget-BWgZL_Oz.js} +2 -2
- package/dist/{HorizontalWidget-D_gzrOWs.js.map → HorizontalWidget-BWgZL_Oz.js.map} +1 -1
- package/dist/{HorizontalWidget-Bix4q7It.cjs → HorizontalWidget-wn07kYWX.cjs} +2 -2
- package/dist/{HorizontalWidget-Bix4q7It.cjs.map → HorizontalWidget-wn07kYWX.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-B8a4-h2J.cjs → HorizontalboxWidget-BQLGULQ-.cjs} +2 -2
- package/dist/{HorizontalboxWidget-B8a4-h2J.cjs.map → HorizontalboxWidget-BQLGULQ-.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-GDcjO-UB.js → HorizontalboxWidget-yMYUnNB8.js} +5 -5
- package/dist/{HorizontalboxWidget-GDcjO-UB.js.map → HorizontalboxWidget-yMYUnNB8.js.map} +1 -1
- package/dist/{HorizontallineWidget-DZvOYFxf.js → HorizontallineWidget-C4zMx7z2.js} +2 -2
- package/dist/{HorizontallineWidget-DZvOYFxf.js.map → HorizontallineWidget-C4zMx7z2.js.map} +1 -1
- package/dist/{HorizontallineWidget-BD6dqVhE.cjs → HorizontallineWidget-CfrV_K28.cjs} +2 -2
- package/dist/{HorizontallineWidget-BD6dqVhE.cjs.map → HorizontallineWidget-CfrV_K28.cjs.map} +1 -1
- package/dist/{IframeWidget-CuUav9b3.js → IframeWidget-DA4P_mJT.js} +2 -2
- package/dist/{IframeWidget-CuUav9b3.js.map → IframeWidget-DA4P_mJT.js.map} +1 -1
- package/dist/{IframeWidget-DL_CET3B.cjs → IframeWidget-DeNDRzqB.cjs} +2 -2
- package/dist/{IframeWidget-DL_CET3B.cjs.map → IframeWidget-DeNDRzqB.cjs.map} +1 -1
- package/dist/{ImageLoader-DaWMqoJS.cjs → ImageLoader-mxOVUyj1.cjs} +2 -2
- package/dist/{ImageLoader-DaWMqoJS.cjs.map → ImageLoader-mxOVUyj1.cjs.map} +1 -1
- package/dist/{ImageLoader-3KLKJ5mV.js → ImageLoader-rvd9t-mk.js} +2 -2
- package/dist/{ImageLoader-3KLKJ5mV.js.map → ImageLoader-rvd9t-mk.js.map} +1 -1
- package/dist/{ImageviewerWidget-BMZ6REN4.js → ImageviewerWidget-B1wK0hK4.js} +2 -2
- package/dist/{ImageviewerWidget-BMZ6REN4.js.map → ImageviewerWidget-B1wK0hK4.js.map} +1 -1
- package/dist/{ImageviewerWidget-_0YopZ1s.cjs → ImageviewerWidget-CV76ouHz.cjs} +2 -2
- package/dist/{ImageviewerWidget-_0YopZ1s.cjs.map → ImageviewerWidget-CV76ouHz.cjs.map} +1 -1
- package/dist/{InterfacesTab-DTixVrGo.js → InterfacesTab-CVvIDSTG.js} +3 -3
- package/dist/{InterfacesTab-DTixVrGo.js.map → InterfacesTab-CVvIDSTG.js.map} +1 -1
- package/dist/{InterfacesTab-DGrLsTA0.cjs → InterfacesTab-DHoYHLxF.cjs} +2 -2
- package/dist/{InterfacesTab-DGrLsTA0.cjs.map → InterfacesTab-DHoYHLxF.cjs.map} +1 -1
- package/dist/{LabelWidget-DkZvBxYg.cjs → LabelWidget-BobQDS5m.cjs} +2 -2
- package/dist/{LabelWidget-DkZvBxYg.cjs.map → LabelWidget-BobQDS5m.cjs.map} +1 -1
- package/dist/{LabelWidget-oh6FIG6s.js → LabelWidget-CY0saBoK.js} +2 -2
- package/dist/{LabelWidget-oh6FIG6s.js.map → LabelWidget-CY0saBoK.js.map} +1 -1
- package/dist/{LabelledWidget-Bic36les.js → LabelledWidget-B3ZOYaGy.js} +4 -4
- package/dist/{LabelledWidget-Bic36les.js.map → LabelledWidget-B3ZOYaGy.js.map} +1 -1
- package/dist/{LabelledWidget-D7nm73kj.cjs → LabelledWidget-Dp4fjHpu.cjs} +2 -2
- package/dist/{LabelledWidget-D7nm73kj.cjs.map → LabelledWidget-Dp4fjHpu.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-DY0Xd2c2.cjs → LabelprogressbarWidget-1BF_rNsT.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-DY0Xd2c2.cjs.map → LabelprogressbarWidget-1BF_rNsT.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-CqIiGoDb.js → LabelprogressbarWidget-CmXcESTg.js} +4 -4
- package/dist/{LabelprogressbarWidget-CqIiGoDb.js.map → LabelprogressbarWidget-CmXcESTg.js.map} +1 -1
- package/dist/{LabelsparklineWidget-DLhmqO02.js → LabelsparklineWidget-D_yrQrn6.js} +4 -4
- package/dist/{LabelsparklineWidget-DLhmqO02.js.map → LabelsparklineWidget-D_yrQrn6.js.map} +1 -1
- package/dist/{LabelsparklineWidget-DZ5-iEcK.cjs → LabelsparklineWidget-DgzZAWfI.cjs} +2 -2
- package/dist/{LabelsparklineWidget-DZ5-iEcK.cjs.map → LabelsparklineWidget-DgzZAWfI.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-D-u38nLh.cjs → LabelvalueWidget-T6FC3w0l.cjs} +2 -2
- package/dist/{LabelvalueWidget-D-u38nLh.cjs.map → LabelvalueWidget-T6FC3w0l.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-BefwSSVq.js → LabelvalueWidget-dNaNfsBE.js} +4 -4
- package/dist/{LabelvalueWidget-BefwSSVq.js.map → LabelvalueWidget-dNaNfsBE.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-NxrCzznm.js → LabelvaluedescWidget-3vNoH6Mc.js} +5 -5
- package/dist/{LabelvaluedescWidget-NxrCzznm.js.map → LabelvaluedescWidget-3vNoH6Mc.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-DMuBCLM8.cjs → LabelvaluedescWidget-Cb7UqEa-.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-DMuBCLM8.cjs.map → LabelvaluedescWidget-Cb7UqEa-.cjs.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-pq7qoolL.js → LabelvaluelimitsbarWidget-7VppYVIN.js} +4 -4
- package/dist/{LabelvaluelimitsbarWidget-pq7qoolL.js.map → LabelvaluelimitsbarWidget-7VppYVIN.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-BY212bgc.cjs → LabelvaluelimitsbarWidget-Bi43GWx7.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-BY212bgc.cjs.map → LabelvaluelimitsbarWidget-Bi43GWx7.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-edkpogsl.js → LabelvaluelimitscolumnWidget-BZ6nwifg.js} +5 -5
- package/dist/{LabelvaluelimitscolumnWidget-edkpogsl.js.map → LabelvaluelimitscolumnWidget-BZ6nwifg.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-DVLGU6ja.cjs → LabelvaluelimitscolumnWidget-CtTEiWPR.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-DVLGU6ja.cjs.map → LabelvaluelimitscolumnWidget-CtTEiWPR.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-CA_7kTS2.cjs → LabelvaluerangebarWidget-C5w7sRFw.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-CA_7kTS2.cjs.map → LabelvaluerangebarWidget-C5w7sRFw.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-DpJNv9dh.js → LabelvaluerangebarWidget-IyuXLNsw.js} +4 -4
- package/dist/{LabelvaluerangebarWidget-DpJNv9dh.js.map → LabelvaluerangebarWidget-IyuXLNsw.js.map} +1 -1
- package/dist/{Layout-B0hvhBQO.js → Layout-BqMhhhws.js} +2 -2
- package/dist/{Layout-B0hvhBQO.js.map → Layout-BqMhhhws.js.map} +1 -1
- package/dist/Layout-DUWX7PWw.cjs +2 -0
- package/dist/{Layout-BLADjt_A.cjs.map → Layout-DUWX7PWw.cjs.map} +1 -1
- package/dist/{LedWidget-BoZKOBZg.cjs → LedWidget-ByRkD33m.cjs} +2 -2
- package/dist/{LedWidget-BoZKOBZg.cjs.map → LedWidget-ByRkD33m.cjs.map} +1 -1
- package/dist/{LedWidget--4eSxBnn.js → LedWidget-DSxpmIOK.js} +4 -4
- package/dist/{LedWidget--4eSxBnn.js.map → LedWidget-DSxpmIOK.js.map} +1 -1
- package/dist/{LimitsbarWidget-BQaumgRt.js → LimitsbarWidget-BoPTdVV5.js} +2 -2
- package/dist/{LimitsbarWidget-BQaumgRt.js.map → LimitsbarWidget-BoPTdVV5.js.map} +1 -1
- package/dist/{LimitsbarWidget-CyHbbNx3.cjs → LimitsbarWidget-DAZA6YDH.cjs} +2 -2
- package/dist/{LimitsbarWidget-CyHbbNx3.cjs.map → LimitsbarWidget-DAZA6YDH.cjs.map} +1 -1
- package/dist/{LimitscolorWidget-BBF9sRtF.js → LimitscolorWidget-Bt3qOvrv.js} +2 -2
- package/dist/{LimitscolorWidget-BBF9sRtF.js.map → LimitscolorWidget-Bt3qOvrv.js.map} +1 -1
- package/dist/{LimitscolorWidget-CsuRoqxm.cjs → LimitscolorWidget-ECUDD3Yg.cjs} +2 -2
- package/dist/{LimitscolorWidget-CsuRoqxm.cjs.map → LimitscolorWidget-ECUDD3Yg.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-DZZtSoXw.js → LimitscolumnWidget-Ce6YnUBz.js} +2 -2
- package/dist/{LimitscolumnWidget-DZZtSoXw.js.map → LimitscolumnWidget-Ce6YnUBz.js.map} +1 -1
- package/dist/{LimitscolumnWidget-Cr1qFT8M.cjs → LimitscolumnWidget-DrsRK8l_.cjs} +2 -2
- package/dist/{LimitscolumnWidget-Cr1qFT8M.cjs.map → LimitscolumnWidget-DrsRK8l_.cjs.map} +1 -1
- package/dist/{LinegraphWidget-Cw9vua8K.cjs → LinegraphWidget-BK03y7ev.cjs} +2 -2
- package/dist/{LinegraphWidget-Cw9vua8K.cjs.map → LinegraphWidget-BK03y7ev.cjs.map} +1 -1
- package/dist/{LinegraphWidget-DTLZmyWs.js → LinegraphWidget-XAbg0jj2.js} +4 -4
- package/dist/{LinegraphWidget-DTLZmyWs.js.map → LinegraphWidget-XAbg0jj2.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-dpgZz4wR.js → MatrixbycolumnsWidget-5MgJFZtz.js} +3 -3
- package/dist/{MatrixbycolumnsWidget-dpgZz4wR.js.map → MatrixbycolumnsWidget-5MgJFZtz.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-Digh2kY7.cjs → MatrixbycolumnsWidget-Cl1-0jWU.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-Digh2kY7.cjs.map → MatrixbycolumnsWidget-Cl1-0jWU.cjs.map} +1 -1
- package/dist/{MicroservicesTab-BQywJ_ya.cjs → MicroservicesTab-DLAy8cBq.cjs} +2 -2
- package/dist/{MicroservicesTab-BQywJ_ya.cjs.map → MicroservicesTab-DLAy8cBq.cjs.map} +1 -1
- package/dist/{MicroservicesTab-DbL48MBc.js → MicroservicesTab-DlnZ9h0y.js} +3 -3
- package/dist/{MicroservicesTab-DbL48MBc.js.map → MicroservicesTab-DlnZ9h0y.js.map} +1 -1
- package/dist/{Openc3Screen-CtwGKfq-.js → Openc3Screen-1vPogvfj.js} +254 -230
- package/dist/Openc3Screen-1vPogvfj.js.map +1 -0
- package/dist/Openc3Screen-DERmiz3g.cjs +5 -0
- package/dist/Openc3Screen-DERmiz3g.cjs.map +1 -0
- package/dist/{OutputDialog-CFhG2RY9.cjs → OutputDialog-BUc85qgI.cjs} +2 -2
- package/dist/{OutputDialog-CFhG2RY9.cjs.map → OutputDialog-BUc85qgI.cjs.map} +1 -1
- package/dist/{OutputDialog-B5qHVyck.js → OutputDialog-aZe2HT6j.js} +2 -2
- package/dist/{OutputDialog-B5qHVyck.js.map → OutputDialog-aZe2HT6j.js.map} +1 -1
- package/dist/{PackagesTab-Bw34RkLc.js → PackagesTab-D5hNxd_X.js} +3 -3
- package/dist/{PackagesTab-Bw34RkLc.js.map → PackagesTab-D5hNxd_X.js.map} +1 -1
- package/dist/{PackagesTab-DXSowjd4.cjs → PackagesTab-D9h8f-Rc.cjs} +2 -2
- package/dist/{PackagesTab-DXSowjd4.cjs.map → PackagesTab-D9h8f-Rc.cjs.map} +1 -1
- package/dist/{PluginsTab-C9t0-QVm.js → PluginsTab-BP8DYqd-.js} +3 -3
- package/dist/{PluginsTab-C9t0-QVm.js.map → PluginsTab-BP8DYqd-.js.map} +1 -1
- package/dist/{PluginsTab-CPaBGJMa.cjs → PluginsTab-swaGuthJ.cjs} +2 -2
- package/dist/{PluginsTab-CPaBGJMa.cjs.map → PluginsTab-swaGuthJ.cjs.map} +1 -1
- package/dist/{ProgressbarWidget-7cYr8136.js → ProgressbarWidget-CDwDOFIy.js} +2 -2
- package/dist/{ProgressbarWidget-7cYr8136.js.map → ProgressbarWidget-CDwDOFIy.js.map} +1 -1
- package/dist/{ProgressbarWidget-CdOWGViG.cjs → ProgressbarWidget-giMKlGsU.cjs} +2 -2
- package/dist/{ProgressbarWidget-CdOWGViG.cjs.map → ProgressbarWidget-giMKlGsU.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-5t4ofYx3.cjs → RadiobuttonWidget-CDPV19UM.cjs} +2 -2
- package/dist/{RadiobuttonWidget-5t4ofYx3.cjs.map → RadiobuttonWidget-CDPV19UM.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-DTfn-7F2.js → RadiobuttonWidget-cQ8V8LaD.js} +2 -2
- package/dist/{RadiobuttonWidget-DTfn-7F2.js.map → RadiobuttonWidget-cQ8V8LaD.js.map} +1 -1
- package/dist/{RadiogroupWidget-DWvTpw94.js → RadiogroupWidget-BvRnuGA2.js} +2 -2
- package/dist/{RadiogroupWidget-DWvTpw94.js.map → RadiogroupWidget-BvRnuGA2.js.map} +1 -1
- package/dist/{RadiogroupWidget-emxyymRZ.cjs → RadiogroupWidget-DPYowBpl.cjs} +2 -2
- package/dist/{RadiogroupWidget-emxyymRZ.cjs.map → RadiogroupWidget-DPYowBpl.cjs.map} +1 -1
- package/dist/{RangebarWidget-CLMKfbiT.cjs → RangebarWidget-DtjrqC3F.cjs} +2 -2
- package/dist/{RangebarWidget-CLMKfbiT.cjs.map → RangebarWidget-DtjrqC3F.cjs.map} +1 -1
- package/dist/{RangebarWidget-CG2Y7eYp.js → RangebarWidget-aHmgV0qs.js} +2 -2
- package/dist/{RangebarWidget-CG2Y7eYp.js.map → RangebarWidget-aHmgV0qs.js.map} +1 -1
- package/dist/{RedisTab-CvPLS0Qe.js → RedisTab-D1-HQK-m.js} +2 -2
- package/dist/{RedisTab-CvPLS0Qe.js.map → RedisTab-D1-HQK-m.js.map} +1 -1
- package/dist/{RedisTab-PbizvHjY.cjs → RedisTab-DcFz87gW.cjs} +2 -2
- package/dist/{RedisTab-PbizvHjY.cjs.map → RedisTab-DcFz87gW.cjs.map} +1 -1
- package/dist/{RollupWidget-C6HKTfCR.js → RollupWidget-D1jUPrUQ.js} +2 -2
- package/dist/{RollupWidget-C6HKTfCR.js.map → RollupWidget-D1jUPrUQ.js.map} +1 -1
- package/dist/{RollupWidget-CHKUdXMx.cjs → RollupWidget-Dw2GIsBR.cjs} +2 -2
- package/dist/{RollupWidget-CHKUdXMx.cjs.map → RollupWidget-Dw2GIsBR.cjs.map} +1 -1
- package/dist/{RoutersTab-D-ex_yMO.js → RoutersTab-CF0ADapt.js} +3 -3
- package/dist/{RoutersTab-D-ex_yMO.js.map → RoutersTab-CF0ADapt.js.map} +1 -1
- package/dist/{RoutersTab-zkaML-Xt.cjs → RoutersTab-DJDjAIQf.cjs} +2 -2
- package/dist/{RoutersTab-zkaML-Xt.cjs.map → RoutersTab-DJDjAIQf.cjs.map} +1 -1
- package/dist/{ScriptChooser-Dkf84RzQ.cjs → ScriptChooser-CPzgZtTN.cjs} +2 -2
- package/dist/{ScriptChooser-Dkf84RzQ.cjs.map → ScriptChooser-CPzgZtTN.cjs.map} +1 -1
- package/dist/{ScriptChooser-qiC2xQ_W.js → ScriptChooser-IegS44oT.js} +2 -2
- package/dist/{ScriptChooser-qiC2xQ_W.js.map → ScriptChooser-IegS44oT.js.map} +1 -1
- package/dist/{ScrollwindowWidget-CVc9EXW2.cjs → ScrollwindowWidget-C79nSa0g.cjs} +2 -2
- package/dist/{ScrollwindowWidget-CVc9EXW2.cjs.map → ScrollwindowWidget-C79nSa0g.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-DvhBCYd2.js → ScrollwindowWidget-Cn0o3b4E.js} +3 -3
- package/dist/{ScrollwindowWidget-DvhBCYd2.js.map → ScrollwindowWidget-Cn0o3b4E.js.map} +1 -1
- package/dist/{SecretsTab-CLkJfzf-.js → SecretsTab-BAIHxgdM.js} +2 -2
- package/dist/{SecretsTab-CLkJfzf-.js.map → SecretsTab-BAIHxgdM.js.map} +1 -1
- package/dist/{SecretsTab-Clw9ErBz.cjs → SecretsTab-BVpqbRn5.cjs} +2 -2
- package/dist/{SecretsTab-Clw9ErBz.cjs.map → SecretsTab-BVpqbRn5.cjs.map} +1 -1
- package/dist/{SettingsTab-CysOMBFu.js → SettingsTab-C2k0BDcX.js} +3 -3
- package/dist/{SettingsTab-CysOMBFu.js.map → SettingsTab-C2k0BDcX.js.map} +1 -1
- package/dist/{SettingsTab-BJ9mrQ8U.cjs → SettingsTab-J1frSo-9.cjs} +2 -2
- package/dist/{SettingsTab-BJ9mrQ8U.cjs.map → SettingsTab-J1frSo-9.cjs.map} +1 -1
- package/dist/{SignalWidget-BZIoGjam.js → SignalWidget-BQBzqdU-.js} +2 -2
- package/dist/{SignalWidget-BZIoGjam.js.map → SignalWidget-BQBzqdU-.js.map} +1 -1
- package/dist/{SignalWidget-DpNUpQNW.cjs → SignalWidget-sAMVlO9e.cjs} +2 -2
- package/dist/{SignalWidget-DpNUpQNW.cjs.map → SignalWidget-sAMVlO9e.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-CGStqYvO.js → SimpleTextDialog-3EEsXpGl.js} +2 -2
- package/dist/{SimpleTextDialog-CGStqYvO.js.map → SimpleTextDialog-3EEsXpGl.js.map} +1 -1
- package/dist/{SimpleTextDialog-P2KPhVHq.cjs → SimpleTextDialog-sOMrzIs7.cjs} +2 -2
- package/dist/{SimpleTextDialog-P2KPhVHq.cjs.map → SimpleTextDialog-sOMrzIs7.cjs.map} +1 -1
- package/dist/{SpacerWidget-YBS8RZIE.js → SpacerWidget-C0RmQY3t.js} +2 -2
- package/dist/{SpacerWidget-YBS8RZIE.js.map → SpacerWidget-C0RmQY3t.js.map} +1 -1
- package/dist/{SpacerWidget-CHuv4qDR.cjs → SpacerWidget-C5x4sFAQ.cjs} +2 -2
- package/dist/{SpacerWidget-CHuv4qDR.cjs.map → SpacerWidget-C5x4sFAQ.cjs.map} +1 -1
- package/dist/{SparklineWidget-BMhY9vYe.js → SparklineWidget-BTH9rvcX.js} +4 -4
- package/dist/{SparklineWidget-BMhY9vYe.js.map → SparklineWidget-BTH9rvcX.js.map} +1 -1
- package/dist/{SparklineWidget-qWQGTMwn.cjs → SparklineWidget-CfA39olv.cjs} +2 -2
- package/dist/{SparklineWidget-qWQGTMwn.cjs.map → SparklineWidget-CfA39olv.cjs.map} +1 -1
- package/dist/{TabbookWidget-C4jdzkQl.cjs → TabbookWidget-BrPTbXrU.cjs} +2 -2
- package/dist/{TabbookWidget-C4jdzkQl.cjs.map → TabbookWidget-BrPTbXrU.cjs.map} +1 -1
- package/dist/{TabbookWidget-RfET19pq.js → TabbookWidget-C-aDdEoD.js} +2 -2
- package/dist/{TabbookWidget-RfET19pq.js.map → TabbookWidget-C-aDdEoD.js.map} +1 -1
- package/dist/{TargetsTab-CVZR_Bp6.cjs → TargetsTab-BV-eELWM.cjs} +2 -2
- package/dist/{TargetsTab-CVZR_Bp6.cjs.map → TargetsTab-BV-eELWM.cjs.map} +1 -1
- package/dist/{TargetsTab-CfBt-dZW.js → TargetsTab-DAmlfJ9Z.js} +3 -3
- package/dist/{TargetsTab-CfBt-dZW.js.map → TargetsTab-DAmlfJ9Z.js.map} +1 -1
- package/dist/{TextboxWidget-M8vFBSxS.js → TextboxWidget-Dd2ccpUQ.js} +4 -4
- package/dist/{TextboxWidget-M8vFBSxS.js.map → TextboxWidget-Dd2ccpUQ.js.map} +1 -1
- package/dist/{TextboxWidget-Cm7-yWTZ.cjs → TextboxWidget-Lw5glGxY.cjs} +2 -2
- package/dist/{TextboxWidget-Cm7-yWTZ.cjs.map → TextboxWidget-Lw5glGxY.cjs.map} +1 -1
- package/dist/{TextfieldWidget-Bfk2NPtC.cjs → TextfieldWidget-CTsiRDIJ.cjs} +2 -2
- package/dist/{TextfieldWidget-Bfk2NPtC.cjs.map → TextfieldWidget-CTsiRDIJ.cjs.map} +1 -1
- package/dist/{TextfieldWidget-Dev7lCsT.js → TextfieldWidget-DY3aFTnP.js} +2 -2
- package/dist/{TextfieldWidget-Dev7lCsT.js.map → TextfieldWidget-DY3aFTnP.js.map} +1 -1
- package/dist/{TimeWidget-BqkZJdg7.cjs → TimeWidget-CB1jqQSZ.cjs} +2 -2
- package/dist/{TimeWidget-BqkZJdg7.cjs.map → TimeWidget-CB1jqQSZ.cjs.map} +1 -1
- package/dist/{TimeWidget-CQzn13rQ.js → TimeWidget-C_site21.js} +2 -2
- package/dist/{TimeWidget-CQzn13rQ.js.map → TimeWidget-C_site21.js.map} +1 -1
- package/dist/{TitleWidget-C4zbSian.js → TitleWidget-Bx81VfQD.js} +2 -2
- package/dist/{TitleWidget-C4zbSian.js.map → TitleWidget-Bx81VfQD.js.map} +1 -1
- package/dist/{TitleWidget-DW0hJ0FE.cjs → TitleWidget-E91xUafI.cjs} +2 -2
- package/dist/{TitleWidget-DW0hJ0FE.cjs.map → TitleWidget-E91xUafI.cjs.map} +1 -1
- package/dist/{ToolsTab-CKeFb94Y.cjs → ToolsTab-Bu3XUxr9.cjs} +2 -2
- package/dist/{ToolsTab-CKeFb94Y.cjs.map → ToolsTab-Bu3XUxr9.cjs.map} +1 -1
- package/dist/{ToolsTab-CnhhRS3J.js → ToolsTab-CW_TQ53O.js} +3 -3
- package/dist/{ToolsTab-CnhhRS3J.js.map → ToolsTab-CW_TQ53O.js.map} +1 -1
- package/dist/{TopBar-BQhv8Jcc.js → TopBar-C9ro4_7Q.js} +2 -2
- package/dist/{TopBar-BQhv8Jcc.js.map → TopBar-C9ro4_7Q.js.map} +1 -1
- package/dist/{TopBar-4zZ-wYMY.cjs → TopBar-CkCLoFp7.cjs} +2 -2
- package/dist/{TopBar-4zZ-wYMY.cjs.map → TopBar-CkCLoFp7.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-c6twungI.js → UpgradeToEnterpriseDialog-BH0WHey-.js} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-c6twungI.js.map → UpgradeToEnterpriseDialog-BH0WHey-.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-C0MA3Uc-.cjs → UpgradeToEnterpriseDialog-EaQZfck4.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-C0MA3Uc-.cjs.map → UpgradeToEnterpriseDialog-EaQZfck4.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-Bowkx8lp.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CHXJm9wA.cjs} +21 -21
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-Bowkx8lp.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CHXJm9wA.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CVrrWDJ_.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-xI8cv5P5.js} +453 -448
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CVrrWDJ_.js.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-xI8cv5P5.js.map} +1 -1
- package/dist/{VWidget-iTwRH6Qq.cjs → VWidget-CRqTUgEv.cjs} +2 -2
- package/dist/{VWidget-iTwRH6Qq.cjs.map → VWidget-CRqTUgEv.cjs.map} +1 -1
- package/dist/{VWidget-iASFPjdx.js → VWidget-DuUens7G.js} +2 -2
- package/dist/{VWidget-iASFPjdx.js.map → VWidget-DuUens7G.js.map} +1 -1
- package/dist/{ValueWidget-CPuSUgn9.cjs → ValueWidget-CN-B9LDi.cjs} +2 -2
- package/dist/{ValueWidget-CPuSUgn9.cjs.map → ValueWidget-CN-B9LDi.cjs.map} +1 -1
- package/dist/{ValueWidget-BVI6uUVX.js → ValueWidget-cbjxVV3B.js} +4 -4
- package/dist/{ValueWidget-BVI6uUVX.js.map → ValueWidget-cbjxVV3B.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-CNdyobcf.cjs → ValuelimitsbarWidget-BLHVD0qM.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-CNdyobcf.cjs.map → ValuelimitsbarWidget-BLHVD0qM.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-BiIcery0.js → ValuelimitsbarWidget-cQb2o_xH.js} +4 -4
- package/dist/{ValuelimitsbarWidget-BiIcery0.js.map → ValuelimitsbarWidget-cQb2o_xH.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-BiRI8GbI.js → ValuelimitscolumnWidget-BBTuSCK9.js} +4 -4
- package/dist/{ValuelimitscolumnWidget-BiRI8GbI.js.map → ValuelimitscolumnWidget-BBTuSCK9.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-Db0K4OjQ.cjs → ValuelimitscolumnWidget-DqGxHe2k.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-Db0K4OjQ.cjs.map → ValuelimitscolumnWidget-DqGxHe2k.cjs.map} +1 -1
- package/dist/{ValuerangebarWidget-CtMFQu9-.js → ValuerangebarWidget-Ct7iGtu0.js} +4 -4
- package/dist/{ValuerangebarWidget-CtMFQu9-.js.map → ValuerangebarWidget-Ct7iGtu0.js.map} +1 -1
- package/dist/{ValuerangebarWidget-DAEr-D_E.cjs → ValuerangebarWidget-xMsUfp1H.cjs} +2 -2
- package/dist/{ValuerangebarWidget-DAEr-D_E.cjs.map → ValuerangebarWidget-xMsUfp1H.cjs.map} +1 -1
- package/dist/{VerticalWidget-CRmcpQBn.js → VerticalWidget-DJn02myf.js} +2 -2
- package/dist/{VerticalWidget-CRmcpQBn.js.map → VerticalWidget-DJn02myf.js.map} +1 -1
- package/dist/{VerticalWidget-YG3auPJa.cjs → VerticalWidget-DiW_FZuh.cjs} +2 -2
- package/dist/{VerticalWidget-YG3auPJa.cjs.map → VerticalWidget-DiW_FZuh.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-C-qChjug.js → VerticalboxWidget-DHQMxtF3.js} +5 -5
- package/dist/{VerticalboxWidget-C-qChjug.js.map → VerticalboxWidget-DHQMxtF3.js.map} +1 -1
- package/dist/{VerticalboxWidget-DX8-gFay.cjs → VerticalboxWidget-miKFocA3.cjs} +2 -2
- package/dist/{VerticalboxWidget-DX8-gFay.cjs.map → VerticalboxWidget-miKFocA3.cjs.map} +1 -1
- package/dist/{Widget-EsyLQi_8.cjs → Widget-BMqF6Utz.cjs} +2 -2
- package/dist/{Widget-EsyLQi_8.cjs.map → Widget-BMqF6Utz.cjs.map} +1 -1
- package/dist/{Widget-CFEnOKms.js → Widget-CP2CtyUr.js} +2 -2
- package/dist/{Widget-CFEnOKms.js.map → Widget-CP2CtyUr.js.map} +1 -1
- package/dist/components.cjs +2 -2
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +84 -76
- package/dist/components.js.map +1 -1
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +116 -110
- package/dist/plugins.js.map +1 -1
- package/dist/tools/admin.cjs +1 -1
- package/dist/tools/admin.js +12 -12
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.js +2 -2
- package/dist/tools/calendar.cjs +1 -1
- package/dist/tools/calendar.js +1 -1
- package/dist/tools/scriptrunner.cjs +3 -3
- package/dist/tools/scriptrunner.cjs.map +1 -1
- package/dist/tools/scriptrunner.js +14 -14
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +63 -63
- package/package.json +2 -2
- package/dist/EventListDialog-Bniar26O.js.map +0 -1
- package/dist/EventListDialog-D_KXhGDO.cjs +0 -2
- package/dist/EventListDialog-D_KXhGDO.cjs.map +0 -1
- package/dist/Layout-BLADjt_A.cjs +0 -2
- package/dist/Openc3Screen-COi4u-9k.cjs +0 -5
- package/dist/Openc3Screen-COi4u-9k.cjs.map +0 -1
- package/dist/Openc3Screen-CtwGKfq-.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const _=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-Bowkx8lp.cjs"),D=require("./timeFilters-CJFxfjqN.cjs"),e=require("vue"),x=require("./CustomIcon-Bop2mEnu.cjs"),b=require("./ScriptChooser-Dkf84RzQ.cjs");require("single-spa");const T=require("./parse-DwfgQboe.cjs"),A=require("./addMonths-n1tnl3ab.cjs"),N=require("./format-B22VpiOS.cjs");function I(a,t,i){const{years:r=0,months:o=0,weeks:n=0,days:l=0,hours:s=0,minutes:y=0,seconds:d=0}=t,u=N.toDate(a,i==null?void 0:i.in),p=o||r?A.addMonths(u,o+r*12):u,f=l||n?T.addDays(p,l+n*7):p,V=y+s*60,w=(d+V*60)*1e3;return N.constructFrom(a,+f+w)}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=T.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(I(t,{minutes:30}),"HH:mm:ss")}}},H={components:{EnvironmentChooser:b.EnvironmentChooser,ScriptChooser:b.ScriptChooser},mixins:[k,D.TimeFilters],props:{modelValue:Boolean,timelines:{type:Array,required:!0},activity:{type:Object,default:null}},data(){return{timeline:null,dialogStep:1,kind:"",types:["COMMAND","SCRIPT","RESERVE"],activityData:"",activityEnvironment:[],rules:{required:a=>!!a||"Required"},recurring:!1,recurringEndDate:null,recurringEndTime:null,frequency:90,timeSpan:"minutes",timeSpans:["minutes","hours","days"]}},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)}}},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,(a=this.activity.recurring)!=null&&a.uuid){this.recurring=!0;const r=new Date(this.activity.recurring.end*1e3);this.recurringEndDate=this.formatDate(r,this.timeZone),this.recurringEndTime=this.formatTimeHMS(r,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.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 r=this.kind.toLowerCase();let o={environment:this.activityEnvironment};o[r]=this.activityData;let n={};this.recurring&&(n={frequency:this.frequency,span:this.timeSpan,end:i}),this.activity?_.li.put(`/openc3-api/timeline/${this.activity.name}/activity/${this.activity.start}`,{data:{start:a,stop:t,kind:r,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}):_.li.post(`/openc3-api/timeline/${this.timeline}/activities`,{data:{start:a,stop:t,kind:r,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()}}},Z={key:0},O={key:1},F={class:"pr-2"},R=["textContent"],z={class:"pr-2"},P={key:0},L={key:1,class:"ma-3"},j={key:2},K=["textContent"];function W(a,t,i,r,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),y=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-row"),u=e.resolveComponent("v-select"),p=e.resolveComponent("v-text-field"),f=e.resolveComponent("v-checkbox"),V=e.resolveComponent("v-col"),C=e.resolveComponent("v-card-text"),w=e.resolveComponent("script-chooser"),h=e.resolveComponent("environment-chooser"),v=e.resolveComponent("v-stepper"),g=e.resolveComponent("v-card"),m=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(m,{modelValue:n.show,"onUpdate:modelValue":t[15]||(t[15]=c=>n.show=c),persistent:"",width:"600"},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(y,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.activity?(e.openBlock(),e.createElementBlock("span",Z,"Edit Activity")):(e.openBlock(),e.createElementBlock("span",O,"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(v,{modelValue:o.dialogStep,"onUpdate:modelValue":t[14]||(t[14]=c=>o.dialogStep=c),editable:"",items:["Activity Times","Activity Type"]},e.createSlots({"item.1":e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createElementVNode("div",F,[e.createVNode(u,{modelValue:o.timeline,"onUpdate:modelValue":t[1]||(t[1]=c=>o.timeline=c),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(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(p,{modelValue:a.startDate,"onUpdate:modelValue":t[2]||(t[2]=c=>a.startDate=c),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[3]||(t[3]=c=>a.startTime=c),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(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(p,{modelValue:a.endDate,"onUpdate:modelValue":t[4]||(t[4]=c=>a.endDate=c),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[5]||(t[5]=c=>a.endTime=c),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(d,{class:"pl-3"},{default:e.withCtx(()=>[e.createVNode(f,{modelValue:o.recurring,"onUpdate:modelValue":t[6]||(t[6]=c=>o.recurring=c),disabled:!!i.activity,label:"Recurring","hide-details":"","data-test":"recurring"},null,8,["modelValue","disabled"])]),_:1}),o.recurring?(e.openBlock(),e.createBlock(d,{key:0},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>t[19]||(t[19]=[e.createElementVNode("div",{class:"repeat"},"Repeat every",-1)])),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(p,{modelValue:o.frequency,"onUpdate:modelValue":t[7]||(t[7]=c=>o.frequency=c),disabled:!!i.activity,density:"compact",variant:"outlined","single-line":"","hide-details":"","data-test":"recurring-frequency"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(u,{modelValue:o.timeSpan,"onUpdate:modelValue":t[8]||(t[8]=c=>o.timeSpan=c),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(d,{key:1,style:{"padding-bottom":"10px"}},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>t[20]||(t[20]=[e.createElementVNode("div",{class:"repeat"},"Ending",-1)])),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(p,{modelValue:o.recurringEndDate,"onUpdate:modelValue":t[9]||(t[9]=c=>o.recurringEndDate=c),type:"date",label:"End Date",class:"mx-1",rules:[o.rules.required],disabled:!!i.activity,"data-test":"recurring-end-date"},null,8,["modelValue","rules","disabled"])]),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(p,{modelValue:o.recurringEndTime,"onUpdate:modelValue":t[10]||(t[10]=c=>o.recurringEndTime=c),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(d,null,{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.timeError)},null,8,R),[[e.vShow,n.timeError]])]),_:1})])]),_:1})]),"item.2":e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createElementVNode("div",z,[e.createVNode(u,{modelValue:o.kind,"onUpdate:modelValue":t[11]||(t[11]=c=>o.kind=c),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",P,[e.createVNode(p,{modelValue:o.activityData,"onUpdate:modelValue":t[12]||(t[12]=c=>o.activityData=c),type:"text",label:"Command Input",placeholder:"INST COLLECT with TYPE 0, DURATION 1, OPCODE 171, TEMP 0",prefix:"cmd('",suffix:"')",hint:"Timeline runs commands with cmd_no_hazardous_check","data-test":"activity-cmd"},null,8,["modelValue"])])):o.kind==="SCRIPT"?(e.openBlock(),e.createElementBlock("div",L,[e.createVNode(w,{onFile:n.fileHandler},null,8,["onFile"]),e.createVNode(h,{modelValue:o.activityEnvironment,"onUpdate:modelValue":t[13]||(t[13]=c=>o.activityEnvironment=c)},null,8,["modelValue"])])):(e.openBlock(),e.createElementBlock("div",j,t[21]||(t[21]=[e.createElementVNode("span",{class:"ma-2"}," No required input ",-1)]))),e.withDirectives(e.createVNode(d,{class:"mt-2"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.typeError)},null,8,K)]),_:1},512),[[e.vShow,n.typeError]])])]),_:1})]),_:2},[o.dialogStep===2?{name:"actions",fn:e.withCtx(()=>[e.createVNode(d,{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[16]||(t[16]=[e.createTextVNode(" Previous ")])),_:1}),e.createVNode(l),e.createVNode(s,{variant:"outlined",class:"mr-4",onClick:n.clearHandler},{default:e.withCtx(()=>t[17]||(t[17]=[e.createTextVNode(" Cancel ")])),_:1},8,["onClick"]),e.createVNode(s,{type:"submit",color:"primary",disabled:!!a.error,onClick:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>t[18]||(t[18]=[e.createTextVNode(" Ok ")])),_:1},8,["disabled","onClick"])]),_:1})]),key:"0"}:void 0]),1032,["modelValue"])]),_:1})]),_:1},8,["modelValue"])])}const S=x._export_sfc(H,[["render",W],["__scopeId","data-v-a2610a2a"]]),Y={components:{},props:{modelValue:{type:String,required:!0}},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 G(a,t,i,r,o,n){const l=e.resolveComponent("v-icon"),s=e.resolveComponent("v-list-item"),y=e.resolveComponent("v-select");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(y,{label:"Color",items:n.swatches,modelValue:n.color,"onUpdate:modelValue":t[0]||(t[0]=d=>n.color=d)},{"prepend-inner":e.withCtx(()=>[e.createVNode(l,{color:n.color},{default:e.withCtx(()=>t[1]||(t[1]=[e.createTextVNode(" mdi-square ")])),_:1},8,["color"])]),item:e.withCtx(({props:d,item:u})=>[e.createVNode(s,e.mergeProps(d,{value:u.raw}),{prepend:e.withCtx(()=>[e.createVNode(l,{color:u.raw},{default:e.withCtx(()=>t[2]||(t[2]=[e.createTextVNode(" mdi-square ")])),_:2},1032,["color"])]),_:2},1040,["value"])]),_:1},8,["items","modelValue"])])}const E=x._export_sfc(Y,[["render",G]]),U={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(()=>_.li.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(()=>{})}}},J={components:{},props:{modelValue:{type:Array,required:!0}},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)}}},Q={scope:"col",class:"text-right"};function X(a,t,i,r,o,n){const l=e.resolveComponent("v-btn"),s=e.resolveComponent("v-text-field"),y=e.resolveComponent("v-table");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(y,{dense:""},{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",Q,[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,(d,u)=>(e.openBlock(),e.createElementBlock("tr",{key:`tr-${u}`},[e.createElementVNode("td",null,[e.createVNode(s,{modelValue:d.key,"onUpdate:modelValue":p=>d.key=p,type:"text",density:"compact","data-test":`key-${u}`},null,8,["modelValue","onUpdate:modelValue","data-test"])]),e.createElementVNode("td",null,[e.createVNode(s,{modelValue:d.value,"onUpdate:modelValue":p=>d.value=p,type:"text",density:"compact","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(J,[["render",X]]),$={components:{ColorSelectForm:E,MetadataInputForm:M},mixins:[k,D.TimeFilters],props:{modelValue:Boolean,metadata:{type:Object,default:null}},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((r,o)=>(r[o.key]=o.value,r),{}),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?_.li.put(`/openc3-api/metadata/${this.metadata.start}`,{data:i}).then(r=>{this.$notify.normal({title:"Updated Metadata",body:`Metadata updated: (${r.data.start})`}),this.$emit("update",r.data),this.show=!this.show}):_.li.post("/openc3-api/metadata",{data:i}).then(r=>{this.$notify.normal({title:"Created new Metadata",body:`Metadata: (${r.data.start})`}),this.$emit("update",r.data),this.show=!this.show})}}},ee={key:0},te={key:1},ae={class:"pa-2"},oe={class:"pa-2"},ne={style:{"min-height":"200px"}},ie=["textContent"];function le(a,t,i,r,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),y=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-row"),u=e.resolveComponent("color-select-form"),p=e.resolveComponent("v-text-field"),f=e.resolveComponent("v-card-text"),V=e.resolveComponent("metadata-input-form"),C=e.resolveComponent("v-stepper"),w=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"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(y,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.metadata?(e.openBlock(),e.createElementBlock("span",ee,"Update Metadata")):(e.openBlock(),e.createElementBlock("span",te,"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(C,{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(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",ae,[e.createVNode(u,{modelValue:o.color,"onUpdate:modelValue":t[1]||(t[1]=v=>o.color=v)},null,8,["modelValue"]),e.createVNode(d,{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(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",oe,[e.createElementVNode("div",ne,[e.createVNode(V,{modelValue:o.metadataVals,"onUpdate:modelValue":t[4]||(t[4]=v=>o.metadataVals=v)},null,8,["modelValue"])]),e.withDirectives(e.createVNode(d,null,{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.typeError)},null,8,ie)]),_:1},512),[[e.vShow,n.typeError]])])]),_:1})]),_:2},[o.dialogStep===2?{name:"actions",fn:e.withCtx(()=>[e.createVNode(d,{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}),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},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},8,["disabled","onClick"])]),_:1})]),key:"0"}:void 0]),1032,["modelValue"])]),_:1})]),_:1},8,["modelValue"])])}const B=x._export_sfc($,[["render",le],["__scopeId","data-v-c120467c"]]),re={components:{ColorSelectForm:E},mixins:[k,D.TimeFilters],props:{modelValue:Boolean,note:{type:Object}},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,r=this.description;this.note?_.li.put(`/openc3-api/notes/${this.note.start}`,{data:{start:a,stop:t,color:i,description:r}}).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}):_.li.post("/openc3-api/notes",{data:{start:a,stop:t,color:i,description:r}}).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})}}},se={key:0},de={key:1},ce={class:"pa-2"},me=["textContent"],ue={class:"pa-2"},pe=["textContent"];function he(a,t,i,r,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),y=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-row"),u=e.resolveComponent("v-text-field"),p=e.resolveComponent("v-card-text"),f=e.resolveComponent("color-select-form"),V=e.resolveComponent("v-stepper"),C=e.resolveComponent("v-card"),w=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(w,{modelValue:n.show,"onUpdate:modelValue":t[8]||(t[8]=h=>n.show=h),persistent:"",width:"600"},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(y,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.note?(e.openBlock(),e.createElementBlock("span",se,"Update Note")):(e.openBlock(),e.createElementBlock("span",de,"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(V,{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",ce,[e.createVNode(d,{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(d,{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(d,null,{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.timeError)},null,8,me),[[e.vShow,n.timeError]])]),_:1})])]),_:1})]),"item.2":e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("div",ue,[e.createElementVNode("div",null,[e.createVNode(f,{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(d,null,{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.typeError)},null,8,pe)]),_:1},512),[[e.vShow,n.typeError]])])]),_:1})]),_:2},[o.dialogStep===2?{name:"actions",fn:e.withCtx(()=>[e.createVNode(d,{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}),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},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},8,["disabled","onClick"])]),_:1})]),key:"0"}:void 0]),1032,["modelValue"])]),_:1})]),_:1},8,["modelValue"])])}const q=x._export_sfc(re,[["render",he],["__scopeId","data-v-829ef502"]]),ve={components:{ActivityCreateDialog:S,MetadataCreateDialog:B,NoteCreateDialog:q},mixins:[D.TimeFilters,U],props:{events:{type:Array,required:!0},modelValue:{type:Boolean,required:!0},timeZone:{type:String,required:!0},types:{type:Array},newMetadata:{type:Boolean,default:!1}},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(([r,o])=>i.push(`${r}: ${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,r=null,o=null;switch(a.type){case"activity":i=`timeline/${a.activity.name}/activity`,r=a.activity.start,o=a.activity.uuid;break;case"metadata":i="metadata",r=a.metadata.start;break;case"note":i="notes",r=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}/${r}`;return o&&(l+=`/${o}`),_.li.delete(l)}).then(n=>{this.$emit("update"),this.$notify.normal({title:`Deleted ${a.type}`,body:`Deleted ${a.type} at ${r}`})}).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)}}},Ve={key:0},ye={key:1},fe={key:0},Ce={key:1};function we(a,t,i,r,o,n){const l=e.resolveComponent("v-spacer"),s=e.resolveComponent("v-btn"),y=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-text-field"),u=e.resolveComponent("v-row"),p=e.resolveComponent("v-card-title"),f=e.resolveComponent("v-data-table"),V=e.resolveComponent("v-card-actions"),C=e.resolveComponent("v-card"),w=e.resolveComponent("v-dialog"),h=e.resolveComponent("activity-create-dialog"),v=e.resolveComponent("metadata-create-dialog"),g=e.resolveComponent("note-create-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(w,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=m=>n.show=m),persistent:"",width:"80vw"},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(y,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),i.newMetadata?(e.openBlock(),e.createElementBlock("span",Ve,"Metadata")):(e.openBlock(),e.createElementBlock("span",ye,"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",fe,"Metadata")):(e.openBlock(),e.createElementBlock("span",Ce,"Events")),e.createVNode(l),e.createVNode(d,{modelValue:o.search,"onUpdate:modelValue":t[0]||(t[0]=m=>o.search=m),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":""},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(f,{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:m})=>[e.createTextVNode(e.toDisplayString(a.formatDateTime(m.start,i.timeZone)),1)]),"item.end":e.withCtx(({item:m})=>[e.createTextVNode(e.toDisplayString(a.formatDateTime(m.end,i.timeZone)),1)]),"item.type":e.withCtx(({item:m})=>[e.createTextVNode(e.toDisplayString(m.type.charAt(0).toUpperCase()+m.type.slice(1)),1)]),"item.data":e.withCtx(({item:m})=>[e.createTextVNode(e.toDisplayString(n.dataFormat(m)),1)]),"item.actions":e.withCtx(({item:m})=>[e.createVNode(s,{icon:"mdi-pencil",variant:"text",size:"small",class:"mr-2","data-test":"edit-event","aria-label":"Edit Event",onClick:c=>n.editAction(m)},null,8,["onClick"]),e.createVNode(s,{icon:"mdi-delete",variant:"text",size:"small","data-test":"delete-event","aria-label":"Delete Event",onClick:c=>n.deleteAction(m)},null,8,["onClick"])]),_:1},8,["headers","items","search"]),e.createVNode(V,{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},8,["onClick"]),i.newMetadata?(e.openBlock(),e.createBlock(s,{key:0,variant:"flat","data-test":"new-event",onClick:t[1]||(t[1]=m=>o.showMetadataCreate=!0)},{default:e.withCtx(()=>t[9]||(t[9]=[e.createTextVNode(" New Metadata ")])),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),o.showActivityUpdate?(e.openBlock(),e.createBlock(h,{key:0,modelValue:o.showActivityUpdate,"onUpdate:modelValue":t[3]||(t[3]=m=>o.showActivityUpdate=m),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]=m=>o.showMetadataUpdate=m),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(g,{key:2,modelValue:o.showNoteUpdate,"onUpdate:modelValue":t[5]||(t[5]=m=>o.showNoteUpdate=m),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]=m=>o.showMetadataCreate=m),"time-zone":i.timeZone,onUpdate:n.addMetadata},null,8,["modelValue","time-zone","onUpdate"])):e.createCommentVNode("",!0)])}const _e=x._export_sfc(ve,[["render",we]]);exports.ActivityCreateDialog=S;exports.ColorSelectForm=E;exports.CreateDialog=k;exports.DeleteItem=U;exports.EventListDialog=_e;exports.MetadataCreateDialog=B;exports.MetadataInputForm=M;exports.NoteCreateDialog=q;
|
|
2
|
-
//# sourceMappingURL=EventListDialog-D_KXhGDO.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EventListDialog-D_KXhGDO.cjs","sources":["../../../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\">\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 editable\n :items=\"['Activity Times', 'Activity Type']\"\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=\"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-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-text-field\n v-model=\"activityData\"\n type=\"text\"\n label=\"Command Input\"\n placeholder=\"INST COLLECT with TYPE 0, DURATION 1, OPCODE 171, TEMP 0\"\n prefix=\"cmd('\"\n suffix=\"')\"\n hint=\"Timeline runs commands with cmd_no_hazardous_check\"\n data-test=\"activity-cmd\"\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 </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { EnvironmentChooser, ScriptChooser } from '@/components'\nimport { TimeFilters } from '@/util'\nimport CreateDialog from './CreateDialog'\n\nexport default {\n components: {\n EnvironmentChooser,\n ScriptChooser,\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 data() {\n return {\n timeline: null,\n dialogStep: 1,\n kind: '',\n types: ['COMMAND', 'SCRIPT', 'RESERVE'],\n activityData: '',\n activityEnvironment: [],\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 }\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 },\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 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.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 = { environment: this.activityEnvironment }\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 },\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 label=\"Color\" :items=\"swatches\" v-model=\"color\">\n <template v-slot:prepend-inner>\n <v-icon :color=\"color\"> mdi-square </v-icon>\n </template>\n <template v-slot:item=\"{ props, item }\">\n <v-list-item v-bind=\"props\" :value=\"item.raw\">\n <template v-slot: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 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 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-table dense>\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\">\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 type=\"text\"\n density=\"compact\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"meta.value\"\n type=\"text\"\n density=\"compact\"\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 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\">\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 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\">\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 },\n },\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\">\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 },\n newMetadata: {\n type: Boolean,\n default: false,\n },\n },\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","TimeFilters","value","now","end","timeline","inputKind","event","sDate","eDate","_a","rDate","stop","recurringEnd","kind","data","recurring","Api","response","activityTime","error","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_9","_createElementBlock","_createVNode","_component_v_dialog","$options","_cache","$event","_withCtx","_component_v_card","_component_v_toolbar","_component_v_spacer","$props","_hoisted_1","_hoisted_2","_component_v_btn","_component_v_stepper","$data","_createSlots","_component_v_card_text","_createElementVNode","_component_v_select","_component_v_row","_component_v_text_field","_ctx","_component_v_checkbox","_openBlock","_createBlock","_component_v_col","_createCommentVNode","_toDisplayString","_hoisted_6","_hoisted_7","_component_script_chooser","_component_environment_chooser","_hoisted_8","_createTextVNode","_withModifiers","_component_v_icon","props","item","_component_v_list_item","_mergeProps","DeleteItem","api","index","_component_v_table","_Fragment","_renderList","meta","i","ColorSelectForm","MetadataInputForm","k","color","metadata","result","element","_component_color_select_form","_component_metadata_input_form","description","desc","ActivityCreateDialog","MetadataCreateDialog","NoteCreateDialog","rows","key","deleteIndex","uuid","dialog","url","_component_v_card_title","_component_v_data_table","_component_v_card_actions","_component_activity_create_dialog","_component_metadata_create_dialog","_component_note_create_dialog"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/Layout-BLADjt_A.cjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";const y=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-Bowkx8lp.cjs"),e=require("vue"),C=require("./CustomIcon-Bop2mEnu.cjs"),E=require("./fileIcon-BduOQcTc.cjs"),V=require("./TopBar-4zZ-wYMY.cjs");class k{constructor(){y.li.get("/openc3-api/autocomplete/data/screen").then(n=>{this.autocompleteData=n.data}),this.api=new y.pi}async getCompletions(n,i,s,o,l){let m=i.getLine(s.row).slice(0,s.column).trimStart().split(/ (?![^<]*>)/),d=this.autocompleteData;m.length>1&&(d=d.find(h=>h.caption===m[0]));let r={},a=!0;if(d&&d.params){d.params.length==m.length-1&&(a=!1);let h=d.params[m.length-2];if(h["Target name"])d=(await this.api.get_target_names()).reduce((x,v)=>(x[v]=1,x),{});else if(h["Packet name"]){let g=m[m.length-2];d=(await this.api.get_all_tlm(g)).reduce((v,f)=>(v[f.packet_name]=f.description,v),{})}else if(h["Item name"]){let g=m[m.length-3],x=m[m.length-2];d=(await this.api.get_tlm(g,x)).items.reduce((f,c)=>(f[c.name]=c.description,f),{})}else d=h;r=Object.keys(d||{}).map(g=>{let x={value:g+(a?" ":""),command:a&&"startAutocomplete"};return typeof d[g]=="string"&&(x.meta=d[g]),x})}else r=d;l(null,r)}}const T={props:{modelValue:Boolean,target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},errors:{type:Array,default:()=>[]}},data(){return{file:null,docsKeyword:"",contextMenu:!1,menuX:0,menuY:0}},computed:{editErrors:function(){if(this.definition===""&&!this.file)return["Input can not be blank."];if(this.errors.length!==0){let t=new Set,n=[];const i=this.errors.toSorted((s,o)=>s.lineNumber-o.lineNumber);for(const s of i){let o=`At ${s.lineNumber}: (${s.line}) ${s.message}.`;s.usage&&(o+=` Usage: ${s.usage}`),n.push(o),t.add(s.message)}return n}return[]},show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},mounted:function(){this.editor=y.aceExports.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const t=this.buildScreenMode();this.editor.session.setMode(new t),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setOption("enableBasicAutocompletion",!0),this.editor.setOption("enableLiveAutocompletion",!0),this.editor.completers=[new k],this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.definition),this.editor.clearSelection(),V.AceEditorUtils.applyVimModeIfEnabled(this.editor),this.editor.focus()},beforeUnmount(){this.editor.destroy(),this.editor.container.remove()},methods:{toggleVimMode:function(){V.AceEditorUtils.toggleVimMode(this.editor)},showContextMenu:function(t){this.menuX=t.pageX,this.menuY=t.pageY;let n=this.editor.getCursorPosition(),i=this.editor.session.getTokenAt(n.row,n.column);if(i){let s=i.value.trim();s.includes(" ")?this.docsKeyword=s.split(" ")[0]:this.docsKeyword=s,this.contextMenu=!0}},openDocumentation(){window.open(`${window.location.origin}/tools/staticdocs/docs/configuration/telemetry-screens#${this.docsKeyword.toLowerCase()}`,"_blank")},buildScreenMode(){let t=y.aceExports.require("ace/lib/oop"),n=y.aceExports.require("ace/mode/text_highlight_rules").TextHighlightRules,i=this.keywords.join("|"),s=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"\\b\\d+(?:\\.\\d+)?\\b"},{token:"keyword",regex:new RegExp(`^\\s*(${i})\\b`)}]},this.normalizeRules()};t.inherits(s,n);let o=function(){this.HighlightRules=s},l=y.aceExports.require("ace/mode/text").Mode;return t.inherits(o,l),(function(){this.$id="ace/mode/openc3"}).call(o.prototype),o},downloadScreen:function(){const t=new Blob([this.editor.getValue()],{type:"text/plain"}),n=document.createElement("a");n.href=URL.createObjectURL(t),n.setAttribute("download",`${this.screen.toLowerCase()}.txt`),n.click()},loadFile:function(){const t=new FileReader;t.readAsText(this.file);const n=this;t.onload=function(){n.editor.setValue(t.result),n.file=null}},deleteScreen:function(){this.$dialog.confirm("Are you sure you want to delete this screen?!",{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.$emit("delete")})}}},B=["textContent"];function D(t,n,i,s,o,l){const u=e.resolveComponent("v-btn"),p=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-row"),r=e.resolveComponent("v-file-input"),a=e.resolveComponent("v-list-item-title"),h=e.resolveComponent("v-list-item"),g=e.resolveComponent("v-divider"),x=e.resolveComponent("v-list"),v=e.resolveComponent("v-menu"),f=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:l.show,"onUpdate:modelValue":n[5]||(n[5]=_=>l.show=_),persistent:"",width:"75vw"},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(m,{height:"24"},{default:e.withCtx(()=>[e.createVNode(u,{class:"mx-2",icon:"mdi-delete",variant:"text",density:"compact","data-test":"delete-screen-icon",onClick:l.deleteScreen},null,8,["onClick"]),e.createVNode(p),e.createElementVNode("span",null," Edit Screen: "+e.toDisplayString(i.target)+" "+e.toDisplayString(i.screen),1),e.createVNode(p),e.createVNode(u,{class:"mx-2",icon:"mdi-download",variant:"text",density:"compact","data-test":"download-screen-icon",onClick:l.downloadScreen},null,8,["onClick"])]),_:1}),e.createVNode(f,{style:{"max-height":"90vh"}},{default:e.withCtx(()=>[e.createVNode(d,{class:"mt-3"},{default:e.withCtx(()=>n[6]||(n[6]=[e.createTextVNode(" Upload a screen file. ")])),_:1}),e.createVNode(d,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(u,{disabled:!o.file,color:"primary",class:"mr-3","data-test":"edit-screen-load",onClick:l.loadFile},{default:e.withCtx(()=>n[7]||(n[7]=[e.createTextVNode(" Load ")])),_:1},8,["disabled","onClick"]),e.createVNode(r,{modelValue:o.file,"onUpdate:modelValue":n[0]||(n[0]=_=>o.file=_),"truncate-length":"15",accept:".txt",label:"Click to select .txt screen file."},null,8,["modelValue"])]),_:1}),e.createVNode(d,{class:"mb-2"},{default:e.withCtx(()=>n[8]||(n[8]=[e.createTextVNode(" Edit the screen definition. ")])),_:1}),e.createVNode(d,{class:"mb-2"},{default:e.withCtx(()=>[e.createElementVNode("pre",{ref:"editor",class:"editor",onContextmenu:n[1]||(n[1]=e.withModifiers((..._)=>l.showContextMenu&&l.showContextMenu(..._),["prevent"]))},null,544),e.createVNode(v,{modelValue:o.contextMenu,"onUpdate:modelValue":n[2]||(n[2]=_=>o.contextMenu=_),target:[o.menuX,o.menuY]},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(h,{link:""},{default:e.withCtx(()=>[e.createVNode(a,{onClick:l.openDocumentation},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.docsKeyword)+" documentation ",1)]),_:1},8,["onClick"])]),_:1}),e.createVNode(g),e.createVNode(h,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:l.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1}),e.createVNode(d,{style:{"max-height":"120px","overflow-y":"auto"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.editErrors,(_,S)=>(e.openBlock(),e.createElementBlock("div",{key:S},[e.createElementVNode("span",{class:"text-red",textContent:e.toDisplayString(_)},null,8,B)]))),128))]),_:1}),e.createVNode(d,{class:"mt-5"},{default:e.withCtx(()=>[n[11]||(n[11]=e.createElementVNode("span",null,"Ctrl-space brings up autocomplete. Right click keywords for documentation.",-1)),e.createVNode(p),e.createVNode(u,{class:"mx-2",variant:"outlined","data-test":"edit-screen-cancel",onClick:n[3]||(n[3]=_=>t.$emit("cancel"))},{default:e.withCtx(()=>n[9]||(n[9]=[e.createTextVNode(" Cancel ")])),_:1}),e.createVNode(u,{class:"mx-2",color:"primary","data-test":"edit-screen-save",onClick:n[4]||(n[4]=_=>t.$emit("save",t.editor.getValue()))},{default:e.withCtx(()=>n[10]||(n[10]=[e.createTextVNode(" Save ")])),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const b=C._export_sfc(T,[["render",D],["__scopeId","data-v-0caab967"]]),I={props:{modelValue:Boolean},data(){return{alert:"",alertType:"success",showAlert:!1,search:"",key:"",keyValue:"",environment:[],headers:[{text:"Key",value:"key"},{text:"Value",value:"value"},{text:"Actions",value:"actions",align:"end",sortable:!1}]}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},mounted(){this.update()},methods:{alertHandler:function(t){this.alert=t.text,this.alertType=t.type,this.showAlert=!0},update:function(){y.li.get("/openc3-api/environment").then(t=>{this.environment=t.data}).catch(t=>{})},addEnvironment:function(){y.li.post("/openc3-api/environment",{data:{key:this.key.toUpperCase(),value:this.keyValue}}).then(t=>{`${t.data.name}`,this.update()}).catch(t=>{const n={text:`Failed to add environment variable: ${t}`,type:"error"};this.alertHandler(n)}),this.key="",this.keyValue=""},deleteEnvironment:function(t){this.$dialog.confirm(`Are you sure you want to delete: ${t.key}=${t.value}`,{okText:"Delete",cancelText:"Cancel"}).then(n=>y.li.delete(`/openc3-api/environment/${t.name}`)).then(n=>{const i={text:`Removed environment variable: ${t.name}`,type:"success"};this.alertHandler(i),this.update()}).catch(n=>{const i={text:`Failed to delete environment: ${n}`,type:"error"};this.alertHandler(i)})}}},F={class:"pa-3"};function A(t,n,i,s,o,l){const u=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-row"),r=e.resolveComponent("v-btn"),a=e.resolveComponent("v-data-table"),h=e.resolveComponent("v-col"),g=e.resolveComponent("v-card-text"),x=e.resolveComponent("v-card"),v=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(v,{modelValue:l.show,"onUpdate:modelValue":n[4]||(n[4]=f=>l.show=f),width:"600"},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:n[3]||(n[3]=e.withModifiers((...f)=>l.addEnvironment&&l.addEnvironment(...f),["prevent"]))},[e.createVNode(p,{height:"24"},{default:e.withCtx(()=>[e.createVNode(u),n[5]||(n[5]=e.createElementVNode("span",null,"Global Environment Variables",-1)),e.createVNode(u)]),_:1}),e.createVNode(g,null,{default:e.withCtx(()=>[e.createElementVNode("div",F,[e.createVNode(d,{dense:"",class:"mb-2"},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:o.search,"onUpdate:modelValue":n[0]||(n[0]=f=>o.search=f),label:"search",type:"text","data-test":"search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline",autofocus:"","single-line":"","hide-details":""},null,8,["modelValue"])]),_:1}),e.createVNode(a,{"item-key":"name","hide-default-header":"","data-test":"env-table",search:o.search,headers:o.headers,items:o.environment,"items-per-page":5,"items-per-page-options":[5]},{"item.actions":e.withCtx(({item:f})=>[e.createVNode(r,{icon:"mdi-delete",variant:"text",class:"mt-1","data-test":"item-delete","aria-label":"Delete Environment Variable",onClick:c=>l.deleteEnvironment(f)},null,8,["onClick"])]),_:1},8,["search","headers","items"]),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(m,{modelValue:o.key,"onUpdate:modelValue":n[1]||(n[1]=f=>o.key=f),label:"Key","data-test":"env-key"},null,8,["modelValue"])]),_:1}),e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(m,{modelValue:o.keyValue,"onUpdate:modelValue":n[2]||(n[2]=f=>o.keyValue=f),label:"Value","data-test":"env-value"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(r,{block:"",type:"submit",color:"primary","data-test":"add-env",disabled:!o.key||!o.keyValue,onClick:e.withModifiers(l.addEnvironment,["prevent"])},{default:e.withCtx(()=>n[6]||(n[6]=[e.createTextVNode(" Add ")])),_:1},8,["disabled","onClick"])]),_:1})])]),_:1})],32)]),_:1})]),_:1},8,["modelValue"])}const M=C._export_sfc(I,[["render",A]]),O={class:"tree-node"},R={class:"content-wrapper"},L=["tabindex"],z={key:1},U={key:2,class:"children"},P={__name:"TreeNode",props:{node:{type:Object,required:!0},search:{type:String,default:""},type:{type:String,default:"open"}},emits:["nodeToggled","request"],setup(t,{emit:n}){const i=t,s=e.ref(i.node.isOpen||!1),o=e.computed(()=>{const r=a=>{var h;return!i.search||a.path.toLowerCase().includes(i.search.toLowerCase())?!0:!!((h=a.children)!=null&&h.some(r))};return r(i.node)});e.watch(()=>i.node.isOpen,r=>{s.value=r}),e.watch(()=>i.search,r=>{r?i.node.isOpen||p():i.node.isOpen&&p()});const l=n,u=r=>{r.children?(p(),i.type==="save"&&l("request",r)):l("request",r)},p=()=>{i.node.children&&(s.value=!s.value,i.node.isOpen=s.value,l("nodeToggled",i.node.id,s.value))},m=(r,a)=>{l("nodeToggled",r,a)},d=r=>{l("request",r)};return(r,a)=>{const h=e.resolveComponent("v-icon"),g=e.resolveComponent("v-btn"),x=e.resolveComponent("tree-node",!0);return e.openBlock(),e.createElementBlock("div",O,[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"node-content",onClick:a[2]||(a[2]=v=>u(t.node))},[e.createElementVNode("div",R,[t.node.children?(e.openBlock(),e.createBlock(h,{key:0,class:"toggle-icon",style:{"padding-right":"10px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.node.isOpen?"mdi-menu-down":"mdi-menu-right"),1)]),_:1})):e.createCommentVNode("",!0),t.node.children?(e.openBlock(),e.createBlock(h,{key:1,size:"small",style:{"padding-right":"10px"}},{default:e.withCtx(()=>a[3]||(a[3]=[e.createTextVNode(e.toDisplayString("mdi-folder"))])),_:1})):t.node.title.includes(".rb")?(e.openBlock(),e.createBlock(h,{key:2,size:"small",style:{"padding-right":"10px"}},{default:e.withCtx(()=>a[4]||(a[4]=[e.createTextVNode(e.toDisplayString("mdi-language-ruby"))])),_:1})):t.node.title.includes(".py")?(e.openBlock(),e.createBlock(h,{key:3,size:"small",style:{"padding-right":"10px"}},{default:e.withCtx(()=>a[5]||(a[5]=[e.createTextVNode(e.toDisplayString("mdi-language-python"))])),_:1})):(e.openBlock(),e.createBlock(h,{key:4,size:"small",style:{"padding-right":"10px"}},{default:e.withCtx(()=>a[6]||(a[6]=[e.createTextVNode(e.toDisplayString("mdi-file-document"))])),_:1})),e.createElementVNode("span",{class:"title",tabindex:t.node.children?-1:0,onKeyup:a[0]||(a[0]=e.withKeys(v=>u(t.node),["enter"]))},e.toDisplayString(t.node.title),41,L),t.node.title==="__TEMP__"?(e.openBlock(),e.createBlock(g,{key:5,icon:"mdi-delete",variant:"text",style:{"margin-left":"auto"},"aria-label":"Delete",onClick:a[1]||(a[1]=v=>l("delete"))})):e.createCommentVNode("",!0)])])):(e.openBlock(),e.createElementBlock("div",z)),t.node.children&&t.node.isOpen?(e.openBlock(),e.createElementBlock("div",U,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node.children,v=>(e.openBlock(),e.createBlock(x,{key:v.id,node:v,search:t.search,type:t.type,onNodeToggled:m,onRequest:d},null,8,["node","search","type"]))),128))])):e.createCommentVNode("",!0)])}}},W=C._export_sfc(P,[["__scopeId","data-v-74233c4c"]]),q={components:{TreeNode:W},props:{type:{type:String,required:!0,validator:function(t){return["open","save"].indexOf(t)!==-1}},apiUrl:String,requireTargetParentDir:Boolean,inputFilename:String,modelValue:Boolean},data(){return{tree:[],items:[],search:null,selectedFile:null,disableButtons:!1,targets:[],targetsRetrieved:[],loading:!0}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},title:function(){return this.type==="open"?"File Open":"File Save As..."},submit:function(){return this.type==="open"?"OPEN":"SAVE"},helpText:function(){return this.type==="open"?"Click on folders to open them and then click a file to select it before clicking Open. Use the search box to filter the results. You can also Tab to the files and Enter to select.":"Click on the folder to save into. Then complete the filename path with the desired name. Use the search box to filter the results."},error:function(){if(this.selectedFile===""||this.selectedFile===null)return"No file selected must select a file";if(!this.selectedFile.match(this.validFilenameRegex)||this.selectedFile.match(/\.\.|\/\/|\.\/|\/\./)){let t=`${this.selectedFile} is not a valid filename. Must `;return this.requireTargetParentDir&&(t+="be in a target directory and "),t+=`only contain alphanumeric characters (including !-_.*) and a valid extension.
|
|
2
|
-
|
|
3
|
-
For example: TGT1/procedures/test.py or TGT2/lib/inst.rb`,t}return this.type==="save"&&this.selectedFile.match(/\*$/)?`${this.selectedFile} is not a valid filename. Must not end in '*'.`:null},validFilenameRegex:function(){const t="0-9a-zA-Z";let i=`[${`${t}\\/\\!\\-\\_\\.\\*\\'\\(\\)`}]+\\.[${t}]+`;return this.requireTargetParentDir&&(i=`\\/?${`(${this.targets.join("|")})`}\\/${i}`),new RegExp(i)}},created(){y.li.get("/openc3-api/targets").then(t=>{this.targets=t.data,this.targets.push("__TEMP__"),this.targets.forEach(n=>{this.items.push({id:n,disabled:!0,title:n,children:[],path:n}),this.loadFiles(n)}),this.loading=!1})},methods:{calcIcon:function(t){return E.fileIcon(t)},loadFiles:function(t){y.li.get(this.apiUrl,{params:{target:t}}).then(n=>{if(n.data.length===0){this.items=this.items.filter(s=>s.id!==t);return}for(let s of n.data.sort())this.filepath=s,this.insertFile(this.items,2,s);this.inputFilename&&(this.selectedFile=this.inputFilename);const i=this.items.findIndex(s=>s.id===t);i!==-1&&(this.items[i].disabled=!1)}).catch(n=>{this.$emit("error",`Failed to connect to OpenC3. ${n}`)})},clear:function(){this.show=!1,this.overwrite=!1,this.disableButtons=!1},activeFile:function(t){t.length===0?this.selectedFile=null:(this.selectedFile=this.findItem(this.items,t.id),setTimeout(()=>{this.$refs.submitBtn.$el.focus()},100))},findItem:function(t,n){for(let i of t){if(i.id===n)return i.path;if(i.children){const s=this.findItem(i.children,n);if(s)return s}}return null},exists:function(t,n){let i=!1;for(let s of t){if(s.path===n||s.path.length>1&&s.path[s.path.length-1]==="*"&&s.path.slice(0,s.path.length-1)===n)return!0;s.children&&(i=i||this.exists(s.children,n))}return i},success:function(){this.selectedFile!==null&&this.error===null&&(this.type==="open"?this.openSuccess():this.saveSuccess())},deleteTemp:function(){this.$dialog.confirm("Are you sure you want to delete all the temporary files?",{okText:"Delete",cancelText:"Cancel"}).then(t=>y.li.delete("/script-api/scripts/temp_files")).then(t=>{this.$emit("clear-temp"),this.loadFiles("__TEMP__")}).catch(t=>{this.$notify.serious({title:"Error",body:`Failed to remove script temporary files due to ${t}`})})},openSuccess:function(){this.disableButtons=!0,y.li.get(`${this.apiUrl}/${this.selectedFile}`).then(t=>{const n={name:this.selectedFile,contents:t.data.contents};t.data.suites&&(n.suites=JSON.parse(t.data.suites)),t.data.error&&(n.error=t.data.error),t.data.success&&(n.success=t.data.success);const i=t.data.locked,s=t.data.breakpoints;this.$emit("file",{file:n,locked:i,breakpoints:s}),this.clear()}).catch(t=>{this.$emit("error",`Failed to open ${this.selectedFile}. ${t}`),this.clear()})},saveSuccess:function(){this.exists(this.items,this.selectedFile)?this.$dialog.confirm(`Are you sure you want to overwrite: ${this.selectedFile}`,{okText:"Overwrite",cancelText:"Cancel"}).then(n=>{this.$emit("filename",this.selectedFile),this.clear()}).catch(n=>{}):(this.$emit("filename",this.selectedFile),this.clear())},insertFile:function(t,n,i){let s=i.split("/");if(s.length===1){t.push({id:this.filepath,title:s[0],file:"ruby",path:this.filepath});return}const o=t.findIndex(l=>l.title===s[0]);o===-1?(t.push({id:this.filepath.split("/").slice(0,n-1).join("/"),title:s[0],children:[],path:this.filepath.split("/").slice(0,n-1).join("/")}),this.insertFile(t[t.length-1].children,n+1,s.slice(1).join("/"))):this.insertFile(t[o].children,n+1,s.slice(1).join("/"))}}},K={class:"pa-3"},Z={class:"overflow-y-auto tree-container"};function G(t,n,i,s,o,l){const u=e.resolveComponent("v-progress-circular"),p=e.resolveComponent("v-overlay"),m=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-toolbar"),r=e.resolveComponent("v-row"),a=e.resolveComponent("v-text-field"),h=e.resolveComponent("tree-node"),g=e.resolveComponent("v-btn"),x=e.resolveComponent("v-card-text"),v=e.resolveComponent("v-card"),f=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(f,{modelValue:l.show,"onUpdate:modelValue":n[4]||(n[4]=c=>l.show=c),width:"600",onKeydown:n[5]||(n[5]=e.withKeys(c=>l.success(),["enter"]))},{default:e.withCtx(()=>[e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(p,{"model-value":o.loading},{default:e.withCtx(()=>[e.createVNode(u,{indeterminate:"",absolute:"",size:"64"})]),_:1},8,["model-value"]),e.createElementVNode("form",{onSubmit:n[3]||(n[3]=e.withModifiers((...c)=>l.success&&l.success(...c),["prevent"]))},[e.createVNode(d,{height:"24"},{default:e.withCtx(()=>[e.createVNode(m),e.createElementVNode("span",null,e.toDisplayString(l.title),1),e.createVNode(m)]),_:1}),e.createVNode(x,null,{default:e.withCtx(()=>[e.createElementVNode("div",K,[e.createVNode(r,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.helpText),1)]),_:1}),e.createVNode(r,{dense:"",class:"mt-5"},{default:e.withCtx(()=>[e.createVNode(a,{modelValue:o.search,"onUpdate:modelValue":n[0]||(n[0]=c=>o.search=c),flat:"",autofocus:"","hide-details":"",clearable:"",label:"Search","prepend-inner-icon":"mdi-magnify",density:"compact","data-test":"file-open-save-search"},null,8,["modelValue"])]),_:1}),e.createElementVNode("div",Z,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.items,c=>(e.openBlock(),e.createBlock(h,{key:`${c.id}`,node:c,search:o.search,type:i.type,onRequest:l.activeFile,onDelete:l.deleteTemp},null,8,["node","search","type","onRequest","onDelete"]))),128))]),e.createVNode(r,{class:"my-2"},{default:e.withCtx(()=>[e.createVNode(a,{modelValue:o.selectedFile,"onUpdate:modelValue":n[1]||(n[1]=c=>o.selectedFile=c),"hide-details":"",label:"Filename","data-test":"file-open-save-filename",disabled:i.type==="open"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(r,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:"my-2 text-red",style:{"white-space":"pre-line"}},e.toDisplayString(l.error),513),[[e.vShow,l.error]])]),_:1}),e.createVNode(r,{class:"mt-2"},{default:e.withCtx(()=>[e.createVNode(m),e.createVNode(g,{variant:"outlined",class:"mx-2","data-test":"file-open-save-cancel-btn",disabled:o.disableButtons,onClick:n[2]||(n[2]=c=>l.show=!1)},{default:e.withCtx(()=>n[6]||(n[6]=[e.createTextVNode(" Cancel ")])),_:1},8,["disabled"]),e.createVNode(g,{ref:"submitBtn",type:"submit",color:"primary",class:"mx-2","data-test":"file-open-save-submit-btn",disabled:o.disableButtons||!!l.error,onClick:e.withModifiers(l.success,["prevent"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.submit),1)]),_:1},8,["disabled","onClick"])]),_:1})])]),_:1})],32)]),_:1})]),_:1},8,["modelValue"])}const X=C._export_sfc(q,[["render",G]]),w=20,Y={components:{EditScreenDialog:b},mixins:[y.WidgetComponents],props:{target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},initialFloated:{type:Boolean,default:!1},initialTop:{type:Number,default:0},initialLeft:{type:Number,default:0},initialZ:{type:Number,default:0},minZ:{type:Number,default:0},fixFloated:{type:Boolean,default:!1},count:{type:Number,default:0},showClose:{type:Boolean,default:!0},timeZone:{type:String,default:"local"},inline:{type:Boolean,default:!1}},data(){return{api:null,backup:"",currentDefinition:this.definition,editDialog:!1,expand:!0,configParser:null,configError:!1,currentLayout:null,layoutStack:[],namedWidgets:{},dynamicWidgets:[],width:null,height:null,staleTime:30,cacheTimeout:.1,globalSettings:[],substitute:!1,original_target_name:null,force_substitute:!1,pollingPeriod:1,errors:[],errorDialog:!1,screenKey:null,dragX:0,dragY:0,floated:this.initialFloated,top:this.initialTop,left:this.initialLeft,zIndex:this.initialZ,changeCounter:0,screenItems:[],screenValues:{},updateCounter:0,screenId:y.lodashExports.uniqueId("openc3-screen_")}},computed:{error:function(){if(this.errorDialog&&this.errors.length>0){let t=new Set,n="";for(const i of this.errors){if(t.has(i.message))continue;let s=`${i.time}: (${i.type}) ${i.message}
|
|
4
|
-
`;n+=s,t.add(i.message)}return n}return null},computedStyle(){var i;let t={};const n=this.width||((i=this.$refs.bar)==null?void 0:i.clientWidth);return this.floated&&(t.position="absolute",t.top=this.top+"px",t.left=this.left+"px",t.width=n+"px"),t}},watch:{count:{handler(t,n){this.currentDefinition=this.definition,this.rerender()}}},errorCaptured(t,n,i){return console.log({err:t,vm:n,info:i}),this.errors.length<w&&(console.log({errors:this.errors}),t.usage?this.errors.push({type:"usage",message:t.message,usage:t.usage,line:t.line,lineNumber:t.lineNumber,time:new Date().getTime()}):this.errors.push({type:"error",message:t,time:new Date().getTime()}),this.configError=!0),!1},created(){this.api=new y.pi,this.configParser=new y.fi,this.parseDefinition(),this.screenKey=Math.floor(Math.random()*1e6)},mounted(){this.updateRefreshInterval(),this.floated&&(this.$refs.bar.onmousedown=this.dragMouseDown,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex)},unmounted(){this.updater!=null&&(clearInterval(this.updater),this.updater=null)},methods:{open(t,n){this.$parent.showScreen(t,n)},close(t,n){this.$parent.closeScreenByName(t,n)},closeAll(){this.$parent.closeAll()},clearErrors:function(){this.errors=[],this.configError=!1},updateRefreshInterval:function(){let t=this.pollingPeriod*1e3;this.updater&&clearInterval(this.updater),this.updater=setInterval(()=>{this.update()},t)},parseDefinition:function(){if(this.clearErrors(),this.namedWidgets={},this.layoutStack=[],this.dynamicWidgets=[],this.layoutStack.push({type:"VerticalWidget",parameters:[],widgets:[]}),this.currentLayout=this.layoutStack[this.layoutStack.length-1],this.configParser.parse_string(this.currentDefinition,"",!1,!0,(t,n,i,s)=>{if(t)switch(t){case"SCREEN":this.configParser.verify_num_parameters(3,4,`${t} <Width or AUTO> <Height or AUTO> <Polling Period>`),this.width=parseInt(n[0]),this.height=parseInt(n[1]),this.pollingPeriod=parseFloat(n[2]);break;case"END":this.configParser.verify_num_parameters(0,0,`${t}`),this.layoutStack.pop(),this.currentLayout=this.layoutStack[this.layoutStack.length-1];break;case"STALE_TIME":this.configParser.verify_num_parameters(1,1,`${t} <Time (s)>`),this.staleTime=parseInt(n[0]);break;case"SETTING":case"SUBSETTING":(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(n);break;case"GLOBAL_SETTING":case"GLOBAL_SUBSETTING":this.globalSettings.push(n);break;default:this.processWidget(t,n,i,s);break}}),typeof this.layoutStack[0]>"u"){let t=[],n=[];for(const i of this.dynamicWidgets)t.push(i.name),n.push(i.lineNumber);this.errors.length<w&&(this.errors.push({type:"usage",message:`Unknown widget! Are these widgets: ${t.join(",")}?`,lineNumber:n.join(","),time:new Date().getTime()}),this.configError=!0),this.layoutStack[0]={type:"VerticalWidget",parameters:[],widgets:[]}}else this.applyGlobalSettings(this.layoutStack[0].widgets)},openEdit:function(){this.backup=this.currentDefinition.repeat(1),this.editDialog=!0},upScreen:function(){this.zIndex+=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex])},downScreen:function(){this.zIndex>this.minZ&&(this.zIndex-=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex]))},floatScreen:function(){if(this.floated)this.$refs.bar.onmousedown=null,this.$refs.bar.parentElement.parentElement.style="z-index: 0",this.floated=!1,this.$emit("unfloat-screen",[this.floated,this.top,this.left,this.zIndex]);else{let t=this.$refs.bar.parentElement.parentElement.parentElement.getBoundingClientRect(),n=this.$refs.bar.getBoundingClientRect();this.top=n.top-t.top-5,this.left=n.left-t.left-5,this.$refs.bar.onmousedown=this.dragMouseDown,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.floated=!0,this.$emit("float-screen",[this.floated,this.top,this.left,this.zIndex])}},dragMouseDown:function(t){t=t||window.event,t.preventDefault(),this.dragX=t.clientX,this.dragY=t.clientY,document.onmouseup=this.closeDragElement,document.onmousemove=this.elementDrag},elementDrag:function(t){t=t||window.event,t.preventDefault();let n=this.dragX-t.clientX,i=this.dragY-t.clientY;this.dragX=t.clientX,this.dragY=t.clientY,this.top=this.$refs.bar.offsetTop-i,this.left=this.$refs.bar.offsetLeft-n,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex])},closeDragElement:function(){document.onmouseup=null,document.onmousemove=null},rerender:function(){this.parseDefinition(),this.updateRefreshInterval(),this.screenKey=Math.floor(Math.random()*1e6),this.$nextTick(function(){this.clearErrors(),this.$emit("edit-screen")})},cancelEdit:function(){this.file=null,this.editDialog=!1,this.currentDefinition=this.backup,this.rerender()},saveEdit:function(t){this.editDialog=!1,this.currentDefinition=t,this.rerender(),this.$nextTick(function(){y.li.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:this.target,screen:this.screen,text:this.currentDefinition}},0)})},deleteScreen:function(){this.editDialog=!1,y.li.delete(`/openc3-api/screen/${this.target}/${this.screen}`).then(t=>{this.$emit("delete-screen")})},minMaxTransition:function(){this.expand=!this.expand,this.$emit("min-max-screen")},processWidget:function(t,n,i,s){let o=null;t==="NAMED_WIDGET"&&(this.configParser.verify_num_parameters(2,null,`${t} <Widget Name> <Widget Type> <Widget Settings... (optional)>`),o=n[0].toUpperCase(),t=n[1].toUpperCase(),n=n.slice(2,n.length));const l=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()+"Widget";let u=[];if(u.push(["__SCREEN_ID__",this.screenId]),o!==null&&u.push(["NAMED_WIDGET",o]),t==="VERTICAL"||t==="VERTICALBOX"||t==="HORIZONTAL"||t==="HORIZONTALBOX"||t==="MATRIXBYCOLUMNS"||t==="TABBOOK"||t==="TABITEM"||t==="CANVAS"||t==="RADIOGROUP"||t==="SCROLLWINDOW"){const p={type:l,parameters:n,settings:u,screenValues:this.screenValues,screenTimeZone:this.timeZone,widgets:[]};this.layoutStack.push(p),this.currentLayout.widgets.push(p),this.currentLayout=p}else if(this.$options.components[l])this.currentLayout.widgets.push({type:l,target:this.target,parameters:n,settings:u,screenValues:this.screenValues,screenTimeZone:this.timeZone,line:i,lineNumber:s});else{let p={type:"DynamicWidget",target:this.target,parameters:n,settings:u,screenValues:this.screenValues,screenTimeZone:this.timeZone,name:l,line:i,lineNumber:s};this.currentLayout.widgets.push(p),this.dynamicWidgets.push(p)}},applyGlobalSettings:function(t){t.forEach(n=>{this.globalSettings.forEach(i=>{n.type.toLowerCase()===i[0].toLowerCase()+"widget"&&(n.settings.find(o=>o[0]===i[1])||n.settings.push(i.slice(1)))}),n.widgets&&this.applyGlobalSettings(n.widgets)})},update:function(){this.screenItems.length!==0&&this.configError===!1&&this.api.get_tlm_values(this.screenItems,this.staleTime,this.cacheTimeout).then(t=>{this.clearErrors(),this.updateValues(t)}).catch(t=>{let n=JSON.stringify(t,null,2);n.includes("no response received")||(this.configError=!0),this.errors.find(i=>i.message===n)||this.errors.length<w&&this.errors.push({type:"error",message:n,time:new Date().getTime()})})},updateValues:function(t){this.updateCounter+=1;for(let n=0;n<t.length;n++)t[n].push(this.updateCounter),this.screenValues[this.screenItems[n]]=t[n]},addItem:function(t){this.screenItems.push(t),this.screenValues[t]=[null,null,0]},deleteItem:function(t){let n=this.screenItems.indexOf(t);this.screenItems.splice(n,1)}}},H={ref:"screen",class:"pa-1",style:{position:"relative"}},j={key:1,class:"pa-1",style:{position:"relative"}};function $(t,n,i,s,o,l){const u=e.resolveComponent("v-btn"),p=e.resolveComponent("v-tooltip"),m=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-toolbar"),r=e.resolveComponent("v-overlay"),a=e.resolveComponent("vertical-widget"),h=e.resolveComponent("v-expand-transition"),g=e.resolveComponent("v-card"),x=e.resolveComponent("edit-screen-dialog"),v=e.resolveComponent("v-textarea"),f=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",{ref:"bar",style:e.normalizeStyle(l.computedStyle)},[i.inline?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(g,{key:0,"min-height":o.height,"min-width":o.width,style:{cursor:"default"}},{default:e.withCtx(()=>[e.createVNode(d,{height:"24"},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(u,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:n[0]||(n[0]=()=>{o.errorDialog=!0})},null,512),[[e.vShow,o.errors.length!==0]]),e.createVNode(u,{icon:"mdi-pencil",variant:"text",density:"compact","data-test":"edit-screen-icon","aria-label":"Edit Screen",onClick:l.openEdit},null,8,["onClick"]),i.fixFloated?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(p,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(c)),[e.createVNode(u,{icon:o.floated?"mdi-balloon":"mdi-view-grid-outline",variant:"text","data-test":"float-screen-icon","aria-label":o.floated?"Unfloat Screen":"Float Screen",onClick:l.floatScreen},null,8,["icon","aria-label","onClick"])],16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(o.floated?"Unfloat Screen":"Float Screen"),1)]),_:1})),o.floated?(e.openBlock(),e.createBlock(p,{key:1,"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(c)),[e.createVNode(u,{icon:"mdi-arrow-up",variant:"text","data-test":"up-screen-icon","aria-label":"Move Screen Up",onClick:l.upScreen},null,8,["onClick"])],16)]),default:e.withCtx(()=>[n[7]||(n[7]=e.createElementVNode("span",null," Move Screen Up ",-1))]),_:1})):e.createCommentVNode("",!0),o.floated&&o.zIndex>i.minZ?(e.openBlock(),e.createBlock(p,{key:2,"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(c)),[e.createVNode(u,{icon:"mdi-arrow-down",variant:"text","data-test":"down-screen-icon","aria-label":"Move Screen Down",onClick:l.downScreen},null,8,["onClick"])],16)]),default:e.withCtx(()=>[n[8]||(n[8]=e.createElementVNode("span",null," Move Screen Down ",-1))]),_:1})):e.createCommentVNode("",!0),e.createVNode(m),e.createElementVNode("span",null,e.toDisplayString(i.target)+" "+e.toDisplayString(i.screen),1),e.createVNode(m),o.expand?(e.openBlock(),e.createBlock(u,{key:3,icon:"mdi-window-minimize",variant:"text",density:"compact","data-test":"minimize-screen-icon","aria-label":"Minimize Screen",onClick:l.minMaxTransition},null,8,["onClick"])):(e.openBlock(),e.createBlock(u,{key:4,icon:"mdi-window-maximize",variant:"text","data-test":"maximize-screen-icon","aria-label":"Maximize Screen",onClick:l.minMaxTransition},null,8,["onClick"])),i.showClose?(e.openBlock(),e.createBlock(u,{key:5,icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-screen-icon","aria-label":"Close Screen",onClick:n[1]||(n[1]=c=>t.$emit("close-screen"))})):e.createCommentVNode("",!0)]),_:1}),o.editDialog?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(h,{key:0},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",H,[e.createVNode(r,{style:{"pointer-events":"none"},"model-value":o.errors.length!==0,opacity:"0.8",absolute:"",attach:""},null,8,["model-value"]),(e.openBlock(),e.createBlock(a,{key:o.screenKey,widgets:o.layoutStack[0].widgets,"screen-values":o.screenValues,"screen-time-zone":i.timeZone,onAddItem:l.addItem,onDeleteItem:l.deleteItem,onOpen:l.open,onClose:l.close,onCloseAll:l.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))],512),[[e.vShow,o.expand]])]),_:1}))]),_:1},8,["min-height","min-width"])),i.inline?(e.openBlock(),e.createElementBlock("div",j,[e.createVNode(r,{style:{"pointer-events":"none"},"model-value":o.errors.length!==0,opacity:"0.8",absolute:"",attach:""},null,8,["model-value"]),(e.openBlock(),e.createBlock(a,{key:o.screenKey,widgets:o.layoutStack[0].widgets,"screen-values":o.screenValues,"screen-time-zone":i.timeZone,onAddItem:l.addItem,onDeleteItem:l.deleteItem,onOpen:l.open,onClose:l.close,onCloseAll:l.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))])):e.createCommentVNode("",!0),o.editDialog?(e.openBlock(),e.createBlock(x,{key:2,modelValue:o.editDialog,"onUpdate:modelValue":n[2]||(n[2]=c=>o.editDialog=c),target:i.target,screen:i.screen,definition:o.currentDefinition,keywords:i.keywords,errors:o.errors,onSave:n[3]||(n[3]=c=>l.saveEdit(c)),onCancel:n[4]||(n[4]=c=>l.cancelEdit()),onDelete:n[5]||(n[5]=c=>l.deleteScreen())},null,8,["modelValue","target","screen","definition","keywords","errors"])):e.createCommentVNode("",!0),e.createVNode(f,{modelValue:o.errorDialog,"onUpdate:modelValue":n[6]||(n[6]=c=>o.errorDialog=c),width:"60vw"},{default:e.withCtx(()=>[e.createVNode(d,{height:"24"},{default:e.withCtx(()=>[e.createVNode(m),e.createElementVNode("span",null," Screen: "+e.toDisplayString(i.target)+" "+e.toDisplayString(i.screen)+" Errors ",1),e.createVNode(m)]),_:1}),e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(v,{class:"errors",readonly:"",rows:"13","model-value":l.error},null,8,["model-value"])]),_:1})]),_:1},8,["modelValue"])],4)}const J=C._export_sfc(Y,[["render",$],["__scopeId","data-v-38e2d544"]]);exports.EditScreenDialog=b;exports.EnvironmentDialog=M;exports.FileOpenSaveDialog=X;exports.Openc3Screen=J;exports.ScreenCompleter=k;
|
|
5
|
-
//# sourceMappingURL=Openc3Screen-COi4u-9k.cjs.map
|