@openc3/vue-common 6.10.4 → 6.10.6
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-CIMbQsGW.cjs → ArrayWidget-BLSdjJNz.cjs} +2 -2
- package/dist/{ArrayWidget-CIMbQsGW.cjs.map → ArrayWidget-BLSdjJNz.cjs.map} +1 -1
- package/dist/{ArrayWidget-DfiusKpM.js → ArrayWidget-DuLt8EJf.js} +4 -4
- package/dist/{ArrayWidget-DfiusKpM.js.map → ArrayWidget-DuLt8EJf.js.map} +1 -1
- package/dist/{ArrayplotWidget-DrrqqJEu.cjs → ArrayplotWidget-BMproxMR.cjs} +2 -2
- package/dist/{ArrayplotWidget-DrrqqJEu.cjs.map → ArrayplotWidget-BMproxMR.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-DsvOovu9.js → ArrayplotWidget-Cd-gOSvk.js} +3 -3
- package/dist/{ArrayplotWidget-DsvOovu9.js.map → ArrayplotWidget-Cd-gOSvk.js.map} +1 -1
- package/dist/{BarColumn-CWgcL5w1.cjs → BarColumn-BLzB9nJI.cjs} +2 -2
- package/dist/{BarColumn-CWgcL5w1.cjs.map → BarColumn-BLzB9nJI.cjs.map} +1 -1
- package/dist/{BarColumn-DHHJBR3V.js → BarColumn-Dl9qcKah.js} +3 -3
- package/dist/{BarColumn-DHHJBR3V.js.map → BarColumn-Dl9qcKah.js.map} +1 -1
- package/dist/{BlockWidget-BdYXWS_0.js → BlockWidget-DDV7KBvj.js} +4 -4
- package/dist/{BlockWidget-BdYXWS_0.js.map → BlockWidget-DDV7KBvj.js.map} +1 -1
- package/dist/{BlockWidget-7Ecn_42c.cjs → BlockWidget-tsvy_QdR.cjs} +2 -2
- package/dist/{BlockWidget-7Ecn_42c.cjs.map → BlockWidget-tsvy_QdR.cjs.map} +1 -1
- package/dist/{ButtonWidget-DFxBj0MG.cjs → ButtonWidget-BOucJBe6.cjs} +3 -3
- package/dist/{ButtonWidget-DFxBj0MG.cjs.map → ButtonWidget-BOucJBe6.cjs.map} +1 -1
- package/dist/{ButtonWidget-zpSJmiQT.js → ButtonWidget-DAiwgS-s.js} +6 -6
- package/dist/{ButtonWidget-zpSJmiQT.js.map → ButtonWidget-DAiwgS-s.js.map} +1 -1
- package/dist/{CanvasWidget-DaUB1G9X.js → CanvasWidget-CBiHxOuV.js} +2 -2
- package/dist/{CanvasWidget-DaUB1G9X.js.map → CanvasWidget-CBiHxOuV.js.map} +1 -1
- package/dist/{CanvasWidget-C5-iZ-YT.cjs → CanvasWidget-DiECVC34.cjs} +2 -2
- package/dist/{CanvasWidget-C5-iZ-YT.cjs.map → CanvasWidget-DiECVC34.cjs.map} +1 -1
- package/dist/{CanvasdotWidget-C255aTVc.js → CanvasdotWidget-B_iTeu6J.js} +2 -2
- package/dist/{CanvasdotWidget-C255aTVc.js.map → CanvasdotWidget-B_iTeu6J.js.map} +1 -1
- package/dist/{CanvasdotWidget-CCrgS1yO.cjs → CanvasdotWidget-BhIOCwWs.cjs} +2 -2
- package/dist/{CanvasdotWidget-CCrgS1yO.cjs.map → CanvasdotWidget-BhIOCwWs.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-CFlUUFqr.js → CanvasimageWidget-DPME18WO.js} +3 -3
- package/dist/{CanvasimageWidget-CFlUUFqr.js.map → CanvasimageWidget-DPME18WO.js.map} +1 -1
- package/dist/{CanvasimageWidget-B2Mm0dYq.cjs → CanvasimageWidget-JyaV_zo0.cjs} +2 -2
- package/dist/{CanvasimageWidget-B2Mm0dYq.cjs.map → CanvasimageWidget-JyaV_zo0.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-s4gR3fo5.js → CanvasimagevalueWidget-Cvjd5N_d.js} +3 -3
- package/dist/{CanvasimagevalueWidget-s4gR3fo5.js.map → CanvasimagevalueWidget-Cvjd5N_d.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-B1xVa3FB.cjs → CanvasimagevalueWidget-YppD9bAM.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-B1xVa3FB.cjs.map → CanvasimagevalueWidget-YppD9bAM.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-CAtE3qq_.cjs → CanvaslabelWidget-BurnvwNF.cjs} +2 -2
- package/dist/{CanvaslabelWidget-CAtE3qq_.cjs.map → CanvaslabelWidget-BurnvwNF.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-CaOc-lTQ.js → CanvaslabelWidget-DV9TSYqo.js} +2 -2
- package/dist/{CanvaslabelWidget-CaOc-lTQ.js.map → CanvaslabelWidget-DV9TSYqo.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-CvVMrZsu.cjs → CanvaslabelvalueWidget-CXf4EBIq.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-CvVMrZsu.cjs.map → CanvaslabelvalueWidget-CXf4EBIq.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-hqJoPekq.js → CanvaslabelvalueWidget-CZEuRFgE.js} +2 -2
- package/dist/{CanvaslabelvalueWidget-hqJoPekq.js.map → CanvaslabelvalueWidget-CZEuRFgE.js.map} +1 -1
- package/dist/{CanvaslineWidget-CjPnyDod.cjs → CanvaslineWidget-7y1RriKp.cjs} +2 -2
- package/dist/{CanvaslineWidget-CjPnyDod.cjs.map → CanvaslineWidget-7y1RriKp.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-DebP2L43.js → CanvaslineWidget-DX3NwYIu.js} +2 -2
- package/dist/{CanvaslineWidget-DebP2L43.js.map → CanvaslineWidget-DX3NwYIu.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-Caadjtan.cjs → CanvaslinevalueWidget-W3GVUrRe.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-Caadjtan.cjs.map → CanvaslinevalueWidget-W3GVUrRe.cjs.map} +1 -1
- package/dist/{CanvaslinevalueWidget-BkPG5Vtx.js → CanvaslinevalueWidget-zT2i95O2.js} +2 -2
- package/dist/{CanvaslinevalueWidget-BkPG5Vtx.js.map → CanvaslinevalueWidget-zT2i95O2.js.map} +1 -1
- package/dist/{CheckbuttonWidget-eQIcPATf.js → CheckbuttonWidget-D1Oq1A1Y.js} +2 -2
- package/dist/{CheckbuttonWidget-eQIcPATf.js.map → CheckbuttonWidget-D1Oq1A1Y.js.map} +1 -1
- package/dist/{CheckbuttonWidget-CEOWZkt6.cjs → CheckbuttonWidget-DbjfhJJG.cjs} +2 -2
- package/dist/{CheckbuttonWidget-CEOWZkt6.cjs.map → CheckbuttonWidget-DbjfhJJG.cjs.map} +1 -1
- package/dist/{ClassificationBanners--l3qMxLo.cjs → ClassificationBanners-HkU0WpTb.cjs} +2 -2
- package/dist/{ClassificationBanners--l3qMxLo.cjs.map → ClassificationBanners-HkU0WpTb.cjs.map} +1 -1
- package/dist/{ClassificationBanners-CFLQaZJ2.js → ClassificationBanners-htrLOcBR.js} +2 -2
- package/dist/{ClassificationBanners-CFLQaZJ2.js.map → ClassificationBanners-htrLOcBR.js.map} +1 -1
- package/dist/{ComboboxWidget-BSs59QzI.cjs → ComboboxWidget-C9xkCgtV.cjs} +2 -2
- package/dist/{ComboboxWidget-BSs59QzI.cjs.map → ComboboxWidget-C9xkCgtV.cjs.map} +1 -1
- package/dist/{ComboboxWidget-B5kzYxFk.js → ComboboxWidget-CaOeC7ES.js} +2 -2
- package/dist/{ComboboxWidget-B5kzYxFk.js.map → ComboboxWidget-CaOeC7ES.js.map} +1 -1
- package/dist/{CriticalCmdDialog-BYHZbX2w.js → CriticalCmdDialog-Bpfv2I03.js} +6 -6
- package/dist/{CriticalCmdDialog-BYHZbX2w.js.map → CriticalCmdDialog-Bpfv2I03.js.map} +1 -1
- package/dist/{CriticalCmdDialog-BhjiJIo5.cjs → CriticalCmdDialog-Civ8H5RY.cjs} +2 -2
- package/dist/{CriticalCmdDialog-BhjiJIo5.cjs.map → CriticalCmdDialog-Civ8H5RY.cjs.map} +1 -1
- package/dist/{DateWidget-1IZOe50K.js → DateWidget-DHegSO3F.js} +2 -2
- package/dist/{DateWidget-1IZOe50K.js.map → DateWidget-DHegSO3F.js.map} +1 -1
- package/dist/{DateWidget-DkVxE7Xj.cjs → DateWidget-Dbzn8FSm.cjs} +2 -2
- package/dist/{DateWidget-DkVxE7Xj.cjs.map → DateWidget-Dbzn8FSm.cjs.map} +1 -1
- package/dist/{DetailsDialog-D-rjL4oc.js → DetailsDialog-B9IRpYsU.js} +9 -9
- package/dist/{DetailsDialog-D-rjL4oc.js.map → DetailsDialog-B9IRpYsU.js.map} +1 -1
- package/dist/{DetailsDialog-lJG8eclU.cjs → DetailsDialog-CsJHiTI3.cjs} +2 -2
- package/dist/{DetailsDialog-lJG8eclU.cjs.map → DetailsDialog-CsJHiTI3.cjs.map} +1 -1
- package/dist/{EventListDialog-5UXvnmNE.cjs → EventListDialog-B1jwt-28.cjs} +2 -2
- package/dist/{EventListDialog-5UXvnmNE.cjs.map → EventListDialog-B1jwt-28.cjs.map} +1 -1
- package/dist/{EventListDialog-Id3rEQKY.js → EventListDialog-C3acqjWI.js} +4 -4
- package/dist/{EventListDialog-Id3rEQKY.js.map → EventListDialog-C3acqjWI.js.map} +1 -1
- package/dist/{FilechecksumWidget-D-5GSjyV.cjs → FilechecksumWidget-BC_GBgVt.cjs} +2 -2
- package/dist/{FilechecksumWidget-D-5GSjyV.cjs.map → FilechecksumWidget-BC_GBgVt.cjs.map} +1 -1
- package/dist/{FilechecksumWidget-F_FX1Kjx.js → FilechecksumWidget-BlZ_YlAn.js} +3 -3
- package/dist/{FilechecksumWidget-F_FX1Kjx.js.map → FilechecksumWidget-BlZ_YlAn.js.map} +1 -1
- package/dist/{FiledisplayWidget-BHLOY_cM.cjs → FiledisplayWidget-B9YTU5-X.cjs} +2 -2
- package/dist/{FiledisplayWidget-BHLOY_cM.cjs.map → FiledisplayWidget-B9YTU5-X.cjs.map} +1 -1
- package/dist/{FiledisplayWidget-BF3G22jF.js → FiledisplayWidget-TJ2RL43-.js} +8 -8
- package/dist/{FiledisplayWidget-BF3G22jF.js.map → FiledisplayWidget-TJ2RL43-.js.map} +1 -1
- package/dist/{FormatvalueWidget-BkF9iiHs.js → FormatvalueWidget-0S6n-WEr.js} +13 -11
- package/dist/{FormatvalueWidget-BkF9iiHs.js.map → FormatvalueWidget-0S6n-WEr.js.map} +1 -1
- package/dist/FormatvalueWidget-Cckikrms.cjs +2 -0
- package/dist/{FormatvalueWidget-DTsP7isW.cjs.map → FormatvalueWidget-Cckikrms.cjs.map} +1 -1
- package/dist/{Graph-C-7C2Jq5.js → Graph-CXuxaEKD.js} +10 -6
- package/dist/Graph-CXuxaEKD.js.map +1 -0
- package/dist/Graph-Du90yHUZ.cjs +2 -0
- package/dist/Graph-Du90yHUZ.cjs.map +1 -0
- package/dist/{GraphWidget-DRkDn8za.js → GraphWidget-CGjfTMGG.js} +2 -2
- package/dist/{GraphWidget-DRkDn8za.js.map → GraphWidget-CGjfTMGG.js.map} +1 -1
- package/dist/{GraphWidget-C7hqdqL-.cjs → GraphWidget-DT8M_V6q.cjs} +2 -2
- package/dist/{GraphWidget-C7hqdqL-.cjs.map → GraphWidget-DT8M_V6q.cjs.map} +1 -1
- package/dist/{HorizontalWidget-DB64wzZB.js → HorizontalWidget-Crp4JtGX.js} +2 -2
- package/dist/{HorizontalWidget-DB64wzZB.js.map → HorizontalWidget-Crp4JtGX.js.map} +1 -1
- package/dist/{HorizontalWidget-h-U8i3G-.cjs → HorizontalWidget-nZbc213j.cjs} +2 -2
- package/dist/{HorizontalWidget-h-U8i3G-.cjs.map → HorizontalWidget-nZbc213j.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-E4LUf2eN.cjs → HorizontalboxWidget-DIwL3yc_.cjs} +2 -2
- package/dist/{HorizontalboxWidget-E4LUf2eN.cjs.map → HorizontalboxWidget-DIwL3yc_.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-BsHsGlvK.js → HorizontalboxWidget-DlM7Hoxy.js} +5 -5
- package/dist/{HorizontalboxWidget-BsHsGlvK.js.map → HorizontalboxWidget-DlM7Hoxy.js.map} +1 -1
- package/dist/{HorizontallineWidget-CyiexzIu.js → HorizontallineWidget-HCZU5Dm-.js} +2 -2
- package/dist/{HorizontallineWidget-CyiexzIu.js.map → HorizontallineWidget-HCZU5Dm-.js.map} +1 -1
- package/dist/{HorizontallineWidget-LibmHnAf.cjs → HorizontallineWidget-Q0F2UhZ7.cjs} +2 -2
- package/dist/{HorizontallineWidget-LibmHnAf.cjs.map → HorizontallineWidget-Q0F2UhZ7.cjs.map} +1 -1
- package/dist/IframeWidget-CRf6VJjw.cjs +2 -0
- package/dist/IframeWidget-CRf6VJjw.cjs.map +1 -0
- package/dist/{IframeWidget-D9Vh0w2c.js → IframeWidget-D3Mqvq2p.js} +16 -16
- package/dist/IframeWidget-D3Mqvq2p.js.map +1 -0
- package/dist/{ImageLoader-Cc4-BNJv.cjs → ImageLoader-B2HT3zXB.cjs} +2 -2
- package/dist/{ImageLoader-Cc4-BNJv.cjs.map → ImageLoader-B2HT3zXB.cjs.map} +1 -1
- package/dist/{ImageLoader-B4iBPFyi.js → ImageLoader-BbPJF9nD.js} +2 -2
- package/dist/{ImageLoader-B4iBPFyi.js.map → ImageLoader-BbPJF9nD.js.map} +1 -1
- package/dist/{ImageviewerWidget-DqV4SClv.js → ImageviewerWidget-Bc8A3xX7.js} +2 -2
- package/dist/{ImageviewerWidget-DqV4SClv.js.map → ImageviewerWidget-Bc8A3xX7.js.map} +1 -1
- package/dist/{ImageviewerWidget-KVt487SJ.cjs → ImageviewerWidget-DnRQKTas.cjs} +2 -2
- package/dist/{ImageviewerWidget-KVt487SJ.cjs.map → ImageviewerWidget-DnRQKTas.cjs.map} +1 -1
- package/dist/{InterfacesTab-C310FRIP.js → InterfacesTab-BrLlsu3d.js} +5 -5
- package/dist/{InterfacesTab-C310FRIP.js.map → InterfacesTab-BrLlsu3d.js.map} +1 -1
- package/dist/{InterfacesTab-nZwg-ByS.cjs → InterfacesTab-DE3eUJDd.cjs} +2 -2
- package/dist/{InterfacesTab-nZwg-ByS.cjs.map → InterfacesTab-DE3eUJDd.cjs.map} +1 -1
- package/dist/{LabelWidget-BDukcPet.js → LabelWidget-BV6758n5.js} +2 -2
- package/dist/{LabelWidget-BDukcPet.js.map → LabelWidget-BV6758n5.js.map} +1 -1
- package/dist/{LabelWidget-DYfv4K8h.cjs → LabelWidget-C2iJw-f3.cjs} +2 -2
- package/dist/{LabelWidget-DYfv4K8h.cjs.map → LabelWidget-C2iJw-f3.cjs.map} +1 -1
- package/dist/{LabelledWidget-tVHE426s.js → LabelledWidget-Dk7399HX.js} +4 -4
- package/dist/{LabelledWidget-tVHE426s.js.map → LabelledWidget-Dk7399HX.js.map} +1 -1
- package/dist/{LabelledWidget-Dl1x6b3p.cjs → LabelledWidget-DzVtmRSk.cjs} +2 -2
- package/dist/{LabelledWidget-Dl1x6b3p.cjs.map → LabelledWidget-DzVtmRSk.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-CjMDFUUv.js → LabelprogressbarWidget-B9ZQxLEG.js} +4 -4
- package/dist/{LabelprogressbarWidget-CjMDFUUv.js.map → LabelprogressbarWidget-B9ZQxLEG.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-DcO0gRM4.cjs → LabelprogressbarWidget-Bbj0GqOS.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-DcO0gRM4.cjs.map → LabelprogressbarWidget-Bbj0GqOS.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-dZl3cGu0.js → LabelsparklineWidget-CwFa7EJr.js} +4 -4
- package/dist/{LabelsparklineWidget-dZl3cGu0.js.map → LabelsparklineWidget-CwFa7EJr.js.map} +1 -1
- package/dist/{LabelsparklineWidget-Cp2a-qlI.cjs → LabelsparklineWidget-GIhUx8we.cjs} +2 -2
- package/dist/{LabelsparklineWidget-Cp2a-qlI.cjs.map → LabelsparklineWidget-GIhUx8we.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-CgP4mzP_.cjs → LabelvalueWidget-B-THrkfJ.cjs} +2 -2
- package/dist/{LabelvalueWidget-CgP4mzP_.cjs.map → LabelvalueWidget-B-THrkfJ.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-UcAc_2Ry.js → LabelvalueWidget-DcOqiZea.js} +4 -4
- package/dist/{LabelvalueWidget-UcAc_2Ry.js.map → LabelvalueWidget-DcOqiZea.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-CXJ037Qs.cjs → LabelvaluedescWidget-CeOIs05W.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-CXJ037Qs.cjs.map → LabelvaluedescWidget-CeOIs05W.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-Crb8udVe.js → LabelvaluedescWidget-bzML7aS7.js} +5 -5
- package/dist/{LabelvaluedescWidget-Crb8udVe.js.map → LabelvaluedescWidget-bzML7aS7.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-B3cn7i50.cjs → LabelvaluelimitsbarWidget-DxMmYKHP.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-B3cn7i50.cjs.map → LabelvaluelimitsbarWidget-DxMmYKHP.cjs.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-BZGUQrRt.js → LabelvaluelimitsbarWidget-GCgFxc-I.js} +4 -4
- package/dist/{LabelvaluelimitsbarWidget-BZGUQrRt.js.map → LabelvaluelimitsbarWidget-GCgFxc-I.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs → LabelvaluelimitscolumnWidget-BTphsvo2.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs.map → LabelvaluelimitscolumnWidget-BTphsvo2.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-NNYW2aMO.js → LabelvaluelimitscolumnWidget-DuRuNm4g.js} +5 -5
- package/dist/{LabelvaluelimitscolumnWidget-NNYW2aMO.js.map → LabelvaluelimitscolumnWidget-DuRuNm4g.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-CjkVDlVJ.js → LabelvaluerangebarWidget-C32gfNLA.js} +4 -4
- package/dist/{LabelvaluerangebarWidget-CjkVDlVJ.js.map → LabelvaluerangebarWidget-C32gfNLA.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-B81fLpK0.cjs → LabelvaluerangebarWidget-D66_K_nl.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-B81fLpK0.cjs.map → LabelvaluerangebarWidget-D66_K_nl.cjs.map} +1 -1
- package/dist/{Layout-FpBx3iic.js → Layout-CYQt4P78.js} +2 -2
- package/dist/{Layout-FpBx3iic.js.map → Layout-CYQt4P78.js.map} +1 -1
- package/dist/{Layout-K7_I6jMV.cjs → Layout-D_xqJarz.cjs} +2 -2
- package/dist/{Layout-K7_I6jMV.cjs.map → Layout-D_xqJarz.cjs.map} +1 -1
- package/dist/{LedWidget-C19KREVz.cjs → LedWidget-DQDy7HkU.cjs} +2 -2
- package/dist/{LedWidget-C19KREVz.cjs.map → LedWidget-DQDy7HkU.cjs.map} +1 -1
- package/dist/{LedWidget-Bsp1aja-.js → LedWidget-DcN4UWc9.js} +4 -4
- package/dist/{LedWidget-Bsp1aja-.js.map → LedWidget-DcN4UWc9.js.map} +1 -1
- package/dist/{LimitsBar-LRiUSWd7.cjs → LimitsBar-B1P8gnfK.cjs} +2 -2
- package/dist/{LimitsBar-LRiUSWd7.cjs.map → LimitsBar-B1P8gnfK.cjs.map} +1 -1
- package/dist/{LimitsBar-IVv8t4FE.js → LimitsBar-CewifD-8.js} +2 -2
- package/dist/{LimitsBar-IVv8t4FE.js.map → LimitsBar-CewifD-8.js.map} +1 -1
- package/dist/{LimitsbarWidget-BFjMhTbA.cjs → LimitsbarWidget-DXTfZFKF.cjs} +2 -2
- package/dist/{LimitsbarWidget-BFjMhTbA.cjs.map → LimitsbarWidget-DXTfZFKF.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-Bo1JAoQp.js → LimitsbarWidget-Dy-IqgZj.js} +3 -3
- package/dist/{LimitsbarWidget-Bo1JAoQp.js.map → LimitsbarWidget-Dy-IqgZj.js.map} +1 -1
- package/dist/{LimitscolorWidget-Doq8h_g1.js → LimitscolorWidget-2eLprLL7.js} +2 -2
- package/dist/{LimitscolorWidget-Doq8h_g1.js.map → LimitscolorWidget-2eLprLL7.js.map} +1 -1
- package/dist/{LimitscolorWidget-D214kS86.cjs → LimitscolorWidget-C0f7Qud4.cjs} +2 -2
- package/dist/{LimitscolorWidget-D214kS86.cjs.map → LimitscolorWidget-C0f7Qud4.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-qasXHN7m.js → LimitscolumnWidget-DlPcKW-r.js} +2 -2
- package/dist/{LimitscolumnWidget-qasXHN7m.js.map → LimitscolumnWidget-DlPcKW-r.js.map} +1 -1
- package/dist/{LimitscolumnWidget-BREF_CBr.cjs → LimitscolumnWidget-DxaM5RDH.cjs} +2 -2
- package/dist/{LimitscolumnWidget-BREF_CBr.cjs.map → LimitscolumnWidget-DxaM5RDH.cjs.map} +1 -1
- package/dist/{LinegraphWidget-BhpYKxnT.cjs → LinegraphWidget-8TvRUoqu.cjs} +2 -2
- package/dist/{LinegraphWidget-BhpYKxnT.cjs.map → LinegraphWidget-8TvRUoqu.cjs.map} +1 -1
- package/dist/{LinegraphWidget-BNMqcr_r.js → LinegraphWidget-BFXYdx0Q.js} +4 -4
- package/dist/{LinegraphWidget-BNMqcr_r.js.map → LinegraphWidget-BFXYdx0Q.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-BlF1CyIT.js → MatrixbycolumnsWidget-BvbEs_NU.js} +3 -3
- package/dist/{MatrixbycolumnsWidget-BlF1CyIT.js.map → MatrixbycolumnsWidget-BvbEs_NU.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-BKXkhATe.cjs → MatrixbycolumnsWidget-k0GfBzu8.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-BKXkhATe.cjs.map → MatrixbycolumnsWidget-k0GfBzu8.cjs.map} +1 -1
- package/dist/{MicroservicesTab-BWFwBSuf.cjs → MicroservicesTab-B8gVZ9wr.cjs} +2 -2
- package/dist/{MicroservicesTab-BWFwBSuf.cjs.map → MicroservicesTab-B8gVZ9wr.cjs.map} +1 -1
- package/dist/{MicroservicesTab-xpDXKoa-.js → MicroservicesTab-C8XPgBnj.js} +3 -3
- package/dist/{MicroservicesTab-xpDXKoa-.js.map → MicroservicesTab-C8XPgBnj.js.map} +1 -1
- package/dist/{OpenC3TimePicker-D-_qqySI.js → OpenC3TimePicker-CFSMcJ1F.js} +60 -46
- package/dist/OpenC3TimePicker-CFSMcJ1F.js.map +1 -0
- package/dist/OpenC3TimePicker-DM8EnTy5.cjs +2 -0
- package/dist/OpenC3TimePicker-DM8EnTy5.cjs.map +1 -0
- package/dist/{Openc3Screen-DYJHNotN.js → Openc3Screen-DG98sMaI.js} +40 -39
- package/dist/Openc3Screen-DG98sMaI.js.map +1 -0
- package/dist/{Openc3Screen-Pu1ktpS8.cjs → Openc3Screen-MVNRGjbs.cjs} +5 -5
- package/dist/Openc3Screen-MVNRGjbs.cjs.map +1 -0
- package/dist/{OutputDialog-x4QZFAWe.js → OutputDialog-8nKOJUMU.js} +9 -9
- package/dist/{OutputDialog-x4QZFAWe.js.map → OutputDialog-8nKOJUMU.js.map} +1 -1
- package/dist/{OutputDialog-BwEWPQW9.cjs → OutputDialog-BHDdBPLX.cjs} +2 -2
- package/dist/{OutputDialog-BwEWPQW9.cjs.map → OutputDialog-BHDdBPLX.cjs.map} +1 -1
- package/dist/{PackagesTab-rzc4hqOb.js → PackagesTab-CAa7ZnYV.js} +14 -14
- package/dist/{PackagesTab-rzc4hqOb.js.map → PackagesTab-CAa7ZnYV.js.map} +1 -1
- package/dist/{PackagesTab-CHwfaqdP.cjs → PackagesTab-CvJayoC1.cjs} +2 -2
- package/dist/{PackagesTab-CHwfaqdP.cjs.map → PackagesTab-CvJayoC1.cjs.map} +1 -1
- package/dist/{PluginsTab-C7gLbRQn.cjs → PluginsTab-CDopyCAG.cjs} +4 -4
- package/dist/{PluginsTab-C7gLbRQn.cjs.map → PluginsTab-CDopyCAG.cjs.map} +1 -1
- package/dist/{PluginsTab-Dff_0j26.js → PluginsTab-Dqe3QG7v.js} +4 -4
- package/dist/{PluginsTab-Dff_0j26.js.map → PluginsTab-Dqe3QG7v.js.map} +1 -1
- package/dist/{ProgressbarWidget-cQAtX_Q7.cjs → ProgressbarWidget-CAtBs6-s.cjs} +2 -2
- package/dist/{ProgressbarWidget-cQAtX_Q7.cjs.map → ProgressbarWidget-CAtBs6-s.cjs.map} +1 -1
- package/dist/{ProgressbarWidget-DQ80NANH.js → ProgressbarWidget-CYQzHmXv.js} +2 -2
- package/dist/{ProgressbarWidget-DQ80NANH.js.map → ProgressbarWidget-CYQzHmXv.js.map} +1 -1
- package/dist/{RadiobuttonWidget-LD18M4IQ.js → RadiobuttonWidget-JJC2cnc7.js} +2 -2
- package/dist/{RadiobuttonWidget-LD18M4IQ.js.map → RadiobuttonWidget-JJC2cnc7.js.map} +1 -1
- package/dist/{RadiobuttonWidget-DFrUZRaV.cjs → RadiobuttonWidget-OsLLONa3.cjs} +2 -2
- package/dist/{RadiobuttonWidget-DFrUZRaV.cjs.map → RadiobuttonWidget-OsLLONa3.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-D_pt2MPz.js → RadiogroupWidget-B-b7D4f4.js} +2 -2
- package/dist/{RadiogroupWidget-D_pt2MPz.js.map → RadiogroupWidget-B-b7D4f4.js.map} +1 -1
- package/dist/{RadiogroupWidget-ljP05k3g.cjs → RadiogroupWidget-C1gQYVgm.cjs} +2 -2
- package/dist/{RadiogroupWidget-ljP05k3g.cjs.map → RadiogroupWidget-C1gQYVgm.cjs.map} +1 -1
- package/dist/{RangebarWidget-BsLWXvTo.cjs → RangebarWidget-BfF7PvI6.cjs} +2 -2
- package/dist/{RangebarWidget-BsLWXvTo.cjs.map → RangebarWidget-BfF7PvI6.cjs.map} +1 -1
- package/dist/{RangebarWidget-DhaWpHjB.js → RangebarWidget-nD6qbLmB.js} +2 -2
- package/dist/{RangebarWidget-DhaWpHjB.js.map → RangebarWidget-nD6qbLmB.js.map} +1 -1
- package/dist/{RedisTab-DEKMLop2.cjs → RedisTab-BdXEE0MY.cjs} +2 -2
- package/dist/{RedisTab-DEKMLop2.cjs.map → RedisTab-BdXEE0MY.cjs.map} +1 -1
- package/dist/{RedisTab-C3yjh0JX.js → RedisTab-DCV2ZWhh.js} +5 -5
- package/dist/{RedisTab-C3yjh0JX.js.map → RedisTab-DCV2ZWhh.js.map} +1 -1
- package/dist/{RollupWidget-sXTyo7zH.cjs → RollupWidget-AdgwMuAF.cjs} +2 -2
- package/dist/{RollupWidget-sXTyo7zH.cjs.map → RollupWidget-AdgwMuAF.cjs.map} +1 -1
- package/dist/{RollupWidget-CMU1-HwL.js → RollupWidget-D80cEXSI.js} +2 -2
- package/dist/{RollupWidget-CMU1-HwL.js.map → RollupWidget-D80cEXSI.js.map} +1 -1
- package/dist/{RoutersTab-DaWde6np.js → RoutersTab-4hmbIlHw.js} +3 -3
- package/dist/{RoutersTab-DaWde6np.js.map → RoutersTab-4hmbIlHw.js.map} +1 -1
- package/dist/{RoutersTab-IKuEHQeO.cjs → RoutersTab-B7MPNa6g.cjs} +2 -2
- package/dist/{RoutersTab-IKuEHQeO.cjs.map → RoutersTab-B7MPNa6g.cjs.map} +1 -1
- package/dist/ScriptChooser-CcU08Gfu.cjs +2 -0
- package/dist/ScriptChooser-CcU08Gfu.cjs.map +1 -0
- package/dist/{ScriptChooser-DCjI5aeZ.js → ScriptChooser-DeAgLzpG.js} +13 -13
- package/dist/ScriptChooser-DeAgLzpG.js.map +1 -0
- package/dist/{ScrollwindowWidget-BcLF_bhy.cjs → ScrollwindowWidget-CWxbtwVI.cjs} +2 -2
- package/dist/{ScrollwindowWidget-BcLF_bhy.cjs.map → ScrollwindowWidget-CWxbtwVI.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-D7Ln-QMq.js → ScrollwindowWidget-Cun3Vh6z.js} +2 -2
- package/dist/{ScrollwindowWidget-D7Ln-QMq.js.map → ScrollwindowWidget-Cun3Vh6z.js.map} +1 -1
- package/dist/{SecretsTab-Dhal1RCq.js → SecretsTab-BjkkkzJa.js} +4 -4
- package/dist/{SecretsTab-Dhal1RCq.js.map → SecretsTab-BjkkkzJa.js.map} +1 -1
- package/dist/{SecretsTab-BM9HIjT_.cjs → SecretsTab-ms4xbsap.cjs} +2 -2
- package/dist/{SecretsTab-BM9HIjT_.cjs.map → SecretsTab-ms4xbsap.cjs.map} +1 -1
- package/dist/{SettingsTab-Dtj_AlEW.js → SettingsTab-3wbEzcjJ.js} +482 -428
- package/dist/SettingsTab-3wbEzcjJ.js.map +1 -0
- package/dist/SettingsTab-to-vPAkD.cjs +6 -0
- package/dist/SettingsTab-to-vPAkD.cjs.map +1 -0
- package/dist/{SignalWidget-PreTg4Mt.js → SignalWidget-CYsoFQEA.js} +2 -2
- package/dist/{SignalWidget-PreTg4Mt.js.map → SignalWidget-CYsoFQEA.js.map} +1 -1
- package/dist/{SignalWidget-DHwveppA.cjs → SignalWidget-lanCUNlJ.cjs} +2 -2
- package/dist/{SignalWidget-DHwveppA.cjs.map → SignalWidget-lanCUNlJ.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-DDIm5Znf.js → SimpleTextDialog-BcQPD1Ea.js} +2 -2
- package/dist/{SimpleTextDialog-DDIm5Znf.js.map → SimpleTextDialog-BcQPD1Ea.js.map} +1 -1
- package/dist/{SimpleTextDialog-Bdw3jul4.cjs → SimpleTextDialog-nBmlZMaP.cjs} +2 -2
- package/dist/{SimpleTextDialog-Bdw3jul4.cjs.map → SimpleTextDialog-nBmlZMaP.cjs.map} +1 -1
- package/dist/{SpacerWidget-Chy1NO28.js → SpacerWidget-CrheUKPo.js} +2 -2
- package/dist/{SpacerWidget-Chy1NO28.js.map → SpacerWidget-CrheUKPo.js.map} +1 -1
- package/dist/{SpacerWidget-Cj-j_MsG.cjs → SpacerWidget-CzPwKWA8.cjs} +2 -2
- package/dist/{SpacerWidget-Cj-j_MsG.cjs.map → SpacerWidget-CzPwKWA8.cjs.map} +1 -1
- package/dist/{SparklineWidget-Bb-gCNNt.js → SparklineWidget-BxBx5KIx.js} +4 -4
- package/dist/{SparklineWidget-Bb-gCNNt.js.map → SparklineWidget-BxBx5KIx.js.map} +1 -1
- package/dist/{SparklineWidget-BE1LieLF.cjs → SparklineWidget-DRixjXXr.cjs} +2 -2
- package/dist/{SparklineWidget-BE1LieLF.cjs.map → SparklineWidget-DRixjXXr.cjs.map} +1 -1
- package/dist/{TabbookWidget-a-LsBhBE.js → TabbookWidget-Bznl4HVt.js} +2 -2
- package/dist/{TabbookWidget-a-LsBhBE.js.map → TabbookWidget-Bznl4HVt.js.map} +1 -1
- package/dist/{TabbookWidget-FNbiZpjn.cjs → TabbookWidget-DgNTKIjr.cjs} +2 -2
- package/dist/{TabbookWidget-FNbiZpjn.cjs.map → TabbookWidget-DgNTKIjr.cjs.map} +1 -1
- package/dist/{TargetPacketItemChooser-BPRByyfB.cjs → TargetPacketItemChooser-CW91CLJq.cjs} +2 -2
- package/dist/{TargetPacketItemChooser-BPRByyfB.cjs.map → TargetPacketItemChooser-CW91CLJq.cjs.map} +1 -1
- package/dist/{TargetPacketItemChooser-DDqBQTWC.js → TargetPacketItemChooser-UsuVtlF-.js} +2 -2
- package/dist/{TargetPacketItemChooser-DDqBQTWC.js.map → TargetPacketItemChooser-UsuVtlF-.js.map} +1 -1
- package/dist/{TargetsTab-dndajwC_.cjs → TargetsTab-BwzGasJJ.cjs} +2 -2
- package/dist/{TargetsTab-dndajwC_.cjs.map → TargetsTab-BwzGasJJ.cjs.map} +1 -1
- package/dist/{TargetsTab-C7Pn5-19.js → TargetsTab-D2BGCJ0P.js} +12 -12
- package/dist/{TargetsTab-C7Pn5-19.js.map → TargetsTab-D2BGCJ0P.js.map} +1 -1
- package/dist/{TextboxWidget-DYTNipbi.cjs → TextboxWidget-B_oY4yDR.cjs} +2 -2
- package/dist/{TextboxWidget-DYTNipbi.cjs.map → TextboxWidget-B_oY4yDR.cjs.map} +1 -1
- package/dist/{TextboxWidget-DIHEOldN.js → TextboxWidget-CCjkSFMU.js} +4 -4
- package/dist/{TextboxWidget-DIHEOldN.js.map → TextboxWidget-CCjkSFMU.js.map} +1 -1
- package/dist/{TextfieldWidget-BE-HpIKs.cjs → TextfieldWidget-Ct5E638-.cjs} +2 -2
- package/dist/{TextfieldWidget-BE-HpIKs.cjs.map → TextfieldWidget-Ct5E638-.cjs.map} +1 -1
- package/dist/{TextfieldWidget-CIBo7Dau.js → TextfieldWidget-D6vtrFO9.js} +2 -2
- package/dist/{TextfieldWidget-CIBo7Dau.js.map → TextfieldWidget-D6vtrFO9.js.map} +1 -1
- package/dist/{TimeWidget-CLuOYfPP.js → TimeWidget-Bq_m9VEj.js} +3 -3
- package/dist/{TimeWidget-CLuOYfPP.js.map → TimeWidget-Bq_m9VEj.js.map} +1 -1
- package/dist/{TimeWidget-RYL7zDoC.cjs → TimeWidget-ByQV-v0H.cjs} +2 -2
- package/dist/{TimeWidget-RYL7zDoC.cjs.map → TimeWidget-ByQV-v0H.cjs.map} +1 -1
- package/dist/{TitleWidget-BTHKLAsb.js → TitleWidget-CGKBIIjU.js} +2 -2
- package/dist/{TitleWidget-BTHKLAsb.js.map → TitleWidget-CGKBIIjU.js.map} +1 -1
- package/dist/{TitleWidget-DVWOhZqJ.cjs → TitleWidget-CfkxN1VW.cjs} +2 -2
- package/dist/{TitleWidget-DVWOhZqJ.cjs.map → TitleWidget-CfkxN1VW.cjs.map} +1 -1
- package/dist/{ToolsTab-D5yhjVM0.js → ToolsTab-B9oDk5JF.js} +248 -232
- package/dist/ToolsTab-B9oDk5JF.js.map +1 -0
- package/dist/ToolsTab-DUDJjlYF.cjs +7 -0
- package/dist/ToolsTab-DUDJjlYF.cjs.map +1 -0
- package/dist/{TopBar-DUdrFsMv.cjs → TopBar-BjOuytzL.cjs} +2 -2
- package/dist/{TopBar-DUdrFsMv.cjs.map → TopBar-BjOuytzL.cjs.map} +1 -1
- package/dist/{TopBar-DzxJ69Tt.js → TopBar-Cp-eD08M.js} +2 -2
- package/dist/{TopBar-DzxJ69Tt.js.map → TopBar-Cp-eD08M.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-CujyHt2o.cjs → UpgradeToEnterpriseDialog-qZRe19Fu.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-CujyHt2o.cjs.map → UpgradeToEnterpriseDialog-qZRe19Fu.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-Bf6rEOgp.js → UpgradeToEnterpriseDialog-vJ0OQVxn.js} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-Bf6rEOgp.js.map → UpgradeToEnterpriseDialog-vJ0OQVxn.js.map} +1 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-DMwcaglo.cjs +1501 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-DMwcaglo.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js} +10809 -10628
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js.map +1 -0
- package/dist/{VWidget-BcwkHuIT.js → VWidget-DaN-EoJP.js} +44 -11
- package/dist/VWidget-DaN-EoJP.js.map +1 -0
- package/dist/VWidget-ZNfIJ3jY.cjs +2 -0
- package/dist/VWidget-ZNfIJ3jY.cjs.map +1 -0
- package/dist/{ValueWidget-CgAl2Av2.cjs → ValueWidget-13BmCi-I.cjs} +2 -2
- package/dist/{ValueWidget-CgAl2Av2.cjs.map → ValueWidget-13BmCi-I.cjs.map} +1 -1
- package/dist/{ValueWidget-BubIamVx.js → ValueWidget-Dj4GYuSK.js} +4 -4
- package/dist/{ValueWidget-BubIamVx.js.map → ValueWidget-Dj4GYuSK.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-DKTrV1RT.js → ValuelimitsbarWidget-B-IXXtXy.js} +4 -4
- package/dist/{ValuelimitsbarWidget-DKTrV1RT.js.map → ValuelimitsbarWidget-B-IXXtXy.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-Dn_sS0zt.cjs → ValuelimitsbarWidget-DF5QvEDx.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-Dn_sS0zt.cjs.map → ValuelimitsbarWidget-DF5QvEDx.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-D8JIK4Zi.js → ValuelimitscolumnWidget-B3Xjqz_f.js} +4 -4
- package/dist/{ValuelimitscolumnWidget-D8JIK4Zi.js.map → ValuelimitscolumnWidget-B3Xjqz_f.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-CGhifOZI.cjs → ValuelimitscolumnWidget-LXAi2ndd.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-CGhifOZI.cjs.map → ValuelimitscolumnWidget-LXAi2ndd.cjs.map} +1 -1
- package/dist/{ValuerangebarWidget-D8hVKp0l.js → ValuerangebarWidget-Ct_CvpUg.js} +4 -4
- package/dist/{ValuerangebarWidget-D8hVKp0l.js.map → ValuerangebarWidget-Ct_CvpUg.js.map} +1 -1
- package/dist/{ValuerangebarWidget-DPtR-Dla.cjs → ValuerangebarWidget-DSmTRfls.cjs} +2 -2
- package/dist/{ValuerangebarWidget-DPtR-Dla.cjs.map → ValuerangebarWidget-DSmTRfls.cjs.map} +1 -1
- package/dist/{VerticalWidget-DMp3DXGa.js → VerticalWidget-BlEtS5Bs.js} +2 -2
- package/dist/{VerticalWidget-DMp3DXGa.js.map → VerticalWidget-BlEtS5Bs.js.map} +1 -1
- package/dist/{VerticalWidget-DScGTfwX.cjs → VerticalWidget-D4xAiojs.cjs} +2 -2
- package/dist/{VerticalWidget-DScGTfwX.cjs.map → VerticalWidget-D4xAiojs.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-CIJ1c7WU.cjs → VerticalboxWidget-CDeA9ux8.cjs} +2 -2
- package/dist/{VerticalboxWidget-CIJ1c7WU.cjs.map → VerticalboxWidget-CDeA9ux8.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-CVf1d_3_.js → VerticalboxWidget-rr_GslBl.js} +5 -5
- package/dist/{VerticalboxWidget-CVf1d_3_.js.map → VerticalboxWidget-rr_GslBl.js.map} +1 -1
- package/dist/{Widget-Btu2EoLT.cjs → Widget-BKmR1shJ.cjs} +2 -2
- package/dist/{Widget-Btu2EoLT.cjs.map → Widget-BKmR1shJ.cjs.map} +1 -1
- package/dist/{Widget-D4rzBHnr.js → Widget-DsHcvxJg.js} +2 -2
- package/dist/{Widget-D4rzBHnr.js.map → Widget-DsHcvxJg.js.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-D-zO4ghE.cjs +10 -0
- package/dist/index-D-zO4ghE.cjs.map +1 -0
- package/dist/{index-3k1IXN1T.js → index-DCtILi4r.js} +765 -622
- package/dist/index-DCtILi4r.js.map +1 -0
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +1 -1
- package/dist/plugins.js.map +1 -1
- package/dist/purify.es-B9BW70-4.cjs +3 -0
- package/dist/purify.es-B9BW70-4.cjs.map +1 -0
- package/dist/{purify.es-BGaRrCfO.js → purify.es-BIuh5IAZ.js} +116 -116
- package/dist/purify.es-BIuh5IAZ.js.map +1 -0
- package/dist/{settings-B9vbjzwV.cjs → settings-DgeeD3A4.cjs} +2 -2
- package/dist/{settings-B9vbjzwV.cjs.map → settings-DgeeD3A4.cjs.map} +1 -1
- package/dist/{settings-Ctcx_wMT.js → settings-RN52DDBd.js} +2 -2
- package/dist/{settings-Ctcx_wMT.js.map → settings-RN52DDBd.js.map} +1 -1
- package/dist/tools/admin.cjs +1 -1
- package/dist/tools/admin.js +13 -13
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.js +5 -5
- 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 +538 -515
- 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 +64 -64
- package/package.json +12 -12
- package/dist/FormatvalueWidget-DTsP7isW.cjs +0 -2
- package/dist/Graph-C-7C2Jq5.js.map +0 -1
- package/dist/Graph-YYieRGo0.cjs +0 -2
- package/dist/Graph-YYieRGo0.cjs.map +0 -1
- package/dist/IframeWidget-D9Vh0w2c.js.map +0 -1
- package/dist/IframeWidget-xeXTxP_G.cjs +0 -2
- package/dist/IframeWidget-xeXTxP_G.cjs.map +0 -1
- package/dist/OpenC3TimePicker-6pE8gGCO.cjs +0 -2
- package/dist/OpenC3TimePicker-6pE8gGCO.cjs.map +0 -1
- package/dist/OpenC3TimePicker-D-_qqySI.js.map +0 -1
- package/dist/Openc3Screen-DYJHNotN.js.map +0 -1
- package/dist/Openc3Screen-Pu1ktpS8.cjs.map +0 -1
- package/dist/ScriptChooser-BmyV6QQD.cjs +0 -2
- package/dist/ScriptChooser-BmyV6QQD.cjs.map +0 -1
- package/dist/ScriptChooser-DCjI5aeZ.js.map +0 -1
- package/dist/SettingsTab-BrSkK_Fs.cjs +0 -3
- package/dist/SettingsTab-BrSkK_Fs.cjs.map +0 -1
- package/dist/SettingsTab-Dtj_AlEW.js.map +0 -1
- package/dist/ToolsTab-D4LFT4tV.cjs +0 -7
- package/dist/ToolsTab-D4LFT4tV.cjs.map +0 -1
- package/dist/ToolsTab-D5yhjVM0.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs +0 -1498
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js.map +0 -1
- package/dist/VWidget-BcwkHuIT.js.map +0 -1
- package/dist/VWidget-CbdjSkP3.cjs +0 -2
- package/dist/VWidget-CbdjSkP3.cjs.map +0 -1
- package/dist/index-3k1IXN1T.js.map +0 -1
- package/dist/index-DlWUR7vt.cjs +0 -7
- package/dist/index-DlWUR7vt.cjs.map +0 -1
- package/dist/purify.es-B608WQkR.cjs +0 -3
- package/dist/purify.es-B608WQkR.cjs.map +0 -1
- package/dist/purify.es-BGaRrCfO.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinegraphWidget-
|
|
1
|
+
{"version":3,"file":"LinegraphWidget-8TvRUoqu.cjs","sources":["../src/widgets/LinegraphWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <graph\n :id=\"id\"\n :ref=\"'graph' + id\"\n :state=\"state\"\n :selected-graph-id=\"id\"\n :start-time=\"startTime\"\n :seconds-graphed=\"secondsGraphed\"\n :points-saved=\"pointsSaved\"\n :points-graphed=\"pointsGraphed\"\n :initial-items=\"items\"\n :height=\"size.height\"\n :width=\"size.width\"\n :style=\"computedStyle\"\n :time-zone=\"screenTimeZone\"\n hide-toolbar\n hide-overview\n @pause=\"() => (state = 'pause')\"\n @start=\"() => (state = 'start')\"\n />\n</template>\n\n<script>\nimport GraphWidget from './GraphWidget'\nimport { Graph } from '@/components'\n\nexport default {\n components: {\n Graph,\n },\n mixins: [GraphWidget],\n}\n</script>\n"],"names":["_sfc_main","Graph","GraphWidget","_createBlock","_component_graph","_ctx"],"mappings":"wVAgDA,MAAKA,EAAU,CACb,WAAY,OACVC,EAAAA,OAEF,OAAQ,CAACC,EAAAA,WAAW,CACtB,mFA9BEC,EAAAA,YAkBEC,EAAA,CAjBC,GAAIC,EAAA,GACJ,YAAeA,EAAA,GACf,MAAOA,EAAA,MACP,oBAAmBA,EAAA,GACnB,aAAYA,EAAA,UACZ,kBAAiBA,EAAA,eACjB,eAAcA,EAAA,YACd,iBAAgBA,EAAA,cAChB,gBAAeA,EAAA,MACf,OAAQA,EAAA,KAAK,OACb,MAAOA,EAAA,KAAK,MACZ,uBAAOA,EAAA,aAAa,EACpB,YAAWA,EAAA,eACZ,eAAA,GACA,gBAAA,GACC,wBAAcA,EAAA,MAAK,SACnB,wBAAcA,EAAA,MAAK"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { G as s } from "./GraphWidget-
|
|
2
|
-
import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-
|
|
1
|
+
import { G as s } from "./GraphWidget-CGjfTMGG.js";
|
|
2
|
+
import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js";
|
|
3
3
|
import { resolveComponent as o, createBlock as r, openBlock as a, normalizeStyle as n } from "vue";
|
|
4
4
|
import { _ as p } from "./CustomIcon-B9m73Gqm.js";
|
|
5
|
-
import { G as d } from "./Graph-
|
|
5
|
+
import { G as d } from "./Graph-CXuxaEKD.js";
|
|
6
6
|
import "single-spa";
|
|
7
7
|
const m = {
|
|
8
8
|
components: {
|
|
@@ -36,4 +36,4 @@ const $ = /* @__PURE__ */ p(m, [["render", h]]);
|
|
|
36
36
|
export {
|
|
37
37
|
$ as default
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=LinegraphWidget-
|
|
39
|
+
//# sourceMappingURL=LinegraphWidget-BFXYdx0Q.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinegraphWidget-
|
|
1
|
+
{"version":3,"file":"LinegraphWidget-BFXYdx0Q.js","sources":["../src/widgets/LinegraphWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <graph\n :id=\"id\"\n :ref=\"'graph' + id\"\n :state=\"state\"\n :selected-graph-id=\"id\"\n :start-time=\"startTime\"\n :seconds-graphed=\"secondsGraphed\"\n :points-saved=\"pointsSaved\"\n :points-graphed=\"pointsGraphed\"\n :initial-items=\"items\"\n :height=\"size.height\"\n :width=\"size.width\"\n :style=\"computedStyle\"\n :time-zone=\"screenTimeZone\"\n hide-toolbar\n hide-overview\n @pause=\"() => (state = 'pause')\"\n @start=\"() => (state = 'start')\"\n />\n</template>\n\n<script>\nimport GraphWidget from './GraphWidget'\nimport { Graph } from '@/components'\n\nexport default {\n components: {\n Graph,\n },\n mixins: [GraphWidget],\n}\n</script>\n"],"names":["_sfc_main","Graph","GraphWidget","_createBlock","_component_graph","_ctx"],"mappings":";;;;;;AAgDA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,OAAAC;AAAA;EAEF,QAAQ,CAACC,CAAW;AACtB;;;cA9BEC,EAkBEC,GAAA;AAAA,IAjBC,IAAIC,EAAA;AAAA,IACJ,eAAeA,EAAA;AAAA,IACf,OAAOA,EAAA;AAAA,IACP,qBAAmBA,EAAA;AAAA,IACnB,cAAYA,EAAA;AAAA,IACZ,mBAAiBA,EAAA;AAAA,IACjB,gBAAcA,EAAA;AAAA,IACd,kBAAgBA,EAAA;AAAA,IAChB,iBAAeA,EAAA;AAAA,IACf,QAAQA,EAAA,KAAK;AAAA,IACb,OAAOA,EAAA,KAAK;AAAA,IACZ,SAAOA,EAAA,aAAa;AAAA,IACpB,aAAWA,EAAA;AAAA,IACZ,gBAAA;AAAA,IACA,iBAAA;AAAA,IACC,+BAAcA,EAAA,QAAK;AAAA,IACnB,+BAAcA,EAAA,QAAK;AAAA;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as k } from "./Layout-
|
|
2
|
-
import { _ as b } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-
|
|
1
|
+
import { L as k } from "./Layout-CYQt4P78.js";
|
|
2
|
+
import { _ as b } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js";
|
|
3
3
|
import { resolveComponent as T, createElementBlock as n, openBlock as r, normalizeStyle as C, Fragment as l, renderList as i, createBlock as a, withCtx as m, createElementVNode as N, toDisplayString as z, resolveDynamicComponent as p, mergeProps as u } from "vue";
|
|
4
4
|
import { _ as A } from "./CustomIcon-B9m73Gqm.js";
|
|
5
5
|
const _ = {
|
|
@@ -80,4 +80,4 @@ const G = /* @__PURE__ */ A(_, [["render", I]]);
|
|
|
80
80
|
export {
|
|
81
81
|
G as default
|
|
82
82
|
};
|
|
83
|
-
//# sourceMappingURL=MatrixbycolumnsWidget-
|
|
83
|
+
//# sourceMappingURL=MatrixbycolumnsWidget-BvbEs_NU.js.map
|
package/dist/{MatrixbycolumnsWidget-BlF1CyIT.js.map → MatrixbycolumnsWidget-BvbEs_NU.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatrixbycolumnsWidget-
|
|
1
|
+
{"version":3,"file":"MatrixbycolumnsWidget-BvbEs_NU.js","sources":["../src/widgets/MatrixbycolumnsWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <table :style=\"computedStyle\" role=\"presentation\">\n <tr v-for=\"(chunk, rindex) in widgetChunks\" :key=\"'r' + rindex\">\n <td v-for=\"(widget, cindex) in chunk\" :key=\"'c' + cindex\">\n <v-tooltip\n v-if=\"getTooltipText(widget)\"\n :open-delay=\"getTooltipDelay(widget)\"\n location=\"top\"\n :activator-props=\"getTooltipActivatorProps(widget)\"\n >\n <template #activator=\"{ props }\">\n <component\n :is=\"widget.type\"\n v-bind=\"{ ...listeners, ...props }\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </template>\n <span>{{ getTooltipText(widget) }}</span>\n </v-tooltip>\n <component\n :is=\"widget.type\"\n v-else\n v-bind=\"listeners\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </td>\n </tr>\n </table>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport _ from 'lodash'\nexport default {\n mixins: [Layout],\n computed: {\n columns() {\n return parseInt(this.parameters[0])\n },\n widgetChunks() {\n return _.chunk(this.widgets, this.columns)\n },\n },\n created: function () {\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","_","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","$options","chunk","rindex","cindex","_createBlock","_component_v_tooltip","_withCtx","props","_resolveDynamicComponent","_mergeProps","_createElementVNode","_toDisplayString"],"mappings":";;;;AAuEA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AAAA,IACR,UAAU;AACR,aAAO,SAAS,KAAK,WAAW,CAAC,CAAC;AAAA,IACpC;AAAA,IACA,eAAe;AACb,aAAOC,EAAE,MAAM,KAAK,SAAS,KAAK,OAAO;AAAA,IAC3C;AAAA;EAEF,SAAS,WAAY;AACnB,QAAI,KAAK,WAAW,CAAC,GAAG;AACtB,UAAIC,IAAS,KAAK,WAAW,CAAC;AAC9B,WAAK,QAAQ,QAAQ,CAACC,MAAW;AAO/B,QANcA,EAAO,SAAS;AAAA,UAC5B,CAACC,MACCA,EAAQ,CAAC,MAAM,YACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,KAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ;AAAA,QAChD,MACc,UACZD,EAAO,SAAS,KAAK,CAAC,UAAUD,CAAM,CAAC;AAAA,MAE3C,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;cA1EEG,EA0CQ,SAAA;AAAA,IA1CA,SAAOC,EAAA,aAAa;AAAA,IAAE,MAAK;AAAA;KACjCC,EAAA,EAAA,GAAAF,EAwCKG,GAAA,MAAAC,EAxCyBC,EAAA,cAAY,CAA9BC,GAAOC,YAAnBP,EAwCK,MAAA;AAAA,MAxCwC,WAAWO;AAAA;OACtDL,EAAA,EAAA,GAAAF,EAsCKG,GAAA,MAAAC,EAtC0BE,GAAK,CAAxBR,GAAQU,YAApBR,EAsCK,MAAA;AAAA,QAtCkC,WAAWQ;AAAA;QAExCP,EAAA,eAAeH,CAAM,UAD7BW,EAsBYC,GAAA;AAAA;UApBT,cAAYT,EAAA,gBAAgBH,CAAM;AAAA,UACnC,UAAS;AAAA,UACR,mBAAiBG,EAAA,yBAAyBH,CAAM;AAAA;UAEtC,WAASa,EAClB,CAYE,EAboB,OAAAC,QAAK;AAAA,kBAC3BH,EAYEI,EAXKf,EAAO,IAAI,GADlBgB,EAYE,EAAA,SAAA,GAAA,GAAA,EAAA,GAVab,EAAA,WAAS,GAAKW,KAAK;AAAA,cAC/B,QAAQd,EAAO;AAAA,cACf,YAAYA,EAAO;AAAA,cACnB,UAAUA,EAAO;AAAA,cACjB,iBAAeG,EAAA;AAAA,cACf,oBAAkBA,EAAA;AAAA,cAClB,SAASH,EAAO;AAAA,cAChB,MAAMA,EAAO;AAAA,cACb,MAAMA,EAAO;AAAA,cACb,eAAaA,EAAO;AAAA;;qBAGzB,MAAyC;AAAA,YAAzCiB,EAAyC,QAAA,MAAAC,EAAhCf,EAAA,eAAeH,CAAM,CAAA,GAAA,CAAA;AAAA;;wDAEhCI,EAAA,GAAAO,EAaEI,EAZKf,EAAO,IAAI,GADlBgB,EAaE;AAAA;;WAVQb,EAAA,WAAS;AAAA,UAChB,QAAQH,EAAO;AAAA,UACf,YAAYA,EAAO;AAAA,UACnB,UAAUA,EAAO;AAAA,UACjB,iBAAeG,EAAA;AAAA,UACf,oBAAkBA,EAAA;AAAA,UAClB,SAASH,EAAO;AAAA,UAChB,MAAMA,EAAO;AAAA,UACb,MAAMA,EAAO;AAAA,UACb,eAAaA,EAAO;AAAA;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./Layout-
|
|
2
|
-
//# sourceMappingURL=MatrixbycolumnsWidget-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./Layout-D_xqJarz.cjs"),k=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-DMwcaglo.cjs"),e=require("vue"),y=require("./CustomIcon-CEc927h0.cjs"),f={mixins:[m.Layout],computed:{columns(){return parseInt(this.parameters[0])},widgetChunks(){return k._.chunk(this.widgets,this.columns)}},created:function(){if(this.parameters[1]){let n=this.parameters[1];this.widgets.forEach(o=>{o.settings.find(r=>r[0]==="MARGIN"||r[0].startsWith("RAW")&&r[1].toUpperCase().includes("MARGIN"))===void 0&&o.settings.push(["MARGIN",n])})}}};function d(n,o,s,r,v,a){const l=e.resolveComponent("v-tooltip");return e.openBlock(),e.createElementBlock("table",{style:e.normalizeStyle(n.computedStyle),role:"presentation"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.widgetChunks,(i,c)=>(e.openBlock(),e.createElementBlock("tr",{key:"r"+c},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i,(t,p)=>(e.openBlock(),e.createElementBlock("td",{key:"c"+p},[n.getTooltipText(t)?(e.openBlock(),e.createBlock(l,{key:0,"open-delay":n.getTooltipDelay(t),location:"top","activator-props":n.getTooltipActivatorProps(t)},{activator:e.withCtx(({props:u})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},{...n.listeners,...u},{target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(n.getTooltipText(t)),1)]),_:2},1032,["open-delay","activator-props"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({key:1,ref_for:!0},n.listeners,{target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))]))),128))]))),128))],4)}const g=y._export_sfc(f,[["render",d]]);exports.default=g;
|
|
2
|
+
//# sourceMappingURL=MatrixbycolumnsWidget-k0GfBzu8.cjs.map
|
package/dist/{MatrixbycolumnsWidget-BKXkhATe.cjs.map → MatrixbycolumnsWidget-k0GfBzu8.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatrixbycolumnsWidget-
|
|
1
|
+
{"version":3,"file":"MatrixbycolumnsWidget-k0GfBzu8.cjs","sources":["../src/widgets/MatrixbycolumnsWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <table :style=\"computedStyle\" role=\"presentation\">\n <tr v-for=\"(chunk, rindex) in widgetChunks\" :key=\"'r' + rindex\">\n <td v-for=\"(widget, cindex) in chunk\" :key=\"'c' + cindex\">\n <v-tooltip\n v-if=\"getTooltipText(widget)\"\n :open-delay=\"getTooltipDelay(widget)\"\n location=\"top\"\n :activator-props=\"getTooltipActivatorProps(widget)\"\n >\n <template #activator=\"{ props }\">\n <component\n :is=\"widget.type\"\n v-bind=\"{ ...listeners, ...props }\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </template>\n <span>{{ getTooltipText(widget) }}</span>\n </v-tooltip>\n <component\n :is=\"widget.type\"\n v-else\n v-bind=\"listeners\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </td>\n </tr>\n </table>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport _ from 'lodash'\nexport default {\n mixins: [Layout],\n computed: {\n columns() {\n return parseInt(this.parameters[0])\n },\n widgetChunks() {\n return _.chunk(this.widgets, this.columns)\n },\n },\n created: function () {\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","_","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","$options","chunk","rindex","cindex","_createBlock","_component_v_tooltip","_withCtx","props","_resolveDynamicComponent","_mergeProps","_createElementVNode","_toDisplayString"],"mappings":"uRAuEKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CACR,SAAU,CACR,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CACpC,EACA,cAAe,CACb,OAAOC,EAAAA,EAAE,MAAM,KAAK,QAAS,KAAK,OAAO,CAC3C,GAEF,QAAS,UAAY,CACnB,GAAI,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CACjBA,EAAO,SAAS,KAC3BC,GACCA,EAAQ,CAAC,IAAM,UACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ,CAChD,IACc,QACZD,EAAO,SAAS,KAAK,CAAC,SAAUD,CAAM,CAAC,CAE3C,CAAC,CACH,CACF,CACF,uFA1EEG,EAAAA,mBA0CQ,QAAA,CA1CA,uBAAOC,EAAA,aAAa,EAAE,KAAK,kBACjCC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAwCKG,WAAA,KAAAC,EAAAA,WAxCyBC,EAAA,aAAY,CAA9BC,EAAOC,mBAAnBP,EAAAA,mBAwCK,KAAA,CAxCwC,QAAWO,KACtDL,YAAA,EAAA,EAAAF,EAAAA,mBAsCKG,EAAAA,SAAA,KAAAC,EAAAA,WAtC0BE,EAAK,CAAxBR,EAAQU,mBAApBR,EAAAA,mBAsCK,KAAA,CAtCkC,QAAWQ,IAExCP,EAAA,eAAeH,CAAM,iBAD7BW,EAAAA,YAsBYC,EAAA,OApBT,aAAYT,EAAA,gBAAgBH,CAAM,EACnC,SAAS,MACR,kBAAiBG,EAAA,yBAAyBH,CAAM,IAEtC,UAASa,EAAAA,QAClB,CAYE,CAboB,MAAAC,KAAK,gBAC3BH,EAAAA,YAYEI,EAAAA,wBAXKf,EAAO,IAAI,EADlBgB,EAAAA,WAYE,CAAA,QAAA,EAAA,EAAA,CAAA,GAVab,EAAA,UAAS,GAAKW,GAAK,CAC/B,OAAQd,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO,uJAGzB,IAAyC,CAAzCiB,qBAAyC,OAAA,KAAAC,EAAAA,gBAAhCf,EAAA,eAAeH,CAAM,CAAA,EAAA,CAAA,kDAEhCI,EAAAA,UAAA,EAAAO,EAAAA,YAaEI,EAAAA,wBAZKf,EAAO,IAAI,EADlBgB,aAaE,mBAVQb,EAAA,UAAS,CAChB,OAAQH,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-
|
|
2
|
-
//# sourceMappingURL=MicroservicesTab-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-DMwcaglo.cjs"),e=require("vue"),y=require("./CustomIcon-CEc927h0.cjs");require("single-spa");const x=require("./OutputDialog-BHDdBPLX.cjs"),k=require("./TextBoxDialog-DzCvdsJj.cjs"),m=require("./format-B22VpiOS.cjs"),T={components:{OutputDialog:x.OutputDialog,TextBoxDialog:k.TextBoxDialog},data(){return{microservices:[],microservice_status:{},microservice_id:null,jsonContent:"",dialogTitle:"",showDialog:!1,showError:!1,alert:"",alertType:"success",showAlert:!1,updater:null}},mounted(){this.update(),this.updater=setInterval(()=>{this.update()},2e3)},beforeUnmount(){clearInterval(this.updater),this.updater=null},methods:{update:function(){c.Ei.get("/openc3-api/microservice_status/all").then(t=>{this.microservice_status=t.data}),c.Ei.get("/openc3-api/microservices/all").then(t=>{let i=[];for(const[s,l]of Object.entries(t.data))i.push(l);i.sort((s,l)=>s.name.localeCompare(l.name)),this.microservices=i})},startMicroservice:function(t){this.$dialog.confirm(`Are you sure you want to restart microservice: ${t}?`,{okText:"Start",cancelText:"Cancel"}).then(i=>{c.Ei.post(`/openc3-api/microservices/${t}/start`).then(s=>{this.alert=`Started ${t}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},stopMicroservice:function(t){this.$dialog.confirm(`Are you sure you want to stop microservice: ${t}?`,{okText:"Stop",cancelText:"Cancel"}).then(i=>{c.Ei.post(`/openc3-api/microservices/${t}/stop`).then(s=>{this.alert=`Stopped ${t}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},showMicroservice:function(t){c.Ei.get(`/openc3-api/microservices/${t}`).then(i=>{this.microservice_id=t,this.dialogTitle=t,this.jsonContent=JSON.stringify(i.data,null," "),this.showDialog=!0})},showMicroserviceError:function(t){this.dialogTitle=t;const i=this.microservice_status[t].error;this.jsonContent=JSON.stringify(i,null," "),this.showError=!0},formatDate(t){return m.format(m.toDate(parseInt(t)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},dialogCallback:function(t){if(this.showDialog=!1,t!==null){let i=JSON.parse(t),s="put",l=`/openc3-api/microservices/${this.microservice_id}`;i.name!==this.microservice_id&&(s="post",l="/openc3-api/microservices"),c.Ei[s](l,{data:{json:t}}).then(o=>{this.alert="Modified Microservice",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}}};function S(t,i,s,l,o,n){const d=e.resolveComponent("v-alert"),h=e.resolveComponent("v-list-item-title"),v=e.resolveComponent("v-list-item-subtitle"),a=e.resolveComponent("v-btn"),_=e.resolveComponent("v-list-item"),g=e.resolveComponent("v-divider"),f=e.resolveComponent("v-list"),C=e.resolveComponent("output-dialog"),w=e.resolveComponent("text-box-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{modelValue:o.showAlert,"onUpdate:modelValue":i[0]||(i[0]=r=>o.showAlert=r),closable:"",type:o.alertType},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.alert),1)]),_:1},8,["modelValue","type"]),e.createVNode(f,{class:"list","data-test":"microserviceList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.microservices,r=>(e.openBlock(),e.createElementBlock("div",{key:r},[e.createVNode(_,null,{append:e.withCtx(()=>{var p;return[e.withDirectives(e.createVNode(a,{icon:"mdi-alert",variant:"text",onClick:u=>n.showMicroserviceError(r.name)},null,8,["onClick"]),[[e.vShow,(p=o.microservice_status[r.name])==null?void 0:p.error]]),e.createVNode(a,{"aria-label":"Start Microservice",icon:"mdi-play",variant:"text",onClick:u=>n.startMicroservice(r.name)},null,8,["onClick"]),e.createVNode(a,{"aria-label":"Stop Microservice",icon:"mdi-stop",variant:"text",onClick:u=>n.stopMicroservice(r.name)},null,8,["onClick"]),e.createVNode(a,{"aria-label":"Show Microservice Details",icon:"mdi-eye",variant:"text",onClick:u=>n.showMicroservice(r.name)},null,8,["onClick"])]}),default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.name),1)]),_:2},1024),o.microservice_status[r.name]?(e.openBlock(),e.createBlock(v,{key:0},{default:e.withCtx(()=>[e.createTextVNode(" Updated: "+e.toDisplayString(n.formatDate(o.microservice_status[r.name].updated_at))+", State: "+e.toDisplayString(o.microservice_status[r.name].state)+", Enabled: "+e.toDisplayString(r.enabled===!1?"False":"True")+", Count: "+e.toDisplayString(o.microservice_status[r.name].count),1)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(g)]))),128))]),_:1}),o.showDialog?(e.openBlock(),e.createBlock(C,{key:0,modelValue:o.showDialog,"onUpdate:modelValue":i[1]||(i[1]=r=>o.showDialog=r),content:o.jsonContent,type:"Microservice",name:o.dialogTitle,onSubmit:n.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):e.createCommentVNode("",!0),o.showError?(e.openBlock(),e.createBlock(w,{key:1,modelValue:o.showError,"onUpdate:modelValue":i[2]||(i[2]=r=>o.showError=r),text:o.jsonContent,title:o.dialogTitle},null,8,["modelValue","text","title"])):e.createCommentVNode("",!0)])}const D=y._export_sfc(T,[["render",S],["__scopeId","data-v-71cd70be"]]);exports.default=D;
|
|
2
|
+
//# sourceMappingURL=MicroservicesTab-B8gVZ9wr.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MicroservicesTab-BWFwBSuf.cjs","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert v-model=\"showAlert\" closable :type=\"alertType\">{{\n alert\n }}</v-alert>\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MicroservicesTab-B8gVZ9wr.cjs","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert v-model=\"showAlert\" closable :type=\"alertType\">{{\n alert\n }}</v-alert>\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { E as c } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js";
|
|
2
2
|
import { resolveComponent as i, createElementBlock as v, openBlock as u, createVNode as r, createBlock as _, createCommentVNode as f, withCtx as m, createTextVNode as g, toDisplayString as p, Fragment as D, renderList as V, withDirectives as A, vShow as E } from "vue";
|
|
3
3
|
import { _ as j } from "./CustomIcon-B9m73Gqm.js";
|
|
4
4
|
import "single-spa";
|
|
5
|
-
import { O as N } from "./OutputDialog-
|
|
5
|
+
import { O as N } from "./OutputDialog-8nKOJUMU.js";
|
|
6
6
|
import { T as O } from "./TextBoxDialog-CJHrE2Sh.js";
|
|
7
7
|
import { f as U, t as B } from "./format-CVeawcIv.js";
|
|
8
8
|
const I = {
|
|
@@ -200,4 +200,4 @@ const P = /* @__PURE__ */ j(I, [["render", J], ["__scopeId", "data-v-71cd70be"]]
|
|
|
200
200
|
export {
|
|
201
201
|
P as default
|
|
202
202
|
};
|
|
203
|
-
//# sourceMappingURL=MicroservicesTab-
|
|
203
|
+
//# sourceMappingURL=MicroservicesTab-C8XPgBnj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MicroservicesTab-xpDXKoa-.js","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert v-model=\"showAlert\" closable :type=\"alertType\">{{\n alert\n }}</v-alert>\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MicroservicesTab-C8XPgBnj.js","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert v-model=\"showAlert\" closable :type=\"alertType\">{{\n alert\n }}</v-alert>\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { resolveComponent as
|
|
3
|
-
import { _ as
|
|
4
|
-
const
|
|
1
|
+
import { O as _ } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js";
|
|
2
|
+
import { resolveComponent as s, createBlock as v, openBlock as g, withKeys as b, normalizeClass as N, normalizeStyle as T, withCtx as l, createVNode as o, createTextVNode as c, mergeProps as F } from "vue";
|
|
3
|
+
import { _ as I } from "./CustomIcon-B9m73Gqm.js";
|
|
4
|
+
const k = {
|
|
5
5
|
inheritAttrs: !1,
|
|
6
6
|
props: {
|
|
7
7
|
modelValue: {
|
|
@@ -73,19 +73,20 @@ const x = {
|
|
|
73
73
|
t === "" && this.modelValue !== "" && this.$emit("update:modelValue", "");
|
|
74
74
|
},
|
|
75
75
|
menu(t) {
|
|
76
|
-
t && (this.tempTime = this.modelValue || "00:00:00");
|
|
76
|
+
t && (this.tempTime = this.normalizeTime(this.modelValue) || "00:00:00");
|
|
77
77
|
},
|
|
78
78
|
tempTime(t) {
|
|
79
79
|
this.menu && t && (this.inputValue = this.formatForDisplay(t));
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
async created() {
|
|
83
|
-
|
|
83
|
+
const t = this.inputValue;
|
|
84
|
+
await this.loadTimeFormat(), this.inputValue === t && (this.inputValue = this.formatForDisplay(this.modelValue));
|
|
84
85
|
},
|
|
85
86
|
methods: {
|
|
86
87
|
async loadTimeFormat() {
|
|
87
88
|
try {
|
|
88
|
-
const e = await new
|
|
89
|
+
const e = await new _().get_setting("time_format");
|
|
89
90
|
e && (this.timeFormat = e);
|
|
90
91
|
} catch {
|
|
91
92
|
this.timeFormat = "ampm";
|
|
@@ -102,18 +103,18 @@ const x = {
|
|
|
102
103
|
if (!t || t.trim() === "") return "";
|
|
103
104
|
const e = t.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/);
|
|
104
105
|
if (e) {
|
|
105
|
-
const
|
|
106
|
-
if (
|
|
107
|
-
return `${
|
|
106
|
+
const r = parseInt(e[1], 10), i = parseInt(e[2], 10), n = e[3] ? parseInt(e[3], 10) : 0;
|
|
107
|
+
if (r >= 0 && r <= 23 && i >= 0 && i <= 59 && n >= 0 && n <= 59)
|
|
108
|
+
return `${r.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}:${n.toString().padStart(2, "0")}`;
|
|
108
109
|
}
|
|
109
110
|
const a = t.match(
|
|
110
111
|
/^(\d{1,2}):(\d{2})(?::(\d{2}))?\s*(AM|PM|am|pm)$/i
|
|
111
112
|
);
|
|
112
113
|
if (a) {
|
|
113
|
-
let
|
|
114
|
-
const i = parseInt(a[2], 10),
|
|
115
|
-
if (
|
|
116
|
-
return m === "AM" ?
|
|
114
|
+
let r = parseInt(a[1], 10);
|
|
115
|
+
const i = parseInt(a[2], 10), n = a[3] ? parseInt(a[3], 10) : 0, m = a[4].toUpperCase();
|
|
116
|
+
if (r >= 1 && r <= 12 && i >= 0 && i <= 59 && n >= 0 && n <= 59)
|
|
117
|
+
return m === "AM" ? r === 12 && (r = 0) : r !== 12 && (r += 12), `${r.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}:${n.toString().padStart(2, "0")}`;
|
|
117
118
|
}
|
|
118
119
|
return null;
|
|
119
120
|
},
|
|
@@ -121,36 +122,49 @@ const x = {
|
|
|
121
122
|
this.$emit("update:modelValue", this.tempTime), this.inputValue = this.formatForDisplay(this.tempTime), this.menu = !1;
|
|
122
123
|
},
|
|
123
124
|
cancel() {
|
|
124
|
-
this.tempTime = this.modelValue || "00:00:00", this.menu = !1;
|
|
125
|
+
this.tempTime = this.normalizeTime(this.modelValue) || "00:00:00", this.menu = !1;
|
|
126
|
+
},
|
|
127
|
+
// Normalize time to HH:mm:ss format (strips milliseconds if present)
|
|
128
|
+
normalizeTime(t) {
|
|
129
|
+
if (!t) return "";
|
|
130
|
+
const e = t.split(":");
|
|
131
|
+
if (e.length < 2) return t;
|
|
132
|
+
const a = Number.parseInt(e[0], 10), r = Number.parseInt(e[1], 10), i = e.length > 2 ? Number.parseInt(e[2], 10) : 0;
|
|
133
|
+
return Number.isNaN(a) || Number.isNaN(r) || Number.isNaN(i) ? "" : `${a.toString().padStart(2, "0")}:${r.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}`;
|
|
125
134
|
},
|
|
126
135
|
convertTo12Hour(t) {
|
|
127
136
|
if (!t) return "";
|
|
128
137
|
const e = t.split(":");
|
|
129
138
|
if (e.length < 2) return t;
|
|
130
|
-
let a = parseInt(e[0], 10);
|
|
131
|
-
const
|
|
132
|
-
|
|
139
|
+
let a = Number.parseInt(e[0], 10);
|
|
140
|
+
const r = Number.parseInt(e[1], 10), i = e.length > 2 ? Number.parseInt(e[2], 10) : 0;
|
|
141
|
+
if (Number.isNaN(a) || Number.isNaN(r) || Number.isNaN(i))
|
|
142
|
+
return t;
|
|
143
|
+
const n = a >= 12 ? "PM" : "AM";
|
|
144
|
+
a = a % 12, a = a || 12;
|
|
145
|
+
const m = a.toString().padStart(2, "0"), d = r.toString().padStart(2, "0"), p = i.toString().padStart(2, "0");
|
|
146
|
+
return `${m}:${d}:${p} ${n}`;
|
|
133
147
|
}
|
|
134
148
|
}
|
|
135
149
|
};
|
|
136
|
-
function
|
|
137
|
-
const m =
|
|
138
|
-
return g(), S
|
|
150
|
+
function C(t, e, a, r, i, n) {
|
|
151
|
+
const m = s("v-icon"), d = s("v-time-picker"), p = s("v-spacer"), f = s("v-btn"), h = s("v-card-actions"), y = s("v-card"), V = s("v-menu"), S = s("v-text-field");
|
|
152
|
+
return g(), v(S, {
|
|
139
153
|
modelValue: i.inputValue,
|
|
140
154
|
"onUpdate:modelValue": e[2] || (e[2] = (u) => i.inputValue = u),
|
|
141
155
|
label: a.label,
|
|
142
|
-
rules:
|
|
156
|
+
rules: n.computedRules,
|
|
143
157
|
"hide-details": a.hideDetails,
|
|
144
158
|
variant: a.variant,
|
|
145
159
|
density: a.density,
|
|
146
|
-
style:
|
|
147
|
-
class:
|
|
160
|
+
style: T(n.computedStyle),
|
|
161
|
+
class: N(a.textFieldClass),
|
|
148
162
|
disabled: a.disabled,
|
|
149
163
|
"data-test": a.dataTest,
|
|
150
|
-
onBlur:
|
|
151
|
-
onKeydown:
|
|
164
|
+
onBlur: n.handleBlur,
|
|
165
|
+
onKeydown: b(n.handleBlur, ["enter"])
|
|
152
166
|
}, {
|
|
153
|
-
"prepend-inner":
|
|
167
|
+
"prepend-inner": l(() => [
|
|
154
168
|
o(V, {
|
|
155
169
|
modelValue: i.menu,
|
|
156
170
|
"onUpdate:modelValue": e[1] || (e[1] = (u) => i.menu = u),
|
|
@@ -158,18 +172,18 @@ function I(t, e, a, l, i, s) {
|
|
|
158
172
|
transition: "scale-transition",
|
|
159
173
|
offset: "16"
|
|
160
174
|
}, {
|
|
161
|
-
activator:
|
|
162
|
-
o(m,
|
|
163
|
-
default:
|
|
164
|
-
|
|
175
|
+
activator: l(({ props: u }) => [
|
|
176
|
+
o(m, F(u, { class: "cursor-pointer" }), {
|
|
177
|
+
default: l(() => [...e[3] || (e[3] = [
|
|
178
|
+
c(" mdi-clock-outline ", -1)
|
|
165
179
|
])]),
|
|
166
180
|
_: 1
|
|
167
181
|
}, 16)
|
|
168
182
|
]),
|
|
169
|
-
default:
|
|
183
|
+
default: l(() => [
|
|
170
184
|
o(y, { class: "time-picker-card" }, {
|
|
171
|
-
default:
|
|
172
|
-
o(
|
|
185
|
+
default: l(() => [
|
|
186
|
+
o(d, {
|
|
173
187
|
modelValue: i.tempTime,
|
|
174
188
|
"onUpdate:modelValue": e[0] || (e[0] = (u) => i.tempTime = u),
|
|
175
189
|
format: i.timeFormat,
|
|
@@ -178,24 +192,24 @@ function I(t, e, a, l, i, s) {
|
|
|
178
192
|
"hide-header": ""
|
|
179
193
|
}, null, 8, ["modelValue", "format"]),
|
|
180
194
|
o(h, null, {
|
|
181
|
-
default:
|
|
182
|
-
o(
|
|
183
|
-
o(
|
|
195
|
+
default: l(() => [
|
|
196
|
+
o(p),
|
|
197
|
+
o(f, {
|
|
184
198
|
variant: "text",
|
|
185
|
-
onClick:
|
|
199
|
+
onClick: n.cancel
|
|
186
200
|
}, {
|
|
187
|
-
default:
|
|
188
|
-
|
|
201
|
+
default: l(() => [...e[4] || (e[4] = [
|
|
202
|
+
c("Cancel", -1)
|
|
189
203
|
])]),
|
|
190
204
|
_: 1
|
|
191
205
|
}, 8, ["onClick"]),
|
|
192
|
-
o(
|
|
206
|
+
o(f, {
|
|
193
207
|
color: "primary",
|
|
194
208
|
variant: "text",
|
|
195
|
-
onClick:
|
|
209
|
+
onClick: n.save
|
|
196
210
|
}, {
|
|
197
|
-
default:
|
|
198
|
-
|
|
211
|
+
default: l(() => [...e[5] || (e[5] = [
|
|
212
|
+
c("OK", -1)
|
|
199
213
|
])]),
|
|
200
214
|
_: 1
|
|
201
215
|
}, 8, ["onClick"])
|
|
@@ -212,8 +226,8 @@ function I(t, e, a, l, i, s) {
|
|
|
212
226
|
_: 1
|
|
213
227
|
}, 8, ["modelValue", "label", "rules", "hide-details", "variant", "density", "style", "class", "disabled", "data-test", "onBlur", "onKeydown"]);
|
|
214
228
|
}
|
|
215
|
-
const M = /* @__PURE__ */
|
|
229
|
+
const M = /* @__PURE__ */ I(k, [["render", C], ["__scopeId", "data-v-6b7d6b41"]]);
|
|
216
230
|
export {
|
|
217
231
|
M as O
|
|
218
232
|
};
|
|
219
|
-
//# sourceMappingURL=OpenC3TimePicker-
|
|
233
|
+
//# sourceMappingURL=OpenC3TimePicker-CFSMcJ1F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenC3TimePicker-CFSMcJ1F.js","sources":["../src/components/OpenC3TimePicker.vue"],"sourcesContent":["<!--\n# Copyright 2026 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-text-field\n v-model=\"inputValue\"\n :label=\"label\"\n :rules=\"computedRules\"\n :hide-details=\"hideDetails\"\n :variant=\"variant\"\n :density=\"density\"\n :style=\"computedStyle\"\n :class=\"textFieldClass\"\n :disabled=\"disabled\"\n :data-test=\"dataTest\"\n @blur=\"handleBlur\"\n @keydown.enter=\"handleBlur\"\n >\n <template #prepend-inner>\n <v-menu\n v-model=\"menu\"\n :close-on-content-click=\"false\"\n transition=\"scale-transition\"\n offset=\"16\"\n >\n <template #activator=\"{ props: menuProps }\">\n <v-icon v-bind=\"menuProps\" class=\"cursor-pointer\">\n mdi-clock-outline\n </v-icon>\n </template>\n <v-card class=\"time-picker-card\">\n <v-time-picker\n v-model=\"tempTime\"\n :format=\"timeFormat\"\n scrollable\n use-seconds\n hide-header\n />\n <v-card-actions>\n <v-spacer />\n <v-btn variant=\"text\" @click=\"cancel\">Cancel</v-btn>\n <v-btn color=\"primary\" variant=\"text\" @click=\"save\">OK</v-btn>\n </v-card-actions>\n </v-card>\n </v-menu>\n </template>\n </v-text-field>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n inheritAttrs: false,\n props: {\n modelValue: {\n type: String,\n default: '',\n },\n label: {\n type: String,\n default: 'Time',\n },\n rules: {\n type: Array,\n default: () => [],\n },\n hideDetails: {\n type: [Boolean, String],\n default: false,\n },\n variant: {\n type: String,\n default: 'filled',\n },\n density: {\n type: String,\n default: 'default',\n },\n style: {\n type: [String, Object],\n default: '',\n },\n textFieldClass: {\n type: String,\n default: '',\n },\n dataTest: {\n type: String,\n default: '',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n data() {\n return {\n menu: false,\n timeFormat: 'ampm',\n tempTime: null,\n inputValue: '',\n }\n },\n computed: {\n computedStyle() {\n if (typeof this.style === 'string') {\n return this.style\n }\n return this.style\n },\n computedRules() {\n // Wrap the passed rules to validate against the 24-hour modelValue\n return this.rules.map((rule) => {\n return () => {\n return rule(this.modelValue)\n }\n })\n },\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newVal) {\n // Update input display when modelValue changes externally\n if (!this.menu) {\n this.inputValue = this.formatForDisplay(newVal)\n }\n },\n },\n inputValue(newVal) {\n // Immediately emit empty value when input is cleared for instant validation\n if (newVal === '' && this.modelValue !== '') {\n this.$emit('update:modelValue', '')\n }\n },\n menu(newVal) {\n if (newVal) {\n // When menu opens, initialize tempTime with current value\n // Normalize to HH:mm:ss format (v-time-picker doesn't handle milliseconds)\n this.tempTime = this.normalizeTime(this.modelValue) || '00:00:00'\n }\n },\n tempTime(newVal) {\n // Update input display in real-time when using the time picker\n if (this.menu && newVal) {\n this.inputValue = this.formatForDisplay(newVal)\n }\n },\n },\n async created() {\n // Capture current display before async call\n const previousDisplay = this.inputValue\n await this.loadTimeFormat()\n // Only update display if it hasn't been changed externally during the await\n if (this.inputValue === previousDisplay) {\n this.inputValue = this.formatForDisplay(this.modelValue)\n }\n },\n methods: {\n async loadTimeFormat() {\n try {\n const api = new OpenC3Api()\n const response = await api.get_setting('time_format')\n if (response) {\n this.timeFormat = response\n }\n } catch (error) {\n // Default to 'ampm' if setting is not found\n this.timeFormat = 'ampm'\n }\n },\n formatForDisplay(time24) {\n if (!time24) return ''\n if (this.timeFormat === '24hr') {\n return time24\n }\n return this.convertTo12Hour(time24)\n },\n handleBlur() {\n // Parse input and update modelValue\n const parsed = this.parseTimeInput(this.inputValue)\n if (parsed) {\n this.$emit('update:modelValue', parsed)\n this.inputValue = this.formatForDisplay(parsed)\n } else if (this.inputValue === '') {\n this.$emit('update:modelValue', '')\n } else {\n // Invalid input, revert to current modelValue display\n this.inputValue = this.formatForDisplay(this.modelValue)\n }\n },\n parseTimeInput(input) {\n if (!input || input.trim() === '') return ''\n\n // Try to parse 24-hour format: HH:mm:ss or HH:mm\n const time24Match = input.match(/^(\\d{1,2}):(\\d{2})(?::(\\d{2}))?$/)\n if (time24Match) {\n const hours = parseInt(time24Match[1], 10)\n const minutes = parseInt(time24Match[2], 10)\n const seconds = time24Match[3] ? parseInt(time24Match[3], 10) : 0\n if (\n hours >= 0 &&\n hours <= 23 &&\n minutes >= 0 &&\n minutes <= 59 &&\n seconds >= 0 &&\n seconds <= 59\n ) {\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n }\n }\n\n // Try to parse 12-hour format: HH:mm:ss AM/PM or HH:mm AM/PM\n const time12Match = input.match(\n /^(\\d{1,2}):(\\d{2})(?::(\\d{2}))?\\s*(AM|PM|am|pm)$/i,\n )\n if (time12Match) {\n let hours = parseInt(time12Match[1], 10)\n const minutes = parseInt(time12Match[2], 10)\n const seconds = time12Match[3] ? parseInt(time12Match[3], 10) : 0\n const period = time12Match[4].toUpperCase()\n\n if (\n hours >= 1 &&\n hours <= 12 &&\n minutes >= 0 &&\n minutes <= 59 &&\n seconds >= 0 &&\n seconds <= 59\n ) {\n // Convert to 24-hour format\n if (period === 'AM') {\n if (hours === 12) hours = 0\n } else {\n if (hours !== 12) hours += 12\n }\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n }\n }\n\n return null // Invalid format\n },\n save() {\n this.$emit('update:modelValue', this.tempTime)\n this.inputValue = this.formatForDisplay(this.tempTime)\n this.menu = false\n },\n cancel() {\n this.tempTime = this.normalizeTime(this.modelValue) || '00:00:00'\n this.menu = false\n },\n // Normalize time to HH:mm:ss format (strips milliseconds if present)\n normalizeTime(time) {\n if (!time) return ''\n const parts = time.split(':')\n if (parts.length < 2) return time\n const hours = Number.parseInt(parts[0], 10)\n const minutes = Number.parseInt(parts[1], 10)\n // Strip milliseconds from seconds (e.g., \"45.123\" -> 45)\n const seconds = parts.length > 2 ? Number.parseInt(parts[2], 10) : 0\n if (Number.isNaN(hours) || Number.isNaN(minutes) || Number.isNaN(seconds)) {\n return ''\n }\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`\n },\n convertTo12Hour(time24) {\n if (!time24) return ''\n const parts = time24.split(':')\n if (parts.length < 2) return time24\n let hours = Number.parseInt(parts[0], 10)\n const minutes = Number.parseInt(parts[1], 10)\n // Strip milliseconds from seconds (e.g., \"45.123\" -> 45)\n const seconds = parts.length > 2 ? Number.parseInt(parts[2], 10) : 0\n // Validate all parts are valid numbers\n if (Number.isNaN(hours) || Number.isNaN(minutes) || Number.isNaN(seconds)) {\n return time24 // Return original if parsing fails\n }\n const ampm = hours >= 12 ? 'PM' : 'AM'\n hours = hours % 12\n hours = hours ? hours : 12 // 0 should be 12\n const paddedHours = hours.toString().padStart(2, '0')\n const paddedMinutes = minutes.toString().padStart(2, '0')\n const paddedSeconds = seconds.toString().padStart(2, '0')\n return `${paddedHours}:${paddedMinutes}:${paddedSeconds} ${ampm}`\n },\n },\n}\n</script>\n\n<style scoped>\n.time-picker-card {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker) {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker-clock__container) {\n background-color: var(--color-background-surface-default);\n}\n.time-picker-card :deep(.v-time-picker-clock) {\n background-color: var(--color-background-base-default);\n}\n.time-picker-card :deep(.v-picker__header) {\n background-color: var(--color-background-surface-header);\n}\n.time-picker-card :deep(.v-picker-title) {\n background-color: var(--color-background-surface-header);\n}\n.cursor-pointer {\n cursor: pointer;\n}\n</style>\n"],"names":["_sfc_main","rule","newVal","previousDisplay","response","OpenC3Api","time24","parsed","input","time24Match","hours","minutes","seconds","time12Match","period","time","parts","ampm","paddedHours","paddedMinutes","paddedSeconds","_createBlock","_component_v_text_field","$data","$event","$props","$options","_createVNode","_component_v_menu","_withCtx","menuProps","_component_v_icon","_mergeProps","_cache","_component_v_card","_component_v_time_picker","_component_v_card_actions","_component_v_spacer","_component_v_btn"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const V=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-DMwcaglo.cjs"),a=require("vue"),_=require("./CustomIcon-CEc927h0.cjs"),y={inheritAttrs:!1,props:{modelValue:{type:String,default:""},label:{type:String,default:"Time"},rules:{type:Array,default:()=>[]},hideDetails:{type:[Boolean,String],default:!1},variant:{type:String,default:"filled"},density:{type:String,default:"default"},style:{type:[String,Object],default:""},textFieldClass:{type:String,default:""},dataTest:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{menu:!1,timeFormat:"ampm",tempTime:null,inputValue:""}},computed:{computedStyle(){return typeof this.style=="string"?this.style:this.style},computedRules(){return this.rules.map(e=>()=>e(this.modelValue))}},watch:{modelValue:{immediate:!0,handler(e){this.menu||(this.inputValue=this.formatForDisplay(e))}},inputValue(e){e===""&&this.modelValue!==""&&this.$emit("update:modelValue","")},menu(e){e&&(this.tempTime=this.normalizeTime(this.modelValue)||"00:00:00")},tempTime(e){this.menu&&e&&(this.inputValue=this.formatForDisplay(e))}},async created(){const e=this.inputValue;await this.loadTimeFormat(),this.inputValue===e&&(this.inputValue=this.formatForDisplay(this.modelValue))},methods:{async loadTimeFormat(){try{const t=await new V.Oi().get_setting("time_format");t&&(this.timeFormat=t)}catch{this.timeFormat="ampm"}},formatForDisplay(e){return e?this.timeFormat==="24hr"?e:this.convertTo12Hour(e):""},handleBlur(){const e=this.parseTimeInput(this.inputValue);e?(this.$emit("update:modelValue",e),this.inputValue=this.formatForDisplay(e)):this.inputValue===""?this.$emit("update:modelValue",""):this.inputValue=this.formatForDisplay(this.modelValue)},parseTimeInput(e){if(!e||e.trim()==="")return"";const t=e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/);if(t){const r=parseInt(t[1],10),n=parseInt(t[2],10),s=t[3]?parseInt(t[3],10):0;if(r>=0&&r<=23&&n>=0&&n<=59&&s>=0&&s<=59)return`${r.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}const i=e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?\s*(AM|PM|am|pm)$/i);if(i){let r=parseInt(i[1],10);const n=parseInt(i[2],10),s=i[3]?parseInt(i[3],10):0,l=i[4].toUpperCase();if(r>=1&&r<=12&&n>=0&&n<=59&&s>=0&&s<=59)return l==="AM"?r===12&&(r=0):r!==12&&(r+=12),`${r.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}return null},save(){this.$emit("update:modelValue",this.tempTime),this.inputValue=this.formatForDisplay(this.tempTime),this.menu=!1},cancel(){this.tempTime=this.normalizeTime(this.modelValue)||"00:00:00",this.menu=!1},normalizeTime(e){if(!e)return"";const t=e.split(":");if(t.length<2)return e;const i=Number.parseInt(t[0],10),r=Number.parseInt(t[1],10),n=t.length>2?Number.parseInt(t[2],10):0;return Number.isNaN(i)||Number.isNaN(r)||Number.isNaN(n)?"":`${i.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`},convertTo12Hour(e){if(!e)return"";const t=e.split(":");if(t.length<2)return e;let i=Number.parseInt(t[0],10);const r=Number.parseInt(t[1],10),n=t.length>2?Number.parseInt(t[2],10):0;if(Number.isNaN(i)||Number.isNaN(r)||Number.isNaN(n))return e;const s=i>=12?"PM":"AM";i=i%12,i=i||12;const l=i.toString().padStart(2,"0"),u=r.toString().padStart(2,"0"),d=n.toString().padStart(2,"0");return`${l}:${u}:${d} ${s}`}}};function v(e,t,i,r,n,s){const l=a.resolveComponent("v-icon"),u=a.resolveComponent("v-time-picker"),d=a.resolveComponent("v-spacer"),m=a.resolveComponent("v-btn"),p=a.resolveComponent("v-card-actions"),c=a.resolveComponent("v-card"),h=a.resolveComponent("v-menu"),f=a.resolveComponent("v-text-field");return a.openBlock(),a.createBlock(f,{modelValue:n.inputValue,"onUpdate:modelValue":t[2]||(t[2]=o=>n.inputValue=o),label:i.label,rules:s.computedRules,"hide-details":i.hideDetails,variant:i.variant,density:i.density,style:a.normalizeStyle(s.computedStyle),class:a.normalizeClass(i.textFieldClass),disabled:i.disabled,"data-test":i.dataTest,onBlur:s.handleBlur,onKeydown:a.withKeys(s.handleBlur,["enter"])},{"prepend-inner":a.withCtx(()=>[a.createVNode(h,{modelValue:n.menu,"onUpdate:modelValue":t[1]||(t[1]=o=>n.menu=o),"close-on-content-click":!1,transition:"scale-transition",offset:"16"},{activator:a.withCtx(({props:o})=>[a.createVNode(l,a.mergeProps(o,{class:"cursor-pointer"}),{default:a.withCtx(()=>[...t[3]||(t[3]=[a.createTextVNode(" mdi-clock-outline ",-1)])]),_:1},16)]),default:a.withCtx(()=>[a.createVNode(c,{class:"time-picker-card"},{default:a.withCtx(()=>[a.createVNode(u,{modelValue:n.tempTime,"onUpdate:modelValue":t[0]||(t[0]=o=>n.tempTime=o),format:n.timeFormat,scrollable:"","use-seconds":"","hide-header":""},null,8,["modelValue","format"]),a.createVNode(p,null,{default:a.withCtx(()=>[a.createVNode(d),a.createVNode(m,{variant:"text",onClick:s.cancel},{default:a.withCtx(()=>[...t[4]||(t[4]=[a.createTextVNode("Cancel",-1)])]),_:1},8,["onClick"]),a.createVNode(m,{color:"primary",variant:"text",onClick:s.save},{default:a.withCtx(()=>[...t[5]||(t[5]=[a.createTextVNode("OK",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue","label","rules","hide-details","variant","density","style","class","disabled","data-test","onBlur","onKeydown"])}const S=_._export_sfc(y,[["render",v],["__scopeId","data-v-6b7d6b41"]]);exports.OpenC3TimePicker=S;
|
|
2
|
+
//# sourceMappingURL=OpenC3TimePicker-DM8EnTy5.cjs.map
|