@openc3/vue-common 7.0.0-rc2 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArrayWidget-D0_mEwbG.cjs → ArrayWidget-BsAUsmBz.cjs} +2 -2
- package/dist/{ArrayWidget-D0_mEwbG.cjs.map → ArrayWidget-BsAUsmBz.cjs.map} +1 -1
- package/dist/{ArrayWidget-BfXFA16h.js → ArrayWidget-D2UrA5Db.js} +4 -4
- package/dist/{ArrayWidget-BfXFA16h.js.map → ArrayWidget-D2UrA5Db.js.map} +1 -1
- package/dist/{ArrayplotWidget-CrkUt8nf.js → ArrayplotWidget-CDNRxI2F.js} +3 -3
- package/dist/{ArrayplotWidget-CrkUt8nf.js.map → ArrayplotWidget-CDNRxI2F.js.map} +1 -1
- package/dist/{ArrayplotWidget-ixbndTIr.cjs → ArrayplotWidget-ChHMy5_L.cjs} +2 -2
- package/dist/{ArrayplotWidget-ixbndTIr.cjs.map → ArrayplotWidget-ChHMy5_L.cjs.map} +1 -1
- package/dist/{BarColumn-D5XXk4Pw.cjs → BarColumn-e-sSkSvE.cjs} +2 -2
- package/dist/BarColumn-e-sSkSvE.cjs.map +1 -0
- package/dist/{BarColumn-CB-tgZUT.js → BarColumn-nSFR2LZF.js} +6 -6
- package/dist/BarColumn-nSFR2LZF.js.map +1 -0
- package/dist/{BlockWidget-76H_uaBo.js → BlockWidget-C-WB0Q2m.js} +4 -4
- package/dist/{BlockWidget-76H_uaBo.js.map → BlockWidget-C-WB0Q2m.js.map} +1 -1
- package/dist/{BlockWidget-w3lmbO_0.cjs → BlockWidget-DJpyQiec.cjs} +2 -2
- package/dist/{BlockWidget-w3lmbO_0.cjs.map → BlockWidget-DJpyQiec.cjs.map} +1 -1
- package/dist/{ButtonWidget-CL09OQq_.js → ButtonWidget-rS7sVb7m.js} +14 -14
- package/dist/{ButtonWidget-CL09OQq_.js.map → ButtonWidget-rS7sVb7m.js.map} +1 -1
- package/dist/{ButtonWidget-MeyUohLj.cjs → ButtonWidget-rkOE5b8G.cjs} +3 -3
- package/dist/{ButtonWidget-MeyUohLj.cjs.map → ButtonWidget-rkOE5b8G.cjs.map} +1 -1
- package/dist/{CanvasWidget-DN04dkIP.js → CanvasWidget-DuWolVCW.js} +2 -2
- package/dist/{CanvasWidget-DN04dkIP.js.map → CanvasWidget-DuWolVCW.js.map} +1 -1
- package/dist/{CanvasWidget-DFwpzAHp.cjs → CanvasWidget-Dv7_QUJY.cjs} +2 -2
- package/dist/{CanvasWidget-DFwpzAHp.cjs.map → CanvasWidget-Dv7_QUJY.cjs.map} +1 -1
- package/dist/{CanvasdotWidget-DD5jlEoi.js → CanvasdotWidget-B42YizA1.js} +2 -2
- package/dist/{CanvasdotWidget-DD5jlEoi.js.map → CanvasdotWidget-B42YizA1.js.map} +1 -1
- package/dist/{CanvasdotWidget-BC_P3TrQ.cjs → CanvasdotWidget-E1OgFBVZ.cjs} +2 -2
- package/dist/{CanvasdotWidget-BC_P3TrQ.cjs.map → CanvasdotWidget-E1OgFBVZ.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-BGC5DEyb.js → CanvasimageWidget-DMHdDTSs.js} +3 -3
- package/dist/{CanvasimageWidget-BGC5DEyb.js.map → CanvasimageWidget-DMHdDTSs.js.map} +1 -1
- package/dist/{CanvasimageWidget-Ba8CzBeA.cjs → CanvasimageWidget-ysw78z4C.cjs} +2 -2
- package/dist/{CanvasimageWidget-Ba8CzBeA.cjs.map → CanvasimageWidget-ysw78z4C.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-C4V30F-k.cjs → CanvasimagevalueWidget-Bc-VYXe7.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-C4V30F-k.cjs.map → CanvasimagevalueWidget-Bc-VYXe7.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-BP7cAs0Z.js → CanvasimagevalueWidget-ns-5S1HA.js} +3 -3
- package/dist/{CanvasimagevalueWidget-BP7cAs0Z.js.map → CanvasimagevalueWidget-ns-5S1HA.js.map} +1 -1
- package/dist/{CanvaslabelWidget-7kIhAM0A.cjs → CanvaslabelWidget-6h59qJY8.cjs} +2 -2
- package/dist/{CanvaslabelWidget-7kIhAM0A.cjs.map → CanvaslabelWidget-6h59qJY8.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-Cl--mh6r.js → CanvaslabelWidget-DElES3gU.js} +2 -2
- package/dist/{CanvaslabelWidget-Cl--mh6r.js.map → CanvaslabelWidget-DElES3gU.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-CgYr_qcI.js → CanvaslabelvalueWidget-B2B5KlUm.js} +2 -2
- package/dist/{CanvaslabelvalueWidget-CgYr_qcI.js.map → CanvaslabelvalueWidget-B2B5KlUm.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-SbtBYdGj.cjs → CanvaslabelvalueWidget-BLIgF8xi.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-SbtBYdGj.cjs.map → CanvaslabelvalueWidget-BLIgF8xi.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-CKBFMLKb.cjs → CanvaslineWidget-CxZGCwVF.cjs} +2 -2
- package/dist/{CanvaslineWidget-CKBFMLKb.cjs.map → CanvaslineWidget-CxZGCwVF.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-BygI_uzn.js → CanvaslineWidget-DaHxgGyM.js} +2 -2
- package/dist/{CanvaslineWidget-BygI_uzn.js.map → CanvaslineWidget-DaHxgGyM.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-Bsg-kroQ.cjs → CanvaslinevalueWidget-BljeuN4S.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-Bsg-kroQ.cjs.map → CanvaslinevalueWidget-BljeuN4S.cjs.map} +1 -1
- package/dist/{CanvaslinevalueWidget-ChL9-ZOz.js → CanvaslinevalueWidget-CrtDsSOP.js} +2 -2
- package/dist/{CanvaslinevalueWidget-ChL9-ZOz.js.map → CanvaslinevalueWidget-CrtDsSOP.js.map} +1 -1
- package/dist/{CheckbuttonWidget-Cxj4agsS.js → CheckbuttonWidget-BK4SgIu7.js} +2 -2
- package/dist/{CheckbuttonWidget-Cxj4agsS.js.map → CheckbuttonWidget-BK4SgIu7.js.map} +1 -1
- package/dist/{CheckbuttonWidget-xjIBJ8JT.cjs → CheckbuttonWidget-By46VH2e.cjs} +2 -2
- package/dist/{CheckbuttonWidget-xjIBJ8JT.cjs.map → CheckbuttonWidget-By46VH2e.cjs.map} +1 -1
- package/dist/{ClassificationBanners-Ag0cW8Wi.cjs → ClassificationBanners-CHQX3t7t.cjs} +2 -2
- package/dist/{ClassificationBanners-Ag0cW8Wi.cjs.map → ClassificationBanners-CHQX3t7t.cjs.map} +1 -1
- package/dist/{ClassificationBanners-BEBrvuzq.js → ClassificationBanners-DGl2HUKd.js} +2 -2
- package/dist/{ClassificationBanners-BEBrvuzq.js.map → ClassificationBanners-DGl2HUKd.js.map} +1 -1
- package/dist/{ComboboxWidget-CLVDTsRT.cjs → ComboboxWidget-CHFTOmhZ.cjs} +2 -2
- package/dist/{ComboboxWidget-CLVDTsRT.cjs.map → ComboboxWidget-CHFTOmhZ.cjs.map} +1 -1
- package/dist/{ComboboxWidget-DXlOmRS6.js → ComboboxWidget-CciRWuKq.js} +2 -2
- package/dist/{ComboboxWidget-DXlOmRS6.js.map → ComboboxWidget-CciRWuKq.js.map} +1 -1
- package/dist/{CriticalCmdDialog-De7KJBQR.cjs → CriticalCmdDialog-BWrwpTNK.cjs} +2 -2
- package/dist/{CriticalCmdDialog-De7KJBQR.cjs.map → CriticalCmdDialog-BWrwpTNK.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-DTok3HnF.js → CriticalCmdDialog-C5EZDRSZ.js} +3 -3
- package/dist/{CriticalCmdDialog-DTok3HnF.js.map → CriticalCmdDialog-C5EZDRSZ.js.map} +1 -1
- package/dist/{DateWidget-DCebkHzD.cjs → DateWidget-Bb6juAYs.cjs} +2 -2
- package/dist/{DateWidget-DCebkHzD.cjs.map → DateWidget-Bb6juAYs.cjs.map} +1 -1
- package/dist/{DateWidget-CYPRbvuk.js → DateWidget-DwgQ3Jik.js} +2 -2
- package/dist/{DateWidget-CYPRbvuk.js.map → DateWidget-DwgQ3Jik.js.map} +1 -1
- package/dist/{DetailsDialog-BI3oNhTn.js → DetailsDialog-CspQjoR5.js} +160 -141
- package/dist/DetailsDialog-CspQjoR5.js.map +1 -0
- package/dist/DetailsDialog-D_my0nhs.cjs +2 -0
- package/dist/DetailsDialog-D_my0nhs.cjs.map +1 -0
- package/dist/{EventListDialog-BMw8Gl-0.js → EventListDialog-DL2HHNQG.js} +19 -16
- package/dist/EventListDialog-DL2HHNQG.js.map +1 -0
- package/dist/EventListDialog-DO32zY2U.cjs +2 -0
- package/dist/EventListDialog-DO32zY2U.cjs.map +1 -0
- package/dist/{FilechecksumWidget-C6duPUFo.js → FilechecksumWidget-BS281Q0h.js} +19 -19
- package/dist/{FilechecksumWidget-C6duPUFo.js.map → FilechecksumWidget-BS281Q0h.js.map} +1 -1
- package/dist/{FilechecksumWidget-ccksLFy0.cjs → FilechecksumWidget-DMpuLZJ5.cjs} +2 -2
- package/dist/{FilechecksumWidget-ccksLFy0.cjs.map → FilechecksumWidget-DMpuLZJ5.cjs.map} +1 -1
- package/dist/{FiledisplayWidget-Cu1sQoZu.cjs → FiledisplayWidget-BoD7LuLP.cjs} +2 -2
- package/dist/{FiledisplayWidget-Cu1sQoZu.cjs.map → FiledisplayWidget-BoD7LuLP.cjs.map} +1 -1
- package/dist/{FiledisplayWidget-Cu2tLm6D.js → FiledisplayWidget-C9YdXDdv.js} +4 -4
- package/dist/{FiledisplayWidget-Cu2tLm6D.js.map → FiledisplayWidget-C9YdXDdv.js.map} +1 -1
- package/dist/FormatvalueWidget-DfvTVSs-.cjs +2 -0
- package/dist/{FormatvalueWidget-npk9X-15.cjs.map → FormatvalueWidget-DfvTVSs-.cjs.map} +1 -1
- package/dist/{FormatvalueWidget-I_0Qa6C6.js → FormatvalueWidget-dfmQfrNA.js} +13 -11
- package/dist/{FormatvalueWidget-I_0Qa6C6.js.map → FormatvalueWidget-dfmQfrNA.js.map} +1 -1
- package/dist/{Graph-BdLZrFnQ.js → Graph-BTtGIbYG.js} +389 -335
- package/dist/Graph-BTtGIbYG.js.map +1 -0
- package/dist/Graph-Cy2LrwoK.cjs +2 -0
- package/dist/Graph-Cy2LrwoK.cjs.map +1 -0
- package/dist/{GraphWidget-BvEeKc4C.js → GraphWidget-CWJ4Yb26.js} +2 -2
- package/dist/{GraphWidget-BvEeKc4C.js.map → GraphWidget-CWJ4Yb26.js.map} +1 -1
- package/dist/{GraphWidget-D3bjqKwr.cjs → GraphWidget-XjxjI3og.cjs} +2 -2
- package/dist/{GraphWidget-D3bjqKwr.cjs.map → GraphWidget-XjxjI3og.cjs.map} +1 -1
- package/dist/{HorizontalWidget-D83EJ_-6.cjs → HorizontalWidget-BeW4b13V.cjs} +2 -2
- package/dist/{HorizontalWidget-D83EJ_-6.cjs.map → HorizontalWidget-BeW4b13V.cjs.map} +1 -1
- package/dist/{HorizontalWidget-BtdfnZMK.js → HorizontalWidget-DFAqF95S.js} +2 -2
- package/dist/{HorizontalWidget-BtdfnZMK.js.map → HorizontalWidget-DFAqF95S.js.map} +1 -1
- package/dist/{HorizontalboxWidget-BsXYMyz7.js → HorizontalboxWidget-CL1xEhDj.js} +5 -5
- package/dist/{HorizontalboxWidget-BsXYMyz7.js.map → HorizontalboxWidget-CL1xEhDj.js.map} +1 -1
- package/dist/{HorizontalboxWidget-CEIySQlg.cjs → HorizontalboxWidget-DdPv_6qb.cjs} +2 -2
- package/dist/{HorizontalboxWidget-CEIySQlg.cjs.map → HorizontalboxWidget-DdPv_6qb.cjs.map} +1 -1
- package/dist/{HorizontallineWidget-B-SvqwyU.cjs → HorizontallineWidget-BdWOnioI.cjs} +2 -2
- package/dist/{HorizontallineWidget-B-SvqwyU.cjs.map → HorizontallineWidget-BdWOnioI.cjs.map} +1 -1
- package/dist/{HorizontallineWidget-DCfxLDB6.js → HorizontallineWidget-DPiADCAy.js} +2 -2
- package/dist/{HorizontallineWidget-DCfxLDB6.js.map → HorizontallineWidget-DPiADCAy.js.map} +1 -1
- package/dist/{IframeWidget-xzoq2o7Z.js → IframeWidget-BsDu4b17.js} +2 -2
- package/dist/{IframeWidget-xzoq2o7Z.js.map → IframeWidget-BsDu4b17.js.map} +1 -1
- package/dist/{IframeWidget-c-9N6GGF.cjs → IframeWidget-Z12pG6JT.cjs} +2 -2
- package/dist/{IframeWidget-c-9N6GGF.cjs.map → IframeWidget-Z12pG6JT.cjs.map} +1 -1
- package/dist/{ImageLoader-Cj6nNt7z.js → ImageLoader-CT4rnwWn.js} +2 -2
- package/dist/{ImageLoader-Cj6nNt7z.js.map → ImageLoader-CT4rnwWn.js.map} +1 -1
- package/dist/{ImageLoader-DfFljBse.cjs → ImageLoader-CZ0Wx_Ua.cjs} +2 -2
- package/dist/{ImageLoader-DfFljBse.cjs.map → ImageLoader-CZ0Wx_Ua.cjs.map} +1 -1
- package/dist/{ImageviewerWidget-Cajx4RLs.js → ImageviewerWidget-BQbrz2WL.js} +2 -2
- package/dist/{ImageviewerWidget-Cajx4RLs.js.map → ImageviewerWidget-BQbrz2WL.js.map} +1 -1
- package/dist/{ImageviewerWidget-ClWuV9To.cjs → ImageviewerWidget-CtJzQn0e.cjs} +2 -2
- package/dist/{ImageviewerWidget-ClWuV9To.cjs.map → ImageviewerWidget-CtJzQn0e.cjs.map} +1 -1
- package/dist/{InterfacesTab-wj7bhYZ0.cjs → InterfacesTab-A0g0y1n1.cjs} +2 -2
- package/dist/{InterfacesTab-wj7bhYZ0.cjs.map → InterfacesTab-A0g0y1n1.cjs.map} +1 -1
- package/dist/{InterfacesTab-CWxzXFzp.js → InterfacesTab-COKNyeUu.js} +5 -5
- package/dist/{InterfacesTab-CWxzXFzp.js.map → InterfacesTab-COKNyeUu.js.map} +1 -1
- package/dist/{LabelWidget-BADrtfQr.js → LabelWidget-D5-IFUYW.js} +2 -2
- package/dist/{LabelWidget-BADrtfQr.js.map → LabelWidget-D5-IFUYW.js.map} +1 -1
- package/dist/{LabelWidget-Ce37S_Fm.cjs → LabelWidget-rH3SsItK.cjs} +2 -2
- package/dist/{LabelWidget-Ce37S_Fm.cjs.map → LabelWidget-rH3SsItK.cjs.map} +1 -1
- package/dist/{LabelledWidget-spC_mMaz.cjs → LabelledWidget-Bca_qNSP.cjs} +2 -2
- package/dist/{LabelledWidget-spC_mMaz.cjs.map → LabelledWidget-Bca_qNSP.cjs.map} +1 -1
- package/dist/{LabelledWidget-DJfuld1A.js → LabelledWidget-Dt9miRtB.js} +4 -4
- package/dist/{LabelledWidget-DJfuld1A.js.map → LabelledWidget-Dt9miRtB.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-Dua-yQPl.js → LabelprogressbarWidget-BNFgTq4D.js} +4 -4
- package/dist/{LabelprogressbarWidget-Dua-yQPl.js.map → LabelprogressbarWidget-BNFgTq4D.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-CKPuMKh0.cjs → LabelprogressbarWidget-hyK9Vqsl.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-CKPuMKh0.cjs.map → LabelprogressbarWidget-hyK9Vqsl.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-eKiHy9w4.js → LabelsparklineWidget-BByxev6X.js} +4 -4
- package/dist/{LabelsparklineWidget-eKiHy9w4.js.map → LabelsparklineWidget-BByxev6X.js.map} +1 -1
- package/dist/{LabelsparklineWidget-Cx3t3YKW.cjs → LabelsparklineWidget-BxkxEVwQ.cjs} +2 -2
- package/dist/{LabelsparklineWidget-Cx3t3YKW.cjs.map → LabelsparklineWidget-BxkxEVwQ.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-BUB3KJDX.js → LabelvalueWidget-BM6L9bVw.js} +4 -4
- package/dist/{LabelvalueWidget-BUB3KJDX.js.map → LabelvalueWidget-BM6L9bVw.js.map} +1 -1
- package/dist/{LabelvalueWidget-DoOlcQVx.cjs → LabelvalueWidget-DEGmbKMG.cjs} +2 -2
- package/dist/{LabelvalueWidget-DoOlcQVx.cjs.map → LabelvalueWidget-DEGmbKMG.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-cE1Vk7vq.cjs → LabelvaluedescWidget-B7bGqqeO.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-cE1Vk7vq.cjs.map → LabelvaluedescWidget-B7bGqqeO.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-CjvG_UpY.js → LabelvaluedescWidget-DeBRjYXs.js} +5 -5
- package/dist/{LabelvaluedescWidget-CjvG_UpY.js.map → LabelvaluedescWidget-DeBRjYXs.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-CtMQd5KQ.js → LabelvaluelimitsbarWidget-CqV0-c3G.js} +4 -4
- package/dist/{LabelvaluelimitsbarWidget-CtMQd5KQ.js.map → LabelvaluelimitsbarWidget-CqV0-c3G.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-DpneFMil.cjs → LabelvaluelimitsbarWidget-DzEc9ZZr.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-DpneFMil.cjs.map → LabelvaluelimitsbarWidget-DzEc9ZZr.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-DPeXqlfx.js → LabelvaluelimitscolumnWidget-Bz0PKTIV.js} +5 -5
- package/dist/{LabelvaluelimitscolumnWidget-DPeXqlfx.js.map → LabelvaluelimitscolumnWidget-Bz0PKTIV.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-B1nC50lt.cjs → LabelvaluelimitscolumnWidget-C0-v0q7a.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-B1nC50lt.cjs.map → LabelvaluelimitscolumnWidget-C0-v0q7a.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-uglFf01b.cjs → LabelvaluerangebarWidget-CWhsb5gm.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-uglFf01b.cjs.map → LabelvaluerangebarWidget-CWhsb5gm.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-Bsndqu5o.js → LabelvaluerangebarWidget-DKuAJHLm.js} +4 -4
- package/dist/{LabelvaluerangebarWidget-Bsndqu5o.js.map → LabelvaluerangebarWidget-DKuAJHLm.js.map} +1 -1
- package/dist/{Layout-CpqPTtxp.js → Layout-LSeXBY_W.js} +2 -2
- package/dist/{Layout-CpqPTtxp.js.map → Layout-LSeXBY_W.js.map} +1 -1
- package/dist/{Layout-BJWisBf5.cjs → Layout-QcVHlWPp.cjs} +2 -2
- package/dist/{Layout-BJWisBf5.cjs.map → Layout-QcVHlWPp.cjs.map} +1 -1
- package/dist/{LedWidget-Cps5RaQ9.js → LedWidget-CH4Il9R7.js} +4 -4
- package/dist/{LedWidget-Cps5RaQ9.js.map → LedWidget-CH4Il9R7.js.map} +1 -1
- package/dist/{LedWidget-DjLL2qYw.cjs → LedWidget-CJwBssHl.cjs} +2 -2
- package/dist/{LedWidget-DjLL2qYw.cjs.map → LedWidget-CJwBssHl.cjs.map} +1 -1
- package/dist/{LimitsBar-CxTRY26H.cjs → LimitsBar-B0O6RMrG.cjs} +2 -2
- package/dist/{LimitsBar-CxTRY26H.cjs.map → LimitsBar-B0O6RMrG.cjs.map} +1 -1
- package/dist/{LimitsBar-CmUsJfsd.js → LimitsBar-BelAQFD0.js} +2 -2
- package/dist/{LimitsBar-CmUsJfsd.js.map → LimitsBar-BelAQFD0.js.map} +1 -1
- package/dist/LimitsColor-5sx13hYN.cjs +2 -0
- package/dist/LimitsColor-5sx13hYN.cjs.map +1 -0
- package/dist/LimitsColor-CBcpB-la.js +43 -0
- package/dist/LimitsColor-CBcpB-la.js.map +1 -0
- package/dist/{LimitsbarWidget-BGmYIhDO.cjs → LimitsbarWidget--AwjBbtb.cjs} +2 -2
- package/dist/{LimitsbarWidget-BGmYIhDO.cjs.map → LimitsbarWidget--AwjBbtb.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-DU8L1muK.js → LimitsbarWidget-PkPqlyxL.js} +3 -3
- package/dist/{LimitsbarWidget-DU8L1muK.js.map → LimitsbarWidget-PkPqlyxL.js.map} +1 -1
- package/dist/LimitscolorWidget-1D2myv8a.cjs +2 -0
- package/dist/LimitscolorWidget-1D2myv8a.cjs.map +1 -0
- package/dist/LimitscolorWidget-BlA15g4A.js +179 -0
- package/dist/LimitscolorWidget-BlA15g4A.js.map +1 -0
- package/dist/{LimitscolumnWidget-DlMHRwh3.js → LimitscolumnWidget-PT917BA0.js} +2 -2
- package/dist/{LimitscolumnWidget-DlMHRwh3.js.map → LimitscolumnWidget-PT917BA0.js.map} +1 -1
- package/dist/{LimitscolumnWidget-D4XsdyiO.cjs → LimitscolumnWidget-_QPf3cUQ.cjs} +2 -2
- package/dist/{LimitscolumnWidget-D4XsdyiO.cjs.map → LimitscolumnWidget-_QPf3cUQ.cjs.map} +1 -1
- package/dist/{LinegraphWidget-C5o9B_PX.js → LinegraphWidget-BW7kS_6G.js} +4 -4
- package/dist/{LinegraphWidget-C5o9B_PX.js.map → LinegraphWidget-BW7kS_6G.js.map} +1 -1
- package/dist/{LinegraphWidget-DNLFkuva.cjs → LinegraphWidget-DfXd3959.cjs} +2 -2
- package/dist/{LinegraphWidget-DNLFkuva.cjs.map → LinegraphWidget-DfXd3959.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-sXRvVukg.js → MatrixbycolumnsWidget-BGNsZvjv.js} +3 -3
- package/dist/{MatrixbycolumnsWidget-sXRvVukg.js.map → MatrixbycolumnsWidget-BGNsZvjv.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-BX001JXC.cjs → MatrixbycolumnsWidget-oRYGFSEt.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-BX001JXC.cjs.map → MatrixbycolumnsWidget-oRYGFSEt.cjs.map} +1 -1
- package/dist/{MicroservicesTab-h-myrNWR.js → MicroservicesTab-CiEGGavF.js} +3 -3
- package/dist/{MicroservicesTab-h-myrNWR.js.map → MicroservicesTab-CiEGGavF.js.map} +1 -1
- package/dist/{MicroservicesTab-a-glK9U3.cjs → MicroservicesTab-DvDK2hPW.cjs} +3 -3
- package/dist/{MicroservicesTab-a-glK9U3.cjs.map → MicroservicesTab-DvDK2hPW.cjs.map} +1 -1
- package/dist/{OpenC3TimePicker-DJFOQgY_.js → OpenC3TimePicker-CkaALgy9.js} +2 -2
- package/dist/{OpenC3TimePicker-DJFOQgY_.js.map → OpenC3TimePicker-CkaALgy9.js.map} +1 -1
- package/dist/{OpenC3TimePicker-D8a4_nHu.cjs → OpenC3TimePicker-bbdbKTv_.cjs} +2 -2
- package/dist/{OpenC3TimePicker-D8a4_nHu.cjs.map → OpenC3TimePicker-bbdbKTv_.cjs.map} +1 -1
- package/dist/{Openc3Screen-B2IwESpD.js → Openc3Screen-BnM1bNOB.js} +71 -72
- package/dist/{Openc3Screen-B2IwESpD.js.map → Openc3Screen-BnM1bNOB.js.map} +1 -1
- package/dist/{Openc3Screen-ERXOSMh1.cjs → Openc3Screen-DoOAFAlJ.cjs} +5 -5
- package/dist/{Openc3Screen-ERXOSMh1.cjs.map → Openc3Screen-DoOAFAlJ.cjs.map} +1 -1
- package/dist/{OutputDialog-JHy7LBTb.js → OutputDialog-BY-TZNRl.js} +4 -4
- package/dist/{OutputDialog-JHy7LBTb.js.map → OutputDialog-BY-TZNRl.js.map} +1 -1
- package/dist/{OutputDialog-CP7FRxxv.cjs → OutputDialog-R3Xj3_yw.cjs} +2 -2
- package/dist/{OutputDialog-CP7FRxxv.cjs.map → OutputDialog-R3Xj3_yw.cjs.map} +1 -1
- package/dist/PackagesTab-2Mu7yvxU.cjs +2 -0
- package/dist/{PackagesTab-ONxpjnC_.cjs.map → PackagesTab-2Mu7yvxU.cjs.map} +1 -1
- package/dist/{PackagesTab-CfCLRhzT.js → PackagesTab-DGrqIo_Z.js} +10 -10
- package/dist/{PackagesTab-CfCLRhzT.js.map → PackagesTab-DGrqIo_Z.js.map} +1 -1
- package/dist/PluginsTab-BXjVe_81.js +1740 -0
- package/dist/PluginsTab-BXjVe_81.js.map +1 -0
- package/dist/PluginsTab-R6i60Pih.cjs +6 -0
- package/dist/PluginsTab-R6i60Pih.cjs.map +1 -0
- package/dist/{ProgressbarWidget-C1Q4Gt5Q.js → ProgressbarWidget-Cy_ad8mb.js} +2 -2
- package/dist/{ProgressbarWidget-C1Q4Gt5Q.js.map → ProgressbarWidget-Cy_ad8mb.js.map} +1 -1
- package/dist/{ProgressbarWidget-C0tMl_LR.cjs → ProgressbarWidget-XAy4iHgC.cjs} +2 -2
- package/dist/{ProgressbarWidget-C0tMl_LR.cjs.map → ProgressbarWidget-XAy4iHgC.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-Dhcet_r5.js → RadiobuttonWidget-aJBIz45y.js} +2 -2
- package/dist/{RadiobuttonWidget-Dhcet_r5.js.map → RadiobuttonWidget-aJBIz45y.js.map} +1 -1
- package/dist/{RadiobuttonWidget-SqDhREzf.cjs → RadiobuttonWidget-fAqkUUTb.cjs} +2 -2
- package/dist/{RadiobuttonWidget-SqDhREzf.cjs.map → RadiobuttonWidget-fAqkUUTb.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-DI1D1BRJ.cjs → RadiogroupWidget-BuYMyBQd.cjs} +2 -2
- package/dist/{RadiogroupWidget-DI1D1BRJ.cjs.map → RadiogroupWidget-BuYMyBQd.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-CjrXZjdl.js → RadiogroupWidget-DNRlJnPE.js} +2 -2
- package/dist/{RadiogroupWidget-CjrXZjdl.js.map → RadiogroupWidget-DNRlJnPE.js.map} +1 -1
- package/dist/{RangebarWidget-14uZ2825.cjs → RangebarWidget-gcukfXnM.cjs} +2 -2
- package/dist/RangebarWidget-gcukfXnM.cjs.map +1 -0
- package/dist/{RangebarWidget-C461bAvq.js → RangebarWidget-h4YItqPF.js} +8 -8
- package/dist/RangebarWidget-h4YItqPF.js.map +1 -0
- package/dist/{RedisTab-IeIY08Nw.cjs → RedisTab-0V8f-hs1.cjs} +2 -2
- package/dist/{RedisTab-IeIY08Nw.cjs.map → RedisTab-0V8f-hs1.cjs.map} +1 -1
- package/dist/{RedisTab-BiflYEPO.js → RedisTab-BmZWA0OG.js} +15 -15
- package/dist/{RedisTab-BiflYEPO.js.map → RedisTab-BmZWA0OG.js.map} +1 -1
- package/dist/{RollupWidget-kmBW8757.js → RollupWidget-CnxDQRQ0.js} +2 -2
- package/dist/{RollupWidget-kmBW8757.js.map → RollupWidget-CnxDQRQ0.js.map} +1 -1
- package/dist/{RollupWidget-CI3lSfnk.cjs → RollupWidget-ZerASRD3.cjs} +2 -2
- package/dist/{RollupWidget-CI3lSfnk.cjs.map → RollupWidget-ZerASRD3.cjs.map} +1 -1
- package/dist/{RoutersTab-CZB-Jj_D.cjs → RoutersTab-CY-SmZd4.cjs} +2 -2
- package/dist/{RoutersTab-CZB-Jj_D.cjs.map → RoutersTab-CY-SmZd4.cjs.map} +1 -1
- package/dist/{RoutersTab-Dpg6xwE9.js → RoutersTab-Db28gKLP.js} +3 -3
- package/dist/{RoutersTab-Dpg6xwE9.js.map → RoutersTab-Db28gKLP.js.map} +1 -1
- package/dist/{ScriptChooser-BLsPk7_c.js → ScriptChooser-Bl0wisob.js} +182 -128
- package/dist/ScriptChooser-Bl0wisob.js.map +1 -0
- package/dist/ScriptChooser-CI4lAYZ1.cjs +2 -0
- package/dist/ScriptChooser-CI4lAYZ1.cjs.map +1 -0
- package/dist/{ScrollwindowWidget-B-ogJ1hO.cjs → ScrollwindowWidget-BJkQ5uX_.cjs} +2 -2
- package/dist/{ScrollwindowWidget-B-ogJ1hO.cjs.map → ScrollwindowWidget-BJkQ5uX_.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-DqexVHaY.js → ScrollwindowWidget-DFkTJ2Ue.js} +2 -2
- package/dist/{ScrollwindowWidget-DqexVHaY.js.map → ScrollwindowWidget-DFkTJ2Ue.js.map} +1 -1
- package/dist/{SecretsTab-LyEVxDfM.cjs → SecretsTab-B8YTrfQ2.cjs} +2 -2
- package/dist/{SecretsTab-LyEVxDfM.cjs.map → SecretsTab-B8YTrfQ2.cjs.map} +1 -1
- package/dist/{SecretsTab-CqloYezi.js → SecretsTab-DTdVLi0I.js} +4 -4
- package/dist/{SecretsTab-CqloYezi.js.map → SecretsTab-DTdVLi0I.js.map} +1 -1
- package/dist/{SettingsTab-DN8wG7j8.js → SettingsTab-CnybxvVj.js} +152 -139
- package/dist/SettingsTab-CnybxvVj.js.map +1 -0
- package/dist/SettingsTab-_SJLhuk0.cjs +3 -0
- package/dist/SettingsTab-_SJLhuk0.cjs.map +1 -0
- package/dist/{SignalWidget-CBpKkkdh.cjs → SignalWidget-DC7-NIOj.cjs} +2 -2
- package/dist/{SignalWidget-CBpKkkdh.cjs.map → SignalWidget-DC7-NIOj.cjs.map} +1 -1
- package/dist/{SignalWidget-DHGdWn0D.js → SignalWidget-jYpXSIfD.js} +2 -2
- package/dist/{SignalWidget-DHGdWn0D.js.map → SignalWidget-jYpXSIfD.js.map} +1 -1
- package/dist/{SimpleTextDialog-CK4Tl4hP.cjs → SimpleTextDialog-DLdHGmmb.cjs} +2 -2
- package/dist/{SimpleTextDialog-CK4Tl4hP.cjs.map → SimpleTextDialog-DLdHGmmb.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-CP0v1gSj.js → SimpleTextDialog-Dd3BoNG-.js} +2 -2
- package/dist/{SimpleTextDialog-CP0v1gSj.js.map → SimpleTextDialog-Dd3BoNG-.js.map} +1 -1
- package/dist/{SpacerWidget-DjPk3E9O.cjs → SpacerWidget-BwwxG8k3.cjs} +2 -2
- package/dist/{SpacerWidget-DjPk3E9O.cjs.map → SpacerWidget-BwwxG8k3.cjs.map} +1 -1
- package/dist/{SpacerWidget-DzUeDtYi.js → SpacerWidget-CUqvml6o.js} +2 -2
- package/dist/{SpacerWidget-DzUeDtYi.js.map → SpacerWidget-CUqvml6o.js.map} +1 -1
- package/dist/{SparklineWidget-rqphJPpw.cjs → SparklineWidget-05TlKC-x.cjs} +2 -2
- package/dist/{SparklineWidget-rqphJPpw.cjs.map → SparklineWidget-05TlKC-x.cjs.map} +1 -1
- package/dist/{SparklineWidget-BfUk2lrY.js → SparklineWidget-CVf1TtjV.js} +4 -4
- package/dist/{SparklineWidget-BfUk2lrY.js.map → SparklineWidget-CVf1TtjV.js.map} +1 -1
- package/dist/{TabbookWidget-CJqXi4kG.js → TabbookWidget-CTUEpDnn.js} +2 -2
- package/dist/{TabbookWidget-CJqXi4kG.js.map → TabbookWidget-CTUEpDnn.js.map} +1 -1
- package/dist/{TabbookWidget-DMtbO8Lj.cjs → TabbookWidget-oZre4A6Y.cjs} +2 -2
- package/dist/{TabbookWidget-DMtbO8Lj.cjs.map → TabbookWidget-oZre4A6Y.cjs.map} +1 -1
- package/dist/TargetPacketItemChooser-BvXBVNLj.cjs +2 -0
- package/dist/TargetPacketItemChooser-BvXBVNLj.cjs.map +1 -0
- package/dist/{TargetPacketItemChooser-DUODHxax.js → TargetPacketItemChooser-CS2Vvi2U.js} +22 -22
- package/dist/TargetPacketItemChooser-CS2Vvi2U.js.map +1 -0
- package/dist/{TargetsTab-BxVAyeCA.cjs → TargetsTab-Bc7-iav6.cjs} +2 -2
- package/dist/{TargetsTab-BxVAyeCA.cjs.map → TargetsTab-Bc7-iav6.cjs.map} +1 -1
- package/dist/{TargetsTab-CG8KNOmE.js → TargetsTab-CGv0GwAF.js} +12 -12
- package/dist/{TargetsTab-CG8KNOmE.js.map → TargetsTab-CGv0GwAF.js.map} +1 -1
- package/dist/{TextboxWidget-BEgAKlC8.js → TextboxWidget-B0Y1W7GP.js} +4 -4
- package/dist/{TextboxWidget-BEgAKlC8.js.map → TextboxWidget-B0Y1W7GP.js.map} +1 -1
- package/dist/{TextboxWidget-DVg3_YDk.cjs → TextboxWidget-qSbx4xxD.cjs} +2 -2
- package/dist/{TextboxWidget-DVg3_YDk.cjs.map → TextboxWidget-qSbx4xxD.cjs.map} +1 -1
- package/dist/{TextfieldWidget-C84uT4WC.js → TextfieldWidget-B8TAf9oU.js} +2 -2
- package/dist/{TextfieldWidget-C84uT4WC.js.map → TextfieldWidget-B8TAf9oU.js.map} +1 -1
- package/dist/{TextfieldWidget-BJpj8zB4.cjs → TextfieldWidget-cCG7BQ25.cjs} +2 -2
- package/dist/{TextfieldWidget-BJpj8zB4.cjs.map → TextfieldWidget-cCG7BQ25.cjs.map} +1 -1
- package/dist/{TimeWidget-f5fOoYyh.cjs → TimeWidget-DNkhFoZO.cjs} +2 -2
- package/dist/{TimeWidget-f5fOoYyh.cjs.map → TimeWidget-DNkhFoZO.cjs.map} +1 -1
- package/dist/{TimeWidget-B1C7VXsk.js → TimeWidget-DewVXks0.js} +3 -3
- package/dist/{TimeWidget-B1C7VXsk.js.map → TimeWidget-DewVXks0.js.map} +1 -1
- package/dist/{TitleWidget-NPq7zAwI.js → TitleWidget-BAq2LGJF.js} +2 -2
- package/dist/{TitleWidget-NPq7zAwI.js.map → TitleWidget-BAq2LGJF.js.map} +1 -1
- package/dist/{TitleWidget-nTDE0RIC.cjs → TitleWidget-ChGb6BJW.cjs} +2 -2
- package/dist/{TitleWidget-nTDE0RIC.cjs.map → TitleWidget-ChGb6BJW.cjs.map} +1 -1
- package/dist/ToolsTab-CB_6hFQF.cjs +2 -0
- package/dist/ToolsTab-CB_6hFQF.cjs.map +1 -0
- package/dist/{ToolsTab-jE3-AcI0.js → ToolsTab-USmbUvDq.js} +247 -231
- package/dist/ToolsTab-USmbUvDq.js.map +1 -0
- package/dist/{TopBar-knn2yGed.js → TopBar-B4RDkLs-.js} +2 -2
- package/dist/{TopBar-knn2yGed.js.map → TopBar-B4RDkLs-.js.map} +1 -1
- package/dist/{TopBar-CnMJSCD4.cjs → TopBar-DzL3L4ih.cjs} +2 -2
- package/dist/{TopBar-CnMJSCD4.cjs.map → TopBar-DzL3L4ih.cjs.map} +1 -1
- package/dist/TsdbTab-0aYlysh5.js +125 -0
- package/dist/TsdbTab-0aYlysh5.js.map +1 -0
- package/dist/TsdbTab-H64XGfOO.cjs +2 -0
- package/dist/TsdbTab-H64XGfOO.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog-Cs663G4x.cjs → UpgradeToEnterpriseDialog-BBRXrLrL.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-Cs663G4x.cjs.map → UpgradeToEnterpriseDialog-BBRXrLrL.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-BwWDur-C.js → UpgradeToEnterpriseDialog-DTmnp8xy.js} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-BwWDur-C.js.map → UpgradeToEnterpriseDialog-DTmnp8xy.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-B75KLE6R.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js} +3790 -3699
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BBqfsHYh.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs} +29 -29
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BBqfsHYh.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-MfH160rD.cjs.map} +1 -1
- package/dist/VWidget-0KwtSssI.js +191 -0
- package/dist/VWidget-0KwtSssI.js.map +1 -0
- package/dist/VWidget-SWmlQP30.cjs +2 -0
- package/dist/VWidget-SWmlQP30.cjs.map +1 -0
- package/dist/{ValueWidget-CpygRYKj.js → ValueWidget-BGNqaaRs.js} +4 -4
- package/dist/{ValueWidget-CpygRYKj.js.map → ValueWidget-BGNqaaRs.js.map} +1 -1
- package/dist/{ValueWidget-Bzds4cWd.cjs → ValueWidget-BfxZq1LD.cjs} +2 -2
- package/dist/{ValueWidget-Bzds4cWd.cjs.map → ValueWidget-BfxZq1LD.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-CROYfqTR.js → ValuelimitsbarWidget-B6mH4PdF.js} +4 -4
- package/dist/{ValuelimitsbarWidget-CROYfqTR.js.map → ValuelimitsbarWidget-B6mH4PdF.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-CeA4_9vz.cjs → ValuelimitsbarWidget-m5fBewLy.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-CeA4_9vz.cjs.map → ValuelimitsbarWidget-m5fBewLy.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-Vn80PsIX.cjs → ValuelimitscolumnWidget-D_5XZhiD.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-Vn80PsIX.cjs.map → ValuelimitscolumnWidget-D_5XZhiD.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-PCaulvxr.js → ValuelimitscolumnWidget-DlX90_-6.js} +4 -4
- package/dist/{ValuelimitscolumnWidget-PCaulvxr.js.map → ValuelimitscolumnWidget-DlX90_-6.js.map} +1 -1
- package/dist/{ValuerangebarWidget-DjFTQ2yf.cjs → ValuerangebarWidget-C3XFFRhf.cjs} +2 -2
- package/dist/{ValuerangebarWidget-DjFTQ2yf.cjs.map → ValuerangebarWidget-C3XFFRhf.cjs.map} +1 -1
- package/dist/{ValuerangebarWidget-Bn9vuPz4.js → ValuerangebarWidget-C9xyLOJO.js} +4 -4
- package/dist/{ValuerangebarWidget-Bn9vuPz4.js.map → ValuerangebarWidget-C9xyLOJO.js.map} +1 -1
- package/dist/{VerticalWidget-CW7HqXPz.js → VerticalWidget-0UbbE2g3.js} +2 -2
- package/dist/{VerticalWidget-CW7HqXPz.js.map → VerticalWidget-0UbbE2g3.js.map} +1 -1
- package/dist/{VerticalWidget-Cw5zklAW.cjs → VerticalWidget-D-U8cue6.cjs} +2 -2
- package/dist/{VerticalWidget-Cw5zklAW.cjs.map → VerticalWidget-D-U8cue6.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-CLuqkhUX.cjs → VerticalboxWidget-C4nkJhEd.cjs} +2 -2
- package/dist/{VerticalboxWidget-CLuqkhUX.cjs.map → VerticalboxWidget-C4nkJhEd.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-D12SNEH1.js → VerticalboxWidget-efbeOAKE.js} +5 -5
- package/dist/{VerticalboxWidget-D12SNEH1.js.map → VerticalboxWidget-efbeOAKE.js.map} +1 -1
- package/dist/{Widget-Cj7mgG8B.js → Widget-CGePksBA.js} +2 -2
- package/dist/{Widget-Cj7mgG8B.js.map → Widget-CGePksBA.js.map} +1 -1
- package/dist/{Widget-C5yVe7V0.cjs → Widget-D0drYWOT.cjs} +2 -2
- package/dist/{Widget-C5yVe7V0.cjs.map → Widget-D0drYWOT.cjs.map} +1 -1
- package/dist/components.cjs +2 -2
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +23 -23
- package/dist/components.js.map +1 -1
- package/dist/index-BJrYCoCB.js +2550 -0
- package/dist/index-BJrYCoCB.js.map +1 -0
- package/dist/index-C7Uj4U87.js +1883 -0
- package/dist/index-C7Uj4U87.js.map +1 -0
- package/dist/index-Cmp6oZpm.cjs +7 -0
- package/dist/index-Cmp6oZpm.cjs.map +1 -0
- package/dist/index-DqKiZufS.cjs +7 -0
- package/dist/index-DqKiZufS.cjs.map +1 -0
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +27 -27
- package/dist/plugins.js.map +1 -1
- package/dist/purify.es-4pyphLiB.cjs +3 -0
- package/dist/purify.es-4pyphLiB.cjs.map +1 -0
- package/dist/{purify.es-DcWaZU6I.js → purify.es-BPDBzHtc.js} +115 -115
- package/dist/purify.es-BPDBzHtc.js.map +1 -0
- package/dist/{settings-DRbrVc8H.js → settings-CjmDHCpE.js} +2 -2
- package/dist/{settings-DRbrVc8H.js.map → settings-CjmDHCpE.js.map} +1 -1
- package/dist/{settings-BAxfkWAJ.cjs → settings-l1j_GGzu.cjs} +2 -2
- package/dist/{settings-BAxfkWAJ.cjs.map → settings-l1j_GGzu.cjs.map} +1 -1
- package/dist/tools/admin.cjs +1 -6
- package/dist/tools/admin.cjs.map +1 -1
- package/dist/tools/admin.js +6 -2788
- package/dist/tools/admin.js.map +1 -1
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.js +110 -89
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/calendar.cjs +1 -1
- package/dist/tools/calendar.js +1 -1
- package/dist/tools/scriptrunner.cjs +8 -8
- package/dist/tools/scriptrunner.cjs.map +1 -1
- package/dist/tools/scriptrunner.js +1478 -1070
- 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 +73 -70
- package/dist/widgets.js.map +1 -1
- package/package.json +12 -12
- package/dist/BarColumn-CB-tgZUT.js.map +0 -1
- package/dist/BarColumn-D5XXk4Pw.cjs.map +0 -1
- package/dist/DetailsDialog-BI3oNhTn.js.map +0 -1
- package/dist/DetailsDialog-fCmZJxvS.cjs +0 -2
- package/dist/DetailsDialog-fCmZJxvS.cjs.map +0 -1
- package/dist/EventListDialog-BMw8Gl-0.js.map +0 -1
- package/dist/EventListDialog-Dn5Kb-n3.cjs +0 -2
- package/dist/EventListDialog-Dn5Kb-n3.cjs.map +0 -1
- package/dist/FormatvalueWidget-npk9X-15.cjs +0 -2
- package/dist/Graph-B2Riixiv.cjs +0 -2
- package/dist/Graph-B2Riixiv.cjs.map +0 -1
- package/dist/Graph-BdLZrFnQ.js.map +0 -1
- package/dist/LimitscolorWidget-CdXYGMdR.cjs +0 -2
- package/dist/LimitscolorWidget-CdXYGMdR.cjs.map +0 -1
- package/dist/LimitscolorWidget-DRUPC2IF.js +0 -159
- package/dist/LimitscolorWidget-DRUPC2IF.js.map +0 -1
- package/dist/PackagesTab-ONxpjnC_.cjs +0 -2
- package/dist/PluginsTab-BQ0LCHQp.js +0 -1561
- package/dist/PluginsTab-BQ0LCHQp.js.map +0 -1
- package/dist/PluginsTab-crv4-PWb.cjs +0 -6
- package/dist/PluginsTab-crv4-PWb.cjs.map +0 -1
- package/dist/RangebarWidget-14uZ2825.cjs.map +0 -1
- package/dist/RangebarWidget-C461bAvq.js.map +0 -1
- package/dist/ScriptChooser-B6bc-chN.cjs +0 -2
- package/dist/ScriptChooser-B6bc-chN.cjs.map +0 -1
- package/dist/ScriptChooser-BLsPk7_c.js.map +0 -1
- package/dist/SettingsTab-CfJUZWp0.cjs +0 -3
- package/dist/SettingsTab-CfJUZWp0.cjs.map +0 -1
- package/dist/SettingsTab-DN8wG7j8.js.map +0 -1
- package/dist/TargetPacketItemChooser-B8TPlfAu.cjs +0 -2
- package/dist/TargetPacketItemChooser-B8TPlfAu.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-DUODHxax.js.map +0 -1
- package/dist/ToolsTab-DXN-84u5.cjs +0 -2
- package/dist/ToolsTab-DXN-84u5.cjs.map +0 -1
- package/dist/ToolsTab-jE3-AcI0.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-B75KLE6R.js.map +0 -1
- package/dist/VWidget-BU-OM9DB.js +0 -190
- package/dist/VWidget-BU-OM9DB.js.map +0 -1
- package/dist/VWidget-HIRYll0F.cjs +0 -2
- package/dist/VWidget-HIRYll0F.cjs.map +0 -1
- package/dist/index-Cq7Gm1QU.cjs +0 -7
- package/dist/index-Cq7Gm1QU.cjs.map +0 -1
- package/dist/index-D3xlpZgv.js +0 -1794
- package/dist/index-D3xlpZgv.js.map +0 -1
- package/dist/purify.es-B336bjAn.cjs +0 -3
- package/dist/purify.es-B336bjAn.cjs.map +0 -1
- package/dist/purify.es-DcWaZU6I.js.map +0 -1
package/dist/components.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.cjs","sources":["../src/components/config/Config.js","../src/components/config/OpenConfigDialog.vue","../src/components/config/SaveConfigDialog.vue","../src/components/ScriptEditor.vue","../src/components/LogMessages.vue","../src/components/NotFound.vue"],"sourcesContent":["/*\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n data: {\n configKey: '',\n // Applications can set to avoid persisting default config\n // Useful when loading and setting existing config\n dontSaveDefaultConfig: false,\n },\n methods: {\n loadDefaultConfig: function () {\n if (localStorage[`${this.configKey}__default`]) {\n return JSON.parse(localStorage[`${this.configKey}__default`])\n } else {\n return {}\n }\n },\n saveDefaultConfig: function (config) {\n if (this.dontSaveDefaultConfig === true) {\n return\n }\n localStorage[`${this.configKey}__default`] = JSON.stringify(config)\n },\n openConfigBase: function (name, routed = false, callback = null) {\n new OpenC3Api()\n .load_config(this.configKey, name)\n .then((response) => {\n if (response) {\n this.$notify.normal({\n title: 'Loading configuration',\n body: name,\n })\n if (callback) callback(JSON.parse(response))\n if (!routed) {\n if (!this.$route.fullPath.includes(name)) {\n this.$router.push({\n query: {\n config: name,\n },\n })\n }\n }\n } else {\n this.$notify.caution({\n title: 'Unknown configuration',\n body: name,\n })\n }\n })\n .catch((error) => {\n if (error) {\n this.$notify.serious({\n title: `Error opening configuration: ${name}`,\n body: error,\n })\n }\n })\n },\n saveConfigBase: function (name, config) {\n new OpenC3Api()\n .save_config(this.configKey, name, JSON.stringify(config))\n .then(() => {\n this.$notify.normal({\n title: 'Saved configuration',\n body: name,\n })\n })\n .catch((error) => {\n if (error) {\n this.$notify.serious({\n title: `Error saving configuration: ${name}`,\n body: error,\n })\n }\n })\n },\n resetConfigBase: function () {\n localStorage.removeItem(`${this.configKey}__default`)\n\n const query = { ...this.$route.query }\n delete query.config\n this.$router.replace({ query })\n },\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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 <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"cancel\">\n <v-card>\n <form @submit.prevent=\"success\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span>Open Configuration</span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-text>\n <div class=\"mt-4 pa-3\">\n <v-row dense>\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n type=\"text\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n clear-icon=\"mdi-close-circle-outline\"\n autofocus\n single-line\n hide-details\n data-test=\"search\"\n />\n </v-row>\n <v-data-table\n v-model=\"selectedRows\"\n show-select\n select-strategy=\"single\"\n item-value=\"configId\"\n :search=\"search\"\n :headers=\"headers\"\n :items=\"configs\"\n :items-per-page=\"5\"\n :items-per-page-options=\"[5]\"\n @click:row=\"($event, row) => selectRow(row)\"\n >\n <template #item.actions=\"{ item }\">\n <v-btn\n class=\"mt-1\"\n icon=\"mdi-delete\"\n variant=\"text\"\n data-test=\"item-delete\"\n @click=\"deleteConfig(item)\"\n />\n </template>\n </v-data-table>\n <v-row dense>\n <span v-show=\"error\" class=\"ma-2 text-red\" v-text=\"error\" />\n </v-row>\n </div>\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn\n variant=\"outlined\"\n data-test=\"open-config-cancel-btn\"\n @click=\"cancel\"\n >\n Cancel\n </v-btn>\n <v-btn\n variant=\"flat\"\n type=\"submit\"\n data-test=\"open-config-submit-btn\"\n :disabled=\"!!error\"\n @click.prevent=\"success\"\n >\n Ok\n </v-btn>\n </v-card-actions>\n </form>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n configKey: {\n type: String,\n default: null,\n },\n modelValue: Boolean, // modelValue is the default prop when using v-model\n },\n emits: ['update:modelValue', 'warning', 'success'],\n data() {\n return {\n configs: [],\n headers: [\n {\n title: 'Configuration',\n value: 'config',\n },\n {\n title: 'Actions',\n value: 'actions',\n align: 'end',\n sortable: false,\n },\n ],\n search: null,\n selectedRows: [],\n }\n },\n computed: {\n selectedItem: function () {\n if (this.selectedRows.length) {\n return this.configs.find(\n (config) => config.configId === this.selectedRows[0],\n )\n }\n return null\n },\n error: function () {\n if (this.selectedItem === '' || this.selectedItem === null) {\n return 'Must select a config'\n }\n return null\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value) // update is the default event when using v-model\n },\n },\n },\n mounted() {\n let configId = -1\n new OpenC3Api()\n .list_configs(this.configKey)\n .then((response) => {\n this.configs = response.map((config) => {\n configId += 1\n return { configId, config }\n })\n })\n .catch((error) => {\n this.$emit('warning', `Failed to connect to OpenC3. ${error}`)\n })\n },\n methods: {\n selectRow: function (row) {\n this.selectedRows = [row.item.configId]\n },\n success: function () {\n if (!this.selectedItem) return\n this.$emit('success', this.selectedItem.config)\n this.show = false\n this.search = null\n this.selectedRows = []\n },\n cancel: function () {\n this.show = false\n this.search = null\n this.selectedRows = []\n },\n deleteConfig: function (item) {\n this.$dialog\n .confirm(`Are you sure you want to delete: ${item.config}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n if (this.selectedItem?.config === item.config) {\n this.selectedRows = []\n }\n this.configs.splice(this.configs.indexOf(item), 1)\n new OpenC3Api().delete_config(this.configKey, item.config)\n })\n .catch((error) => {\n if (error !== true) {\n this.$emit(\n 'warning',\n `Failed to delete config ${item.config} Error: ${error}`,\n )\n }\n })\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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 <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"cancel\">\n <v-card>\n <form @submit.prevent=\"success\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span>Save Configuration</span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-text>\n <div class=\"mt-4 pa-3\">\n <v-row dense>\n <v-text-field\n v-model=\"search\"\n label=\"search\"\n type=\"text\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n clear-icon=\"mdi-close-circle-outline\"\n single-line\n hide-details\n data-test=\"search\"\n />\n </v-row>\n <v-data-table\n v-model=\"selectedRows\"\n show-select\n select-strategy=\"single\"\n item-value=\"configId\"\n :search=\"search\"\n :headers=\"headers\"\n :items=\"configs\"\n :items-per-page=\"5\"\n :items-per-page-options=\"[5]\"\n @click:row=\"($event, row) => selectRow(row)\"\n >\n <template #item.actions=\"{ item }\">\n <v-btn\n class=\"mt-1\"\n icon=\"mdi-delete\"\n variant=\"text\"\n data-test=\"item-delete\"\n @click=\"deleteConfig(item)\"\n />\n </template>\n </v-data-table>\n <v-row dense>\n <v-text-field\n v-model=\"configName\"\n hide-details\n autofocus\n :disabled=\"!!selectedItem\"\n label=\"Configuration Name\"\n data-test=\"name-input-save-config-dialog\"\n />\n </v-row>\n <v-row dense>\n <span v-show=\"error\" class=\"ma-2 text-red\" v-text=\"error\" />\n </v-row>\n </div>\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"outlined\" @click=\"cancel\"> Cancel </v-btn>\n <v-btn\n variant=\"flat\"\n type=\"submit\"\n data-test=\"save-config-submit-btn\"\n :disabled=\"!!error\"\n @click.prevent=\"success\"\n >\n Ok\n </v-btn>\n </v-card-actions>\n </form>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n configKey: {\n type: String,\n default: null,\n },\n modelValue: Boolean, // modelValue is the default prop when using v-model\n },\n emits: ['update:modelValue', 'warning', 'success'],\n data() {\n return {\n configName: '',\n configs: [],\n headers: [\n {\n title: 'Configuration',\n value: 'config',\n },\n {\n title: 'Actions',\n value: 'actions',\n align: 'end',\n sortable: false,\n },\n ],\n search: null,\n selectedRows: [],\n }\n },\n computed: {\n selectedItem: function () {\n if (this.selectedRows.length) {\n return this.configs.find(\n (config) => config.configId === this.selectedRows[0],\n )\n }\n return null\n },\n error: function () {\n if (!this.configName) {\n return 'Config must have a name'\n }\n return null\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value) // update is the default event when using v-model\n },\n },\n },\n watch: {\n selectedItem: function (val) {\n if (val) {\n this.configName = val.config\n }\n },\n },\n mounted() {\n let configId = -1\n new OpenC3Api()\n .list_configs(this.configKey)\n .then((response) => {\n this.configs = response.map((config) => {\n configId += 1\n return { configId, config }\n })\n })\n .catch((error) => {\n this.$emit('warning', `Failed to connect to OpenC3. ${error}`)\n })\n },\n methods: {\n selectRow: function (row) {\n this.selectedRows = [row.item.configId]\n },\n success: function () {\n this.$emit('success', this.configName)\n this.show = false\n this.search = null\n this.selectedRows = []\n this.configName = ''\n },\n cancel: function () {\n this.show = false\n this.search = null\n this.selectedRows = []\n this.configName = ''\n },\n deleteConfig: function (item) {\n this.$dialog\n .confirm(`Are you sure you want to delete: ${item.config}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n if (this.selectedItem?.config === item.config) {\n this.selectedRows = []\n this.configName = ''\n }\n this.configs.splice(this.configs.indexOf(item), 1)\n new OpenC3Api().delete_config(this.configKey, item.config)\n })\n .catch((error) => {\n if (error !== true) {\n this.$emit(\n 'warning',\n `Failed to delete config ${item.config} Error: ${error}`,\n )\n }\n })\n },\n },\n}\n</script>\n","<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"script-editor-container\">\n <v-row no-gutters align=\"center\" class=\"mb-2\">\n <v-btn-toggle v-model=\"language\" mandatory density=\"compact\" class=\"mr-3\">\n <v-btn value=\"ruby\" size=\"small\">Ruby</v-btn>\n <v-btn value=\"python\" size=\"small\">Python</v-btn>\n </v-btn-toggle>\n <v-spacer />\n <v-btn\n icon=\"mdi-download\"\n variant=\"text\"\n density=\"compact\"\n title=\"Download\"\n data-test=\"script-editor-download\"\n @click=\"downloadContent\"\n />\n </v-row>\n <v-row no-gutters class=\"mb-2\">\n <pre\n ref=\"editor\"\n class=\"script-editor\"\n :style=\"{ height: height, width: '100%' }\"\n @contextmenu.prevent=\"showContextMenu\"\n ></pre>\n <v-menu v-model=\"contextMenu\" :target=\"[menuX, menuY]\">\n <v-list>\n <v-list-item\n title=\"Toggle Vim mode\"\n prepend-icon=\"extras:vim\"\n @click=\"toggleVimMode\"\n />\n </v-list>\n </v-menu>\n </v-row>\n <v-row no-gutters>\n <span class=\"text-caption text-grey\">\n Ctrl-space brings up autocomplete.\n </span>\n </v-row>\n </div>\n</template>\n\n<script>\nimport * as ace from 'ace-builds'\nimport 'ace-builds/src-min-noconflict/mode-ruby'\nimport 'ace-builds/src-min-noconflict/mode-python'\nimport 'ace-builds/src-min-noconflict/theme-twilight'\nimport 'ace-builds/src-min-noconflict/ext-language_tools'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\nimport { AceEditorModes, AceEditorUtils } from './ace'\nimport { CmdCompleter, TlmCompleter } from '../tools/scriptrunner/autocomplete'\n\nexport default {\n mixins: [AceEditorModes],\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n height: {\n type: String,\n default: '300px',\n },\n filename: {\n type: String,\n default: 'script',\n },\n },\n emits: ['update:modelValue'],\n data() {\n return {\n editor: null,\n language: AceEditorUtils.getDefaultScriptingLanguage() || 'ruby',\n rubyMode: null,\n pythonMode: null,\n contextMenu: false,\n menuX: 0,\n menuY: 0,\n }\n },\n watch: {\n modelValue(newValue) {\n if (this.editor && this.editor.getValue() !== newValue) {\n this.editor.setValue(newValue)\n this.editor.clearSelection()\n }\n },\n language(newValue) {\n if (this.editor) {\n if (newValue === 'python') {\n this.editor.session.setMode(this.pythonMode)\n } else {\n this.editor.session.setMode(this.rubyMode)\n }\n }\n },\n },\n mounted() {\n this.initEditor()\n },\n beforeUnmount() {\n if (this.editor) {\n this.editor.destroy()\n this.editor.container.remove()\n }\n },\n methods: {\n initEditor() {\n this.editor = ace.edit(this.$refs.editor)\n this.editor.setTheme('ace/theme/twilight')\n\n // Build modes using the mixin methods\n const RubyMode = this.buildRubyMode()\n const PythonMode = this.buildPythonMode()\n this.rubyMode = new RubyMode()\n this.pythonMode = new PythonMode()\n\n // Set initial mode based on language\n if (this.language === 'python') {\n this.editor.session.setMode(this.pythonMode)\n } else {\n this.editor.session.setMode(this.rubyMode)\n }\n\n this.editor.session.setTabSize(2)\n this.editor.session.setUseWrapMode(true)\n this.editor.$blockScrolling = Infinity\n this.editor.setOption('enableBasicAutocompletion', true)\n this.editor.setOption('enableLiveAutocompletion', true)\n this.editor.completers = [new CmdCompleter(), new TlmCompleter()]\n this.editor.setHighlightActiveLine(false)\n this.editor.setValue(this.modelValue)\n this.editor.clearSelection()\n AceEditorUtils.applyVimModeIfEnabled(this.editor)\n this.editor.focus()\n\n this.editor.session.on('change', () => {\n this.$emit('update:modelValue', this.editor.getValue())\n })\n },\n getValue() {\n return this.editor ? this.editor.getValue() : this.modelValue\n },\n toggleVimMode() {\n AceEditorUtils.toggleVimMode(this.editor)\n },\n showContextMenu(event) {\n this.menuX = event.pageX\n this.menuY = event.pageY\n this.contextMenu = true\n },\n downloadContent() {\n const ext = this.language === 'python' ? '.py' : '.rb'\n const blob = new Blob([this.editor.getValue()], {\n type: 'text/plain',\n })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', `${this.filename}${ext}`)\n link.click()\n },\n },\n}\n</script>\n\n<style scoped>\n.script-editor-container {\n width: 100%;\n}\n\n.script-editor {\n width: 100%;\n position: relative;\n font-size: 16px;\n}\n</style>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title class=\"d-flex align-center justify-content-space-between\">\n <div class=\"d-flex align-baseline\">\n <v-btn\n icon=\"mdi-download\"\n variant=\"text\"\n size=\"small\"\n class=\"mr-2\"\n data-test=\"download-log\"\n @click=\"downloadLog\"\n />\n <span> Log Messages </span>\n <v-btn\n :icon=\"buttonIcon\"\n variant=\"text\"\n data-test=\"pause\"\n @click=\"pause\"\n />\n </div>\n <v-spacer />\n <v-select\n v-model=\"logLevel\"\n label=\"Filter by log level\"\n hide-details\n variant=\"outlined\"\n density=\"compact\"\n :items=\"logLevels\"\n class=\"mr-2\"\n style=\"max-width: 150px\"\n data-test=\"log-messages-level\"\n />\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 style=\"max-width: 300px\"\n class=\"search\"\n data-test=\"search-log-messages\"\n />\n <v-btn\n icon=\"mdi-delete-sweep\"\n variant=\"text\"\n class=\"ml-2\"\n data-test=\"clear-log\"\n @click=\"clearLog\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"shownData\"\n :search=\"search\"\n :items-per-page=\"-1\"\n hide-default-footer\n :sort-by=\"[{ key: 'time', order: 'desc' }]\"\n density=\"compact\"\n fixed-header\n hover\n data-test=\"log-messages\"\n >\n <template #item.timestamp=\"{ item }\">\n <time :title=\"item.timestamp\" :datetime=\"item.timestamp\">\n {{ item.timestamp }}\n </time>\n </template>\n <template #item.level=\"{ item }\">\n <span :style=\"'display: inline-flex; color:' + getColor(item.level)\">\n <rux-status class=\"mr-1\" :status=\"getStatus(item.level)\"></rux-status>\n {{ item.level }}</span\n >\n </template>\n <template #item.message=\"{ item }\">\n <div style=\"white-space: pre-wrap\">{{ item.message }}</div>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport { format } from 'date-fns'\nimport { Cable } from '@openc3/js-common/services'\nimport { AstroStatusColors, UnknownToAstroStatus } from '@/icons'\nimport { TimeFilters } from '@/util'\n\nexport default {\n mixins: [TimeFilters],\n props: {\n historyCount: {\n type: Number,\n default: 200,\n },\n timeZone: {\n type: String,\n default: 'local',\n },\n },\n data() {\n return {\n AstroStatusColors,\n data: [],\n shownData: [],\n logLevels: ['DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'],\n logLevel: 'INFO',\n search: '',\n headers: [\n { title: 'Time', value: 'timestamp', nowrap: true },\n { title: 'Level', value: 'level' },\n { title: 'Source', value: 'microservice_name' },\n { title: 'Message', value: 'message' },\n ],\n cable: new Cable(),\n subscription: null,\n paused: false,\n }\n },\n computed: {\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n },\n watch: {\n logLevel: function (newVal, oldVal) {\n this.createSubscription()\n },\n },\n created() {\n this.createSubscription()\n },\n unmounted() {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n methods: {\n pause: function () {\n this.paused = !this.paused\n },\n createSubscription() {\n if (this.subscription) {\n this.subscription.unsubscribe()\n this.data = []\n this.shownData = this.data\n }\n this.cable\n .createSubscription(\n 'MessagesChannel',\n window.openc3Scope,\n {\n received: (messages) => {\n this.cable.recordPing()\n if (messages.length > this.historyCount) {\n messages.splice(0, messages.length - this.historyCount)\n }\n // Filter messages before they're added to the table\n // This prevents a bunch of invisible 'INFO' messages from pushing\n // off the 'WARN' or 'ERROR' messages if we filter inside the data-table\n messages = messages.filter((message) => {\n switch (this.logLevel) {\n case 'DEBUG':\n return true\n case 'INFO':\n if (message.level !== 'DEBUG') {\n return true\n }\n break\n case 'WARN':\n if (message.level !== 'DEBUG' && message.level !== 'INFO') {\n return true\n }\n break\n case 'ERROR':\n if (\n message.level !== 'DEBUG' &&\n message.level !== 'INFO' &&\n message.level !== 'WARN'\n ) {\n return true\n }\n break\n case 'FATAL':\n if (\n message.level !== 'DEBUG' &&\n message.level !== 'INFO' &&\n message.level !== 'WARN' &&\n message.level !== 'ERROR'\n ) {\n return true\n }\n break\n }\n return false\n })\n messages.map((message) => {\n message.timestamp = this.formatTimestamp(\n message['@timestamp'],\n this.timeZone,\n )\n if (\n message.message.raw &&\n message.message.json_class === 'String'\n ) {\n // This is binary data, display in hex.\n let result = '0x'\n for (let i = 0; i < message.message.raw.length; i++) {\n result += message.message.raw[i]\n .toString(16)\n .padStart(2, '0')\n .toUpperCase()\n }\n message.message = result\n } else {\n message.message = message.message.replaceAll('\\\\n', '\\n')\n }\n })\n this.data = messages.reverse().concat(this.data)\n if (this.data.length > this.historyCount) {\n this.data.length = this.historyCount\n }\n if (!this.paused) {\n this.shownData = this.data\n }\n },\n },\n {\n // Channel parameter is history_count with underscore\n history_count: this.historyCount,\n types: ['log', 'notification', 'alert'],\n },\n )\n .then((subscription) => {\n this.subscription = subscription\n })\n },\n getColor(level) {\n return AstroStatusColors[UnknownToAstroStatus[level]]\n },\n getStatus(level) {\n return UnknownToAstroStatus[level]\n },\n downloadLog() {\n const output = this.shownData\n .sort((a, b) => a.time - b.time)\n .map(\n (entry) =>\n // Other fields are available like container_name, msg_id ... probably not useful\n `${entry.timestamp} | ${entry.level} | ${entry.microservice_name} | ${entry.message}`,\n )\n .join('\\n')\n const blob = new Blob([output], {\n type: 'text/plain',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute(\n 'download',\n format(Date.now(), 'yyyy_MM_dd_HH_mm_ss') + '_message_log.txt',\n )\n link.click()\n },\n clearLog: function () {\n this.$dialog\n .confirm('Are you sure you want to clear the log?', {\n okText: 'Clear',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n this.data = []\n this.shownData = []\n })\n .catch(function (err) {\n // Canceling the dialog forces catch and sets err to true\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.v-card {\n /* take up any remaining vertical space\n (e.g. whatever is left after the tabs in cmdtlmserver)\n */\n flex-grow: 1;\n\n /* flex so the table can grow without making the card itself scroll */\n display: flex;\n flex-direction: column;\n}\n.v-data-table {\n height: 25vh; /* give it at least a bit of height to start with */\n flex-grow: 1; /* and then grow to fill all the space it can */\n}\n</style>\n","<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card v-if=\"show\">\n <v-card-title> 404 Not Found </v-card-title>\n <v-card-text class=\"d-flex align-center mt-3\">\n The requested URL\n <code class=\"mx-1\"> {{ $route.fullPath }} </code>\n was not routable.\n <span class=\"text-h3 mx-1\"> 🦄 </span>\n </v-card-text>\n </v-card>\n <div v-if=\"showSpinner\" class=\"d-flex justify-center align-center\">\n <v-progress-circular indeterminate />\n </div>\n</template>\n\n<script>\nimport { getMountedApps } from 'single-spa'\n\nconst POLL_INTERVAL_MS = 50\nconst NOT_FOUND_TIMEOUT_MS = 2000\nconst SINGLE_SPA_APP_CHANGE_EVENT = 'single-spa:app-change'\n\n// This component is actually always loaded for every route other than /login\n// because of the catch-all path in tool-base's router, so we need logic to\n// hide it when a tool is loaded.\nexport default {\n data() {\n return {\n appsMounted: false,\n show: false,\n hideSpinner: false,\n pollInterval: null,\n }\n },\n computed: {\n showSpinner: function () {\n return !this.hideSpinner && !this.show\n },\n },\n created() {\n window.addEventListener(SINGLE_SPA_APP_CHANGE_EVENT, this.handleAppChange)\n },\n mounted() {\n this.pollForMountedApps()\n // This gives some time to allow slow connections to find the apps before flashing the 404\n setTimeout(() => {\n if (!this.appsMounted) {\n this.show = true\n if (this.pollInterval) {\n clearInterval(this.pollInterval)\n }\n }\n }, NOT_FOUND_TIMEOUT_MS)\n },\n unmounted() {\n window.removeEventListener(\n SINGLE_SPA_APP_CHANGE_EVENT,\n this.handleAppChange,\n )\n if (this.pollInterval) {\n clearInterval(this.pollInterval)\n }\n },\n methods: {\n handleAppChange: function (event) {\n this.show = !event.detail.appsByNewStatus.MOUNTED\n this.hideSpinner = true\n },\n pollForMountedApps: function () {\n // Check to see if there are single-spa apps that matched the route.\n // The app-change event doesn't cover this case...\n this.pollInterval = setInterval(() => {\n this.appsMounted = getMountedApps().length > 0\n if (getMountedApps().length > 0) {\n this.hideSpinner = true\n clearInterval(this.pollInterval)\n }\n }, POLL_INTERVAL_MS)\n },\n },\n}\n</script>\n"],"names":["Config","config","name","routed","callback","OpenC3Api","response","error","query","_sfc_main","value","configId","row","item","dialog","_hoisted_1","_createBlock","_component_v_dialog","$options","$event","_createVNode","_component_v_card","_createElementVNode","args","_component_v_toolbar","_component_v_spacer","_cache","_component_v_card_text","_component_v_row","_component_v_text_field","$data","_component_v_data_table","_withCtx","_component_v_btn","_toDisplayString","_component_v_card_actions","val","AceEditorModes","AceEditorUtils","newValue","ace.edit","RubyMode","PythonMode","CmdCompleter","TlmCompleter","event","ext","blob","link","_openBlock","_createElementBlock","_component_v_btn_toggle","$props","_component_v_menu","_component_v_list","_component_v_list_item","TimeFilters","AstroStatusColors","Cable","newVal","oldVal","messages","message","result","i","subscription","level","UnknownToAstroStatus","output","a","b","entry","format","err","_hoisted_3","_component_v_card_title","_component_v_select","_hoisted_2","_normalizeStyle","_component_rux_status","POLL_INTERVAL_MS","NOT_FOUND_TIMEOUT_MS","SINGLE_SPA_APP_CHANGE_EVENT","getMountedApps","_ctx","_component_v_progress_circular"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components.cjs","sources":["../src/components/config/Config.js","../src/components/config/OpenConfigDialog.vue","../src/components/config/SaveConfigDialog.vue","../src/components/ScriptEditor.vue","../src/components/LogMessages.vue","../src/components/NotFound.vue"],"sourcesContent":["/*\n# Copyright 2023 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n*/\n\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n data: {\n configKey: '',\n // Applications can set to avoid persisting default config\n // Useful when loading and setting existing config\n dontSaveDefaultConfig: false,\n },\n methods: {\n loadDefaultConfig: function () {\n if (localStorage[`${this.configKey}__default`]) {\n return JSON.parse(localStorage[`${this.configKey}__default`])\n } else {\n return {}\n }\n },\n saveDefaultConfig: function (config) {\n if (this.dontSaveDefaultConfig === true) {\n return\n }\n localStorage[`${this.configKey}__default`] = JSON.stringify(config)\n },\n openConfigBase: function (name, routed = false, callback = null) {\n new OpenC3Api()\n .load_config(this.configKey, name)\n .then((response) => {\n if (response) {\n this.$notify.normal({\n title: 'Loading configuration',\n body: name,\n })\n if (callback) callback(JSON.parse(response))\n if (!routed) {\n if (!this.$route.fullPath.includes(name)) {\n this.$router.push({\n query: {\n config: name,\n },\n })\n }\n }\n } else {\n this.$notify.caution({\n title: 'Unknown configuration',\n body: name,\n })\n }\n })\n .catch((error) => {\n if (error) {\n this.$notify.serious({\n title: `Error opening configuration: ${name}`,\n body: error,\n })\n }\n })\n },\n saveConfigBase: function (name, config) {\n new OpenC3Api()\n .save_config(this.configKey, name, JSON.stringify(config))\n .then(() => {\n this.$notify.normal({\n title: 'Saved configuration',\n body: name,\n })\n })\n .catch((error) => {\n if (error) {\n this.$notify.serious({\n title: `Error saving configuration: ${name}`,\n body: error,\n })\n }\n })\n },\n resetConfigBase: function () {\n localStorage.removeItem(`${this.configKey}__default`)\n\n const query = { ...this.$route.query }\n delete query.config\n this.$router.replace({ query })\n },\n },\n}\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 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 <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"cancel\">\n <v-card>\n <form @submit.prevent=\"success\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span>Open Configuration</span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-text>\n <div class=\"mt-4 pa-3\">\n <v-row dense>\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n type=\"text\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n clear-icon=\"mdi-close-circle-outline\"\n autofocus\n single-line\n hide-details\n data-test=\"search\"\n />\n </v-row>\n <v-data-table\n v-model=\"selectedRows\"\n show-select\n select-strategy=\"single\"\n item-value=\"configId\"\n :search=\"search\"\n :headers=\"headers\"\n :items=\"configs\"\n :items-per-page=\"5\"\n :items-per-page-options=\"[5]\"\n @click:row=\"($event, row) => selectRow(row)\"\n >\n <template #item.actions=\"{ item }\">\n <v-btn\n class=\"mt-1\"\n icon=\"mdi-delete\"\n variant=\"text\"\n data-test=\"item-delete\"\n @click=\"deleteConfig(item)\"\n />\n </template>\n </v-data-table>\n <v-row dense>\n <span v-show=\"error\" class=\"ma-2 text-red\" v-text=\"error\" />\n </v-row>\n </div>\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn\n variant=\"outlined\"\n data-test=\"open-config-cancel-btn\"\n @click=\"cancel\"\n >\n Cancel\n </v-btn>\n <v-btn\n variant=\"flat\"\n type=\"submit\"\n data-test=\"open-config-submit-btn\"\n :disabled=\"!!error\"\n @click.prevent=\"success\"\n >\n Ok\n </v-btn>\n </v-card-actions>\n </form>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n configKey: {\n type: String,\n default: null,\n },\n modelValue: Boolean, // modelValue is the default prop when using v-model\n },\n emits: ['update:modelValue', 'warning', 'success'],\n data() {\n return {\n configs: [],\n headers: [\n {\n title: 'Configuration',\n value: 'config',\n },\n {\n title: 'Actions',\n value: 'actions',\n align: 'end',\n sortable: false,\n },\n ],\n search: null,\n selectedRows: [],\n }\n },\n computed: {\n selectedItem: function () {\n if (this.selectedRows.length) {\n return this.configs.find(\n (config) => config.configId === this.selectedRows[0],\n )\n }\n return null\n },\n error: function () {\n if (this.selectedItem === '' || this.selectedItem === null) {\n return 'Must select a config'\n }\n return null\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value) // update is the default event when using v-model\n },\n },\n },\n mounted() {\n let configId = -1\n new OpenC3Api()\n .list_configs(this.configKey)\n .then((response) => {\n this.configs = response.map((config) => {\n configId += 1\n return { configId, config }\n })\n })\n .catch((error) => {\n this.$emit('warning', `Failed to connect to OpenC3. ${error}`)\n })\n },\n methods: {\n selectRow: function (row) {\n this.selectedRows = [row.item.configId]\n },\n success: function () {\n if (!this.selectedItem) return\n this.$emit('success', this.selectedItem.config)\n this.show = false\n this.search = null\n this.selectedRows = []\n },\n cancel: function () {\n this.show = false\n this.search = null\n this.selectedRows = []\n },\n deleteConfig: function (item) {\n this.$dialog\n .confirm(`Are you sure you want to delete: ${item.config}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n if (this.selectedItem?.config === item.config) {\n this.selectedRows = []\n }\n this.configs.splice(this.configs.indexOf(item), 1)\n new OpenC3Api().delete_config(this.configKey, item.config)\n })\n .catch((error) => {\n if (error !== true) {\n this.$emit(\n 'warning',\n `Failed to delete config ${item.config} Error: ${error}`,\n )\n }\n })\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" persistent width=\"600\" @keydown.esc=\"cancel\">\n <v-card>\n <form @submit.prevent=\"success\">\n <v-toolbar height=\"24\">\n <v-spacer />\n <span>Save Configuration</span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-text>\n <div class=\"mt-4 pa-3\">\n <v-row dense>\n <v-text-field\n v-model=\"search\"\n label=\"search\"\n type=\"text\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n clear-icon=\"mdi-close-circle-outline\"\n single-line\n hide-details\n data-test=\"search\"\n />\n </v-row>\n <v-data-table\n v-model=\"selectedRows\"\n show-select\n select-strategy=\"single\"\n item-value=\"configId\"\n :search=\"search\"\n :headers=\"headers\"\n :items=\"configs\"\n :items-per-page=\"5\"\n :items-per-page-options=\"[5]\"\n @click:row=\"($event, row) => selectRow(row)\"\n >\n <template #item.actions=\"{ item }\">\n <v-btn\n class=\"mt-1\"\n icon=\"mdi-delete\"\n variant=\"text\"\n data-test=\"item-delete\"\n @click=\"deleteConfig(item)\"\n />\n </template>\n </v-data-table>\n <v-row dense>\n <v-text-field\n v-model=\"configName\"\n hide-details\n autofocus\n :disabled=\"!!selectedItem\"\n label=\"Configuration Name\"\n data-test=\"name-input-save-config-dialog\"\n />\n </v-row>\n <v-row dense>\n <span v-show=\"error\" class=\"ma-2 text-red\" v-text=\"error\" />\n </v-row>\n </div>\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"outlined\" @click=\"cancel\"> Cancel </v-btn>\n <v-btn\n variant=\"flat\"\n type=\"submit\"\n data-test=\"save-config-submit-btn\"\n :disabled=\"!!error\"\n @click.prevent=\"success\"\n >\n Ok\n </v-btn>\n </v-card-actions>\n </form>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n configKey: {\n type: String,\n default: null,\n },\n modelValue: Boolean, // modelValue is the default prop when using v-model\n },\n emits: ['update:modelValue', 'warning', 'success'],\n data() {\n return {\n configName: '',\n configs: [],\n headers: [\n {\n title: 'Configuration',\n value: 'config',\n },\n {\n title: 'Actions',\n value: 'actions',\n align: 'end',\n sortable: false,\n },\n ],\n search: null,\n selectedRows: [],\n }\n },\n computed: {\n selectedItem: function () {\n if (this.selectedRows.length) {\n return this.configs.find(\n (config) => config.configId === this.selectedRows[0],\n )\n }\n return null\n },\n error: function () {\n if (!this.configName) {\n return 'Config must have a name'\n }\n if (!/^[A-Za-z0-9_\\-. ]+$/.test(this.configName)) {\n return 'Config name must only contain letters, numbers, hyphens, underscores, spaces, and periods'\n }\n return null\n },\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value) // update is the default event when using v-model\n },\n },\n },\n watch: {\n selectedItem: function (val) {\n if (val) {\n this.configName = val.config\n }\n },\n },\n mounted() {\n let configId = -1\n new OpenC3Api()\n .list_configs(this.configKey)\n .then((response) => {\n this.configs = response.map((config) => {\n configId += 1\n return { configId, config }\n })\n })\n .catch((error) => {\n this.$emit('warning', `Failed to connect to OpenC3. ${error}`)\n })\n },\n methods: {\n selectRow: function (row) {\n this.selectedRows = [row.item.configId]\n },\n success: function () {\n this.$emit('success', this.configName)\n this.show = false\n this.search = null\n this.selectedRows = []\n this.configName = ''\n },\n cancel: function () {\n this.show = false\n this.search = null\n this.selectedRows = []\n this.configName = ''\n },\n deleteConfig: function (item) {\n this.$dialog\n .confirm(`Are you sure you want to delete: ${item.config}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n if (this.selectedItem?.config === item.config) {\n this.selectedRows = []\n this.configName = ''\n }\n this.configs.splice(this.configs.indexOf(item), 1)\n new OpenC3Api().delete_config(this.configKey, item.config)\n })\n .catch((error) => {\n if (error !== true) {\n this.$emit(\n 'warning',\n `Failed to delete config ${item.config} Error: ${error}`,\n )\n }\n })\n },\n },\n}\n</script>\n","<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"script-editor-container\">\n <v-row no-gutters align=\"center\" class=\"mb-2\">\n <v-btn-toggle v-model=\"language\" mandatory density=\"compact\" class=\"mr-3\">\n <v-btn value=\"ruby\" size=\"small\">Ruby</v-btn>\n <v-btn value=\"python\" size=\"small\">Python</v-btn>\n </v-btn-toggle>\n <v-spacer />\n <v-btn\n icon=\"mdi-download\"\n variant=\"text\"\n density=\"compact\"\n title=\"Download\"\n data-test=\"script-editor-download\"\n @click=\"downloadContent\"\n />\n </v-row>\n <v-row no-gutters class=\"mb-2\">\n <pre\n ref=\"editor\"\n class=\"script-editor\"\n :style=\"{ height: height, width: '100%' }\"\n @contextmenu.prevent=\"showContextMenu\"\n ></pre>\n <v-menu v-model=\"contextMenu\" :target=\"[menuX, menuY]\">\n <v-list>\n <v-list-item\n title=\"Toggle Vim mode\"\n prepend-icon=\"extras:vim\"\n @click=\"toggleVimMode\"\n />\n </v-list>\n </v-menu>\n </v-row>\n <v-row no-gutters>\n <span class=\"text-caption text-grey\">\n Ctrl-space brings up autocomplete.\n </span>\n </v-row>\n </div>\n</template>\n\n<script>\nimport * as ace from 'ace-builds'\nimport 'ace-builds/src-min-noconflict/mode-ruby'\nimport 'ace-builds/src-min-noconflict/mode-python'\nimport 'ace-builds/src-min-noconflict/theme-twilight'\nimport 'ace-builds/src-min-noconflict/ext-language_tools'\nimport 'ace-builds/src-min-noconflict/ext-searchbox'\nimport { AceEditorModes, AceEditorUtils } from './ace'\nimport { CmdCompleter, TlmCompleter } from '../tools/scriptrunner/autocomplete'\n\nexport default {\n mixins: [AceEditorModes],\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n height: {\n type: String,\n default: '300px',\n },\n filename: {\n type: String,\n default: 'script',\n },\n },\n emits: ['update:modelValue'],\n data() {\n return {\n editor: null,\n language: AceEditorUtils.getDefaultScriptingLanguage() || 'ruby',\n rubyMode: null,\n pythonMode: null,\n contextMenu: false,\n menuX: 0,\n menuY: 0,\n }\n },\n watch: {\n modelValue(newValue) {\n if (this.editor && this.editor.getValue() !== newValue) {\n this.editor.setValue(newValue)\n this.editor.clearSelection()\n }\n },\n language(newValue) {\n if (this.editor) {\n if (newValue === 'python') {\n this.editor.session.setMode(this.pythonMode)\n } else {\n this.editor.session.setMode(this.rubyMode)\n }\n }\n },\n },\n mounted() {\n this.initEditor()\n },\n beforeUnmount() {\n if (this.editor) {\n this.editor.destroy()\n this.editor.container.remove()\n }\n },\n methods: {\n initEditor() {\n this.editor = ace.edit(this.$refs.editor)\n this.editor.setTheme('ace/theme/twilight')\n\n // Build modes using the mixin methods\n const RubyMode = this.buildRubyMode()\n const PythonMode = this.buildPythonMode()\n this.rubyMode = new RubyMode()\n this.pythonMode = new PythonMode()\n\n // Set initial mode based on language\n if (this.language === 'python') {\n this.editor.session.setMode(this.pythonMode)\n } else {\n this.editor.session.setMode(this.rubyMode)\n }\n\n this.editor.session.setTabSize(2)\n this.editor.session.setUseWrapMode(true)\n this.editor.$blockScrolling = Infinity\n this.editor.setOption('enableBasicAutocompletion', true)\n this.editor.setOption('enableLiveAutocompletion', true)\n this.editor.completers = [new CmdCompleter(), new TlmCompleter()]\n this.editor.setHighlightActiveLine(false)\n this.editor.setValue(this.modelValue)\n this.editor.clearSelection()\n AceEditorUtils.applyVimModeIfEnabled(this.editor)\n this.editor.focus()\n\n this.editor.session.on('change', () => {\n this.$emit('update:modelValue', this.editor.getValue())\n })\n },\n getValue() {\n return this.editor ? this.editor.getValue() : this.modelValue\n },\n toggleVimMode() {\n AceEditorUtils.toggleVimMode(this.editor)\n },\n showContextMenu(event) {\n this.menuX = event.pageX\n this.menuY = event.pageY\n this.contextMenu = true\n },\n downloadContent() {\n const ext = this.language === 'python' ? '.py' : '.rb'\n const blob = new Blob([this.editor.getValue()], {\n type: 'text/plain',\n })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', `${this.filename}${ext}`)\n link.click()\n },\n },\n}\n</script>\n\n<style scoped>\n.script-editor-container {\n width: 100%;\n}\n\n.script-editor {\n width: 100%;\n position: relative;\n font-size: 16px;\n}\n</style>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <v-card-title class=\"d-flex align-center justify-content-space-between\">\n <div class=\"d-flex align-baseline\">\n <v-btn\n icon=\"mdi-download\"\n variant=\"text\"\n size=\"small\"\n class=\"mr-2\"\n data-test=\"download-log\"\n @click=\"downloadLog\"\n />\n <span> Log Messages </span>\n <v-btn\n :icon=\"buttonIcon\"\n variant=\"text\"\n data-test=\"pause\"\n @click=\"pause\"\n />\n </div>\n <v-spacer />\n <v-select\n v-model=\"logLevel\"\n label=\"Filter by log level\"\n hide-details\n variant=\"outlined\"\n density=\"compact\"\n :items=\"logLevels\"\n class=\"mr-2\"\n style=\"max-width: 150px\"\n data-test=\"log-messages-level\"\n />\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 style=\"max-width: 300px\"\n class=\"search\"\n data-test=\"search-log-messages\"\n />\n <v-btn\n icon=\"mdi-delete-sweep\"\n variant=\"text\"\n class=\"ml-2\"\n data-test=\"clear-log\"\n @click=\"clearLog\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"shownData\"\n :search=\"search\"\n :items-per-page=\"-1\"\n hide-default-footer\n :sort-by=\"[{ key: 'time', order: 'desc' }]\"\n density=\"compact\"\n fixed-header\n hover\n data-test=\"log-messages\"\n >\n <template #item.timestamp=\"{ item }\">\n <time :title=\"item.timestamp\" :datetime=\"item.timestamp\">\n {{ item.timestamp }}\n </time>\n </template>\n <template #item.level=\"{ item }\">\n <span :style=\"'display: inline-flex; color:' + getColor(item.level)\">\n <rux-status class=\"mr-1\" :status=\"getStatus(item.level)\"></rux-status>\n {{ item.level }}</span\n >\n </template>\n <template #item.message=\"{ item }\">\n <div style=\"white-space: pre-wrap\">{{ item.message }}</div>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport { format } from 'date-fns'\nimport { Cable } from '@openc3/js-common/services'\nimport { AstroStatusColors, UnknownToAstroStatus } from '@/icons'\nimport { TimeFilters } from '@/util'\n\nexport default {\n mixins: [TimeFilters],\n props: {\n historyCount: {\n type: Number,\n default: 200,\n },\n timeZone: {\n type: String,\n default: 'local',\n },\n },\n data() {\n return {\n AstroStatusColors,\n data: [],\n shownData: [],\n logLevels: ['DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL'],\n logLevel: 'INFO',\n search: '',\n headers: [\n { title: 'Time', value: 'timestamp', nowrap: true },\n { title: 'Level', value: 'level' },\n { title: 'Source', value: 'microservice_name' },\n { title: 'Message', value: 'message' },\n ],\n cable: new Cable(),\n subscription: null,\n paused: false,\n }\n },\n computed: {\n buttonIcon: function () {\n if (this.paused) {\n return 'mdi-play'\n } else {\n return 'mdi-pause'\n }\n },\n },\n watch: {\n logLevel: function (newVal, oldVal) {\n this.createSubscription()\n },\n },\n created() {\n this.createSubscription()\n },\n unmounted() {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n methods: {\n pause: function () {\n this.paused = !this.paused\n },\n createSubscription() {\n if (this.subscription) {\n this.subscription.unsubscribe()\n this.data = []\n this.shownData = this.data\n }\n this.cable\n .createSubscription(\n 'MessagesChannel',\n window.openc3Scope,\n {\n received: (messages) => {\n this.cable.recordPing()\n if (messages.length > this.historyCount) {\n messages.splice(0, messages.length - this.historyCount)\n }\n // Filter messages before they're added to the table\n // This prevents a bunch of invisible 'INFO' messages from pushing\n // off the 'WARN' or 'ERROR' messages if we filter inside the data-table\n messages = messages.filter((message) => {\n switch (this.logLevel) {\n case 'DEBUG':\n return true\n case 'INFO':\n if (message.level !== 'DEBUG') {\n return true\n }\n break\n case 'WARN':\n if (message.level !== 'DEBUG' && message.level !== 'INFO') {\n return true\n }\n break\n case 'ERROR':\n if (\n message.level !== 'DEBUG' &&\n message.level !== 'INFO' &&\n message.level !== 'WARN'\n ) {\n return true\n }\n break\n case 'FATAL':\n if (\n message.level !== 'DEBUG' &&\n message.level !== 'INFO' &&\n message.level !== 'WARN' &&\n message.level !== 'ERROR'\n ) {\n return true\n }\n break\n }\n return false\n })\n messages.map((message) => {\n message.timestamp = this.formatTimestamp(\n message['@timestamp'],\n this.timeZone,\n )\n if (\n message.message.raw &&\n message.message.json_class === 'String'\n ) {\n // This is binary data, display in hex.\n let result = '0x'\n for (let i = 0; i < message.message.raw.length; i++) {\n result += message.message.raw[i]\n .toString(16)\n .padStart(2, '0')\n .toUpperCase()\n }\n message.message = result\n } else {\n message.message = message.message.replaceAll('\\\\n', '\\n')\n }\n })\n this.data = messages.reverse().concat(this.data)\n if (this.data.length > this.historyCount) {\n this.data.length = this.historyCount\n }\n if (!this.paused) {\n this.shownData = this.data\n }\n },\n },\n {\n // Channel parameter is history_count with underscore\n history_count: this.historyCount,\n types: ['log', 'notification', 'alert'],\n },\n )\n .then((subscription) => {\n this.subscription = subscription\n })\n },\n getColor(level) {\n return AstroStatusColors[UnknownToAstroStatus[level]]\n },\n getStatus(level) {\n return UnknownToAstroStatus[level]\n },\n downloadLog() {\n const output = this.shownData\n .sort((a, b) => a.time - b.time)\n .map(\n (entry) =>\n // Other fields are available like container_name, msg_id ... probably not useful\n `${entry.timestamp} | ${entry.level} | ${entry.microservice_name} | ${entry.message}`,\n )\n .join('\\n')\n const blob = new Blob([output], {\n type: 'text/plain',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute(\n 'download',\n format(Date.now(), 'yyyy_MM_dd_HH_mm_ss') + '_message_log.txt',\n )\n link.click()\n },\n clearLog: function () {\n this.$dialog\n .confirm('Are you sure you want to clear the log?', {\n okText: 'Clear',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n this.data = []\n this.shownData = []\n })\n .catch(function (err) {\n // Canceling the dialog forces catch and sets err to true\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.v-card {\n /* take up any remaining vertical space\n (e.g. whatever is left after the tabs in cmdtlmserver)\n */\n flex-grow: 1;\n\n /* flex so the table can grow without making the card itself scroll */\n display: flex;\n flex-direction: column;\n}\n.v-data-table {\n height: 25vh; /* give it at least a bit of height to start with */\n flex-grow: 1; /* and then grow to fill all the space it can */\n}\n</style>\n","<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n# See LICENSE.md for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card v-if=\"show\">\n <v-card-title> 404 Not Found </v-card-title>\n <v-card-text class=\"d-flex align-center mt-3\">\n The requested URL\n <code class=\"mx-1\"> {{ $route.fullPath }} </code>\n was not routable.\n <span class=\"text-h3 mx-1\"> 🦄 </span>\n </v-card-text>\n </v-card>\n <div v-if=\"showSpinner\" class=\"d-flex justify-center align-center\">\n <v-progress-circular indeterminate />\n </div>\n</template>\n\n<script>\nimport { getMountedApps } from 'single-spa'\n\nconst POLL_INTERVAL_MS = 50\nconst NOT_FOUND_TIMEOUT_MS = 2000\nconst SINGLE_SPA_APP_CHANGE_EVENT = 'single-spa:app-change'\n\n// This component is actually always loaded for every route other than /login\n// because of the catch-all path in tool-base's router, so we need logic to\n// hide it when a tool is loaded.\nexport default {\n data() {\n return {\n appsMounted: false,\n show: false,\n hideSpinner: false,\n pollInterval: null,\n }\n },\n computed: {\n showSpinner: function () {\n return !this.hideSpinner && !this.show\n },\n },\n created() {\n window.addEventListener(SINGLE_SPA_APP_CHANGE_EVENT, this.handleAppChange)\n },\n mounted() {\n this.pollForMountedApps()\n // This gives some time to allow slow connections to find the apps before flashing the 404\n setTimeout(() => {\n if (!this.appsMounted) {\n this.show = true\n if (this.pollInterval) {\n clearInterval(this.pollInterval)\n }\n }\n }, NOT_FOUND_TIMEOUT_MS)\n },\n unmounted() {\n window.removeEventListener(\n SINGLE_SPA_APP_CHANGE_EVENT,\n this.handleAppChange,\n )\n if (this.pollInterval) {\n clearInterval(this.pollInterval)\n }\n },\n methods: {\n handleAppChange: function (event) {\n this.show = !event.detail.appsByNewStatus.MOUNTED\n this.hideSpinner = true\n },\n pollForMountedApps: function () {\n // Check to see if there are single-spa apps that matched the route.\n // The app-change event doesn't cover this case...\n this.pollInterval = setInterval(() => {\n this.appsMounted = getMountedApps().length > 0\n if (getMountedApps().length > 0) {\n this.hideSpinner = true\n clearInterval(this.pollInterval)\n }\n }, POLL_INTERVAL_MS)\n },\n },\n}\n</script>\n"],"names":["Config","config","name","routed","callback","OpenC3Api","response","error","query","_sfc_main","value","configId","row","item","dialog","_hoisted_1","_createBlock","_component_v_dialog","$options","$event","_createVNode","_component_v_card","_createElementVNode","args","_component_v_toolbar","_component_v_spacer","_cache","_component_v_card_text","_component_v_row","_component_v_text_field","$data","_component_v_data_table","_withCtx","_component_v_btn","_toDisplayString","_component_v_card_actions","val","AceEditorModes","AceEditorUtils","newValue","ace.edit","RubyMode","PythonMode","CmdCompleter","TlmCompleter","event","ext","blob","link","_openBlock","_createElementBlock","_component_v_btn_toggle","$props","_component_v_menu","_component_v_list","_component_v_list_item","TimeFilters","AstroStatusColors","Cable","newVal","oldVal","messages","message","result","i","subscription","level","UnknownToAstroStatus","output","a","b","entry","format","err","_hoisted_3","_component_v_card_title","_component_v_select","_hoisted_2","_normalizeStyle","_component_rux_status","POLL_INTERVAL_MS","NOT_FOUND_TIMEOUT_MS","SINGLE_SPA_APP_CHANGE_EVENT","getMountedApps","_ctx","_component_v_progress_circular"],"mappings":"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"}
|
package/dist/components.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { A as K } from "./OutputDialog-
|
|
2
|
-
import { O as
|
|
3
|
-
import { A as E } from "./TopBar-
|
|
4
|
-
import { T as Ue } from "./TopBar-
|
|
5
|
-
import { C as $, T as P } from "./Openc3Screen-
|
|
6
|
-
import { E as Fe, b as Be, F as Ke, O as $e, S as Pe, a as Ge } from "./Openc3Screen-
|
|
7
|
-
import {
|
|
8
|
-
import { D as ze,
|
|
1
|
+
import { A as K } from "./OutputDialog-BY-TZNRl.js";
|
|
2
|
+
import { O as Ae } from "./OutputDialog-BY-TZNRl.js";
|
|
3
|
+
import { A as E } from "./TopBar-B4RDkLs-.js";
|
|
4
|
+
import { T as Ue } from "./TopBar-B4RDkLs-.js";
|
|
5
|
+
import { C as $, T as P } from "./Openc3Screen-BnM1bNOB.js";
|
|
6
|
+
import { E as Fe, b as Be, F as Ke, O as $e, S as Pe, a as Ge } from "./Openc3Screen-BnM1bNOB.js";
|
|
7
|
+
import { y as x, a as G, b as j } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js";
|
|
8
|
+
import { D as ze, e as He } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-CDTSzdb-.js";
|
|
9
9
|
import { resolveComponent as i, createBlock as I, openBlock as b, withKeys as U, withCtx as l, createVNode as o, createElementVNode as m, withModifiers as S, withDirectives as L, toDisplayString as C, vShow as F, createTextVNode as v, createElementBlock as R, normalizeStyle as B, Fragment as z, createCommentVNode as D } from "vue";
|
|
10
10
|
import { _ as k } from "./CustomIcon-Cg3jCA_l.js";
|
|
11
|
-
import { C as qe, a as Je, E as Xe, S as Ye } from "./ScriptChooser-
|
|
12
|
-
import { C as Qe } from "./CriticalCmdDialog-
|
|
13
|
-
import { D as tt } from "./DetailsDialog-
|
|
14
|
-
import { G as nt, a as it, b as st } from "./Graph-
|
|
11
|
+
import { C as qe, a as Je, E as Xe, S as Ye } from "./ScriptChooser-Bl0wisob.js";
|
|
12
|
+
import { C as Qe } from "./CriticalCmdDialog-C5EZDRSZ.js";
|
|
13
|
+
import { D as tt } from "./DetailsDialog-CspQjoR5.js";
|
|
14
|
+
import { G as nt, a as it, b as st } from "./Graph-BTtGIbYG.js";
|
|
15
15
|
import { UnknownToAstroStatus as N, AstroStatusColors as O } from "./icons.js";
|
|
16
16
|
import { T as H } from "./timeFilters-DTOZtBlG.js";
|
|
17
17
|
import { f as W } from "./format-CJYjW-xx.js";
|
|
18
|
-
import { getMountedApps as
|
|
19
|
-
import { O as at } from "./OpenC3TimePicker-
|
|
20
|
-
import { S as ct } from "./SimpleTextDialog-
|
|
21
|
-
import { T as ut } from "./TargetPacketItemChooser-
|
|
18
|
+
import { getMountedApps as A } from "single-spa";
|
|
19
|
+
import { O as at } from "./OpenC3TimePicker-CkaALgy9.js";
|
|
20
|
+
import { S as ct } from "./SimpleTextDialog-Dd3BoNG-.js";
|
|
21
|
+
import { T as ut } from "./TargetPacketItemChooser-CS2Vvi2U.js";
|
|
22
22
|
import { T as ft } from "./TextBoxDialog-BRwZOtzT.js";
|
|
23
|
-
import { U as pt } from "./UpgradeToEnterpriseDialog-
|
|
23
|
+
import { U as pt } from "./UpgradeToEnterpriseDialog-DTmnp8xy.js";
|
|
24
24
|
const ke = {
|
|
25
25
|
data: {
|
|
26
26
|
configKey: "",
|
|
@@ -312,7 +312,7 @@ const Ie = /* @__PURE__ */ k(q, [["render", Y]]), Z = {
|
|
|
312
312
|
) : null;
|
|
313
313
|
},
|
|
314
314
|
error: function() {
|
|
315
|
-
return this.configName ? null : "Config must have a name";
|
|
315
|
+
return this.configName ? /^[A-Za-z0-9_\-. ]+$/.test(this.configName) ? null : "Config name must only contain letters, numbers, hyphens, underscores, spaces, and periods" : "Config must have a name";
|
|
316
316
|
},
|
|
317
317
|
show: {
|
|
318
318
|
get() {
|
|
@@ -886,7 +886,7 @@ function ce(t, e, a, c, s, n) {
|
|
|
886
886
|
_: 1
|
|
887
887
|
});
|
|
888
888
|
}
|
|
889
|
-
const Re = /* @__PURE__ */ k(se, [["render", ce], ["__scopeId", "data-v-c836b935"]]), de = 50, ue = 2e3,
|
|
889
|
+
const Re = /* @__PURE__ */ k(se, [["render", ce], ["__scopeId", "data-v-c836b935"]]), de = 50, ue = 2e3, T = "single-spa:app-change", me = {
|
|
890
890
|
data() {
|
|
891
891
|
return {
|
|
892
892
|
appsMounted: !1,
|
|
@@ -901,7 +901,7 @@ const Re = /* @__PURE__ */ k(se, [["render", ce], ["__scopeId", "data-v-c836b935
|
|
|
901
901
|
}
|
|
902
902
|
},
|
|
903
903
|
created() {
|
|
904
|
-
window.addEventListener(
|
|
904
|
+
window.addEventListener(T, this.handleAppChange);
|
|
905
905
|
},
|
|
906
906
|
mounted() {
|
|
907
907
|
this.pollForMountedApps(), setTimeout(() => {
|
|
@@ -910,7 +910,7 @@ const Re = /* @__PURE__ */ k(se, [["render", ce], ["__scopeId", "data-v-c836b935
|
|
|
910
910
|
},
|
|
911
911
|
unmounted() {
|
|
912
912
|
window.removeEventListener(
|
|
913
|
-
|
|
913
|
+
T,
|
|
914
914
|
this.handleAppChange
|
|
915
915
|
), this.pollInterval && clearInterval(this.pollInterval);
|
|
916
916
|
},
|
|
@@ -920,7 +920,7 @@ const Re = /* @__PURE__ */ k(se, [["render", ce], ["__scopeId", "data-v-c836b935
|
|
|
920
920
|
},
|
|
921
921
|
pollForMountedApps: function() {
|
|
922
922
|
this.pollInterval = setInterval(() => {
|
|
923
|
-
this.appsMounted =
|
|
923
|
+
this.appsMounted = A().length > 0, A().length > 0 && (this.hideSpinner = !0, clearInterval(this.pollInterval));
|
|
924
924
|
}, de);
|
|
925
925
|
}
|
|
926
926
|
}
|
|
@@ -979,7 +979,7 @@ export {
|
|
|
979
979
|
at as OpenC3TimePicker,
|
|
980
980
|
Ie as OpenConfigDialog,
|
|
981
981
|
$e as Openc3Screen,
|
|
982
|
-
|
|
982
|
+
Ae as OutputDialog,
|
|
983
983
|
Me as SaveConfigDialog,
|
|
984
984
|
Pe as ScreenCompleter,
|
|
985
985
|
Ge as ScreenEditor,
|