@openc3/vue-common 6.10.3 → 6.10.4
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-B35vCzAo.cjs → ArrayWidget-CIMbQsGW.cjs} +2 -2
- package/dist/{ArrayWidget-B35vCzAo.cjs.map → ArrayWidget-CIMbQsGW.cjs.map} +1 -1
- package/dist/{ArrayWidget-Bc-Awsbn.js → ArrayWidget-DfiusKpM.js} +4 -4
- package/dist/{ArrayWidget-Bc-Awsbn.js.map → ArrayWidget-DfiusKpM.js.map} +1 -1
- package/dist/{ArrayplotWidget-B67ip6aR.cjs → ArrayplotWidget-DrrqqJEu.cjs} +2 -2
- package/dist/{ArrayplotWidget-B67ip6aR.cjs.map → ArrayplotWidget-DrrqqJEu.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-B9UGCr4-.js → ArrayplotWidget-DsvOovu9.js} +3 -3
- package/dist/{ArrayplotWidget-B9UGCr4-.js.map → ArrayplotWidget-DsvOovu9.js.map} +1 -1
- package/dist/{BarColumn-3fKM-em2.cjs → BarColumn-CWgcL5w1.cjs} +2 -2
- package/dist/{BarColumn-3fKM-em2.cjs.map → BarColumn-CWgcL5w1.cjs.map} +1 -1
- package/dist/{BarColumn-ClLBRGll.js → BarColumn-DHHJBR3V.js} +3 -3
- package/dist/{BarColumn-ClLBRGll.js.map → BarColumn-DHHJBR3V.js.map} +1 -1
- package/dist/{BlockWidget-DWexy9Dx.cjs → BlockWidget-7Ecn_42c.cjs} +2 -2
- package/dist/{BlockWidget-DWexy9Dx.cjs.map → BlockWidget-7Ecn_42c.cjs.map} +1 -1
- package/dist/{BlockWidget-CoQp-LZM.js → BlockWidget-BdYXWS_0.js} +4 -4
- package/dist/{BlockWidget-CoQp-LZM.js.map → BlockWidget-BdYXWS_0.js.map} +1 -1
- package/dist/{ButtonWidget-BBpVoIzj.cjs → ButtonWidget-DFxBj0MG.cjs} +2 -2
- package/dist/{ButtonWidget-BBpVoIzj.cjs.map → ButtonWidget-DFxBj0MG.cjs.map} +1 -1
- package/dist/{ButtonWidget-CTTwpFec.js → ButtonWidget-zpSJmiQT.js} +4 -4
- package/dist/{ButtonWidget-CTTwpFec.js.map → ButtonWidget-zpSJmiQT.js.map} +1 -1
- package/dist/{CanvasWidget-Qlx-Mo8v.cjs → CanvasWidget-C5-iZ-YT.cjs} +2 -2
- package/dist/{CanvasWidget-Qlx-Mo8v.cjs.map → CanvasWidget-C5-iZ-YT.cjs.map} +1 -1
- package/dist/{CanvasWidget-jFarbJ3t.js → CanvasWidget-DaUB1G9X.js} +2 -2
- package/dist/{CanvasWidget-jFarbJ3t.js.map → CanvasWidget-DaUB1G9X.js.map} +1 -1
- package/dist/{CanvasdotWidget-BoyUcwiB.js → CanvasdotWidget-C255aTVc.js} +2 -2
- package/dist/{CanvasdotWidget-BoyUcwiB.js.map → CanvasdotWidget-C255aTVc.js.map} +1 -1
- package/dist/{CanvasdotWidget-BROyk4FH.cjs → CanvasdotWidget-CCrgS1yO.cjs} +2 -2
- package/dist/{CanvasdotWidget-BROyk4FH.cjs.map → CanvasdotWidget-CCrgS1yO.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-BvTJnGXu.cjs → CanvasimageWidget-B2Mm0dYq.cjs} +2 -2
- package/dist/{CanvasimageWidget-BvTJnGXu.cjs.map → CanvasimageWidget-B2Mm0dYq.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-DmyCSnuQ.js → CanvasimageWidget-CFlUUFqr.js} +3 -3
- package/dist/{CanvasimageWidget-DmyCSnuQ.js.map → CanvasimageWidget-CFlUUFqr.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-CzVrDo-Z.cjs → CanvasimagevalueWidget-B1xVa3FB.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-CzVrDo-Z.cjs.map → CanvasimagevalueWidget-B1xVa3FB.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-CmbngMqv.js → CanvasimagevalueWidget-s4gR3fo5.js} +3 -3
- package/dist/{CanvasimagevalueWidget-CmbngMqv.js.map → CanvasimagevalueWidget-s4gR3fo5.js.map} +1 -1
- package/dist/{CanvaslabelWidget-BnvwV9MA.cjs → CanvaslabelWidget-CAtE3qq_.cjs} +2 -2
- package/dist/{CanvaslabelWidget-BnvwV9MA.cjs.map → CanvaslabelWidget-CAtE3qq_.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-D8NzLKqi.js → CanvaslabelWidget-CaOc-lTQ.js} +2 -2
- package/dist/{CanvaslabelWidget-D8NzLKqi.js.map → CanvaslabelWidget-CaOc-lTQ.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-DVnkclHD.cjs → CanvaslabelvalueWidget-CvVMrZsu.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-DVnkclHD.cjs.map → CanvaslabelvalueWidget-CvVMrZsu.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-DOybGI9D.js → CanvaslabelvalueWidget-hqJoPekq.js} +2 -2
- package/dist/{CanvaslabelvalueWidget-DOybGI9D.js.map → CanvaslabelvalueWidget-hqJoPekq.js.map} +1 -1
- package/dist/{CanvaslineWidget-DgbXSH1K.cjs → CanvaslineWidget-CjPnyDod.cjs} +2 -2
- package/dist/{CanvaslineWidget-DgbXSH1K.cjs.map → CanvaslineWidget-CjPnyDod.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-D2NEei7j.js → CanvaslineWidget-DebP2L43.js} +2 -2
- package/dist/{CanvaslineWidget-D2NEei7j.js.map → CanvaslineWidget-DebP2L43.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-Ctvv9owf.js → CanvaslinevalueWidget-BkPG5Vtx.js} +2 -2
- package/dist/{CanvaslinevalueWidget-Ctvv9owf.js.map → CanvaslinevalueWidget-BkPG5Vtx.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-E3NDHyPl.cjs → CanvaslinevalueWidget-Caadjtan.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-E3NDHyPl.cjs.map → CanvaslinevalueWidget-Caadjtan.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-BdvWAgg_.cjs → CheckbuttonWidget-CEOWZkt6.cjs} +2 -2
- package/dist/{CheckbuttonWidget-BdvWAgg_.cjs.map → CheckbuttonWidget-CEOWZkt6.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-CQeR0BMF.js → CheckbuttonWidget-eQIcPATf.js} +2 -2
- package/dist/{CheckbuttonWidget-CQeR0BMF.js.map → CheckbuttonWidget-eQIcPATf.js.map} +1 -1
- package/dist/{ClassificationBanners-0BNhyyMS.cjs → ClassificationBanners--l3qMxLo.cjs} +2 -2
- package/dist/{ClassificationBanners-0BNhyyMS.cjs.map → ClassificationBanners--l3qMxLo.cjs.map} +1 -1
- package/dist/{ClassificationBanners-STI2n2yD.js → ClassificationBanners-CFLQaZJ2.js} +2 -2
- package/dist/{ClassificationBanners-STI2n2yD.js.map → ClassificationBanners-CFLQaZJ2.js.map} +1 -1
- package/dist/{ComboboxWidget-4N-MagvN.js → ComboboxWidget-B5kzYxFk.js} +2 -2
- package/dist/{ComboboxWidget-4N-MagvN.js.map → ComboboxWidget-B5kzYxFk.js.map} +1 -1
- package/dist/{ComboboxWidget-Dh0q9xpJ.cjs → ComboboxWidget-BSs59QzI.cjs} +2 -2
- package/dist/{ComboboxWidget-Dh0q9xpJ.cjs.map → ComboboxWidget-BSs59QzI.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-trVtKZft.js → CriticalCmdDialog-BYHZbX2w.js} +2 -2
- package/dist/{CriticalCmdDialog-trVtKZft.js.map → CriticalCmdDialog-BYHZbX2w.js.map} +1 -1
- package/dist/{CriticalCmdDialog-Dy1cQZxQ.cjs → CriticalCmdDialog-BhjiJIo5.cjs} +2 -2
- package/dist/{CriticalCmdDialog-Dy1cQZxQ.cjs.map → CriticalCmdDialog-BhjiJIo5.cjs.map} +1 -1
- package/dist/{DateWidget-rYTjwUdb.js → DateWidget-1IZOe50K.js} +2 -2
- package/dist/{DateWidget-rYTjwUdb.js.map → DateWidget-1IZOe50K.js.map} +1 -1
- package/dist/{DateWidget-DXN7u3vL.cjs → DateWidget-DkVxE7Xj.cjs} +2 -2
- package/dist/{DateWidget-DXN7u3vL.cjs.map → DateWidget-DkVxE7Xj.cjs.map} +1 -1
- package/dist/{DetailsDialog-p_vutijL.js → DetailsDialog-D-rjL4oc.js} +3 -3
- package/dist/{DetailsDialog-p_vutijL.js.map → DetailsDialog-D-rjL4oc.js.map} +1 -1
- package/dist/{DetailsDialog-CLCCuoHV.cjs → DetailsDialog-lJG8eclU.cjs} +2 -2
- package/dist/{DetailsDialog-CLCCuoHV.cjs.map → DetailsDialog-lJG8eclU.cjs.map} +1 -1
- package/dist/EventListDialog-5UXvnmNE.cjs +2 -0
- package/dist/EventListDialog-5UXvnmNE.cjs.map +1 -0
- package/dist/{EventListDialog-BshKrOuQ.js → EventListDialog-Id3rEQKY.js} +221 -229
- package/dist/EventListDialog-Id3rEQKY.js.map +1 -0
- package/dist/{FilechecksumWidget-Ddlm1UED.cjs → FilechecksumWidget-D-5GSjyV.cjs} +2 -2
- package/dist/{FilechecksumWidget-Ddlm1UED.cjs.map → FilechecksumWidget-D-5GSjyV.cjs.map} +1 -1
- package/dist/{FilechecksumWidget-gcmXxJHl.js → FilechecksumWidget-F_FX1Kjx.js} +3 -3
- package/dist/{FilechecksumWidget-gcmXxJHl.js.map → FilechecksumWidget-F_FX1Kjx.js.map} +1 -1
- package/dist/{FiledisplayWidget-CqM549A4.js → FiledisplayWidget-BF3G22jF.js} +3 -3
- package/dist/{FiledisplayWidget-CqM549A4.js.map → FiledisplayWidget-BF3G22jF.js.map} +1 -1
- package/dist/{FiledisplayWidget-CYX4HChi.cjs → FiledisplayWidget-BHLOY_cM.cjs} +2 -2
- package/dist/{FiledisplayWidget-CYX4HChi.cjs.map → FiledisplayWidget-BHLOY_cM.cjs.map} +1 -1
- package/dist/{FormatvalueWidget-BEwH0C7S.js → FormatvalueWidget-BkF9iiHs.js} +3 -3
- package/dist/{FormatvalueWidget-BEwH0C7S.js.map → FormatvalueWidget-BkF9iiHs.js.map} +1 -1
- package/dist/{FormatvalueWidget-CpsyYKXD.cjs → FormatvalueWidget-DTsP7isW.cjs} +2 -2
- package/dist/{FormatvalueWidget-CpsyYKXD.cjs.map → FormatvalueWidget-DTsP7isW.cjs.map} +1 -1
- package/dist/{Graph-CbjlChwf.js → Graph-C-7C2Jq5.js} +139 -143
- package/dist/{Graph-CbjlChwf.js.map → Graph-C-7C2Jq5.js.map} +1 -1
- package/dist/Graph-YYieRGo0.cjs +2 -0
- package/dist/{Graph-kmTrth08.cjs.map → Graph-YYieRGo0.cjs.map} +1 -1
- package/dist/{GraphWidget-SamHg2AA.cjs → GraphWidget-C7hqdqL-.cjs} +2 -2
- package/dist/{GraphWidget-SamHg2AA.cjs.map → GraphWidget-C7hqdqL-.cjs.map} +1 -1
- package/dist/{GraphWidget-CjxnC0Dc.js → GraphWidget-DRkDn8za.js} +2 -2
- package/dist/{GraphWidget-CjxnC0Dc.js.map → GraphWidget-DRkDn8za.js.map} +1 -1
- package/dist/{HorizontalWidget-Dt8bkM3k.js → HorizontalWidget-DB64wzZB.js} +2 -2
- package/dist/{HorizontalWidget-Dt8bkM3k.js.map → HorizontalWidget-DB64wzZB.js.map} +1 -1
- package/dist/{HorizontalWidget-ByZjU21C.cjs → HorizontalWidget-h-U8i3G-.cjs} +2 -2
- package/dist/{HorizontalWidget-ByZjU21C.cjs.map → HorizontalWidget-h-U8i3G-.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-CdAZ5Sa6.js → HorizontalboxWidget-BsHsGlvK.js} +5 -5
- package/dist/{HorizontalboxWidget-CdAZ5Sa6.js.map → HorizontalboxWidget-BsHsGlvK.js.map} +1 -1
- package/dist/{HorizontalboxWidget-DzYz5SXs.cjs → HorizontalboxWidget-E4LUf2eN.cjs} +2 -2
- package/dist/{HorizontalboxWidget-DzYz5SXs.cjs.map → HorizontalboxWidget-E4LUf2eN.cjs.map} +1 -1
- package/dist/{HorizontallineWidget-CXZJTeU2.js → HorizontallineWidget-CyiexzIu.js} +2 -2
- package/dist/{HorizontallineWidget-CXZJTeU2.js.map → HorizontallineWidget-CyiexzIu.js.map} +1 -1
- package/dist/{HorizontallineWidget-C8Zhqxik.cjs → HorizontallineWidget-LibmHnAf.cjs} +2 -2
- package/dist/{HorizontallineWidget-C8Zhqxik.cjs.map → HorizontallineWidget-LibmHnAf.cjs.map} +1 -1
- package/dist/{IframeWidget-CrcWiAVE.js → IframeWidget-D9Vh0w2c.js} +2 -2
- package/dist/{IframeWidget-CrcWiAVE.js.map → IframeWidget-D9Vh0w2c.js.map} +1 -1
- package/dist/{IframeWidget-BuNXXziR.cjs → IframeWidget-xeXTxP_G.cjs} +2 -2
- package/dist/{IframeWidget-BuNXXziR.cjs.map → IframeWidget-xeXTxP_G.cjs.map} +1 -1
- package/dist/{ImageLoader-DPqax8yu.js → ImageLoader-B4iBPFyi.js} +2 -2
- package/dist/{ImageLoader-DPqax8yu.js.map → ImageLoader-B4iBPFyi.js.map} +1 -1
- package/dist/{ImageLoader-130w4tXJ.cjs → ImageLoader-Cc4-BNJv.cjs} +2 -2
- package/dist/{ImageLoader-130w4tXJ.cjs.map → ImageLoader-Cc4-BNJv.cjs.map} +1 -1
- package/dist/{ImageviewerWidget-CTEl6iPg.js → ImageviewerWidget-DqV4SClv.js} +2 -2
- package/dist/{ImageviewerWidget-CTEl6iPg.js.map → ImageviewerWidget-DqV4SClv.js.map} +1 -1
- package/dist/{ImageviewerWidget-CafLbLp2.cjs → ImageviewerWidget-KVt487SJ.cjs} +2 -2
- package/dist/{ImageviewerWidget-CafLbLp2.cjs.map → ImageviewerWidget-KVt487SJ.cjs.map} +1 -1
- package/dist/{InterfacesTab-B9ApLB5q.js → InterfacesTab-C310FRIP.js} +3 -3
- package/dist/{InterfacesTab-B9ApLB5q.js.map → InterfacesTab-C310FRIP.js.map} +1 -1
- package/dist/{InterfacesTab-wPQSLcSj.cjs → InterfacesTab-nZwg-ByS.cjs} +2 -2
- package/dist/{InterfacesTab-wPQSLcSj.cjs.map → InterfacesTab-nZwg-ByS.cjs.map} +1 -1
- package/dist/{LabelWidget-CPqKGMx0.js → LabelWidget-BDukcPet.js} +2 -2
- package/dist/{LabelWidget-CPqKGMx0.js.map → LabelWidget-BDukcPet.js.map} +1 -1
- package/dist/{LabelWidget-BfBP3Xme.cjs → LabelWidget-DYfv4K8h.cjs} +2 -2
- package/dist/{LabelWidget-BfBP3Xme.cjs.map → LabelWidget-DYfv4K8h.cjs.map} +1 -1
- package/dist/{LabelledWidget-CZvKfFNW.cjs → LabelledWidget-Dl1x6b3p.cjs} +2 -2
- package/dist/{LabelledWidget-CZvKfFNW.cjs.map → LabelledWidget-Dl1x6b3p.cjs.map} +1 -1
- package/dist/{LabelledWidget-BHYzRMFd.js → LabelledWidget-tVHE426s.js} +4 -4
- package/dist/{LabelledWidget-BHYzRMFd.js.map → LabelledWidget-tVHE426s.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-D9deeUo7.js → LabelprogressbarWidget-CjMDFUUv.js} +4 -4
- package/dist/{LabelprogressbarWidget-D9deeUo7.js.map → LabelprogressbarWidget-CjMDFUUv.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-Bv0G5oT3.cjs → LabelprogressbarWidget-DcO0gRM4.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-Bv0G5oT3.cjs.map → LabelprogressbarWidget-DcO0gRM4.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-dyqEroDN.cjs → LabelsparklineWidget-Cp2a-qlI.cjs} +2 -2
- package/dist/{LabelsparklineWidget-dyqEroDN.cjs.map → LabelsparklineWidget-Cp2a-qlI.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-7mYre3CP.js → LabelsparklineWidget-dZl3cGu0.js} +4 -4
- package/dist/{LabelsparklineWidget-7mYre3CP.js.map → LabelsparklineWidget-dZl3cGu0.js.map} +1 -1
- package/dist/{LabelvalueWidget-Bsl7Z3wM.cjs → LabelvalueWidget-CgP4mzP_.cjs} +2 -2
- package/dist/{LabelvalueWidget-Bsl7Z3wM.cjs.map → LabelvalueWidget-CgP4mzP_.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-NLsD60n4.js → LabelvalueWidget-UcAc_2Ry.js} +4 -4
- package/dist/{LabelvalueWidget-NLsD60n4.js.map → LabelvalueWidget-UcAc_2Ry.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-B_Xih-c5.cjs → LabelvaluedescWidget-CXJ037Qs.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-B_Xih-c5.cjs.map → LabelvaluedescWidget-CXJ037Qs.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-DXROG4Gs.js → LabelvaluedescWidget-Crb8udVe.js} +5 -5
- package/dist/{LabelvaluedescWidget-DXROG4Gs.js.map → LabelvaluedescWidget-Crb8udVe.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-DDd0RIs5.cjs → LabelvaluelimitsbarWidget-B3cn7i50.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-DDd0RIs5.cjs.map → LabelvaluelimitsbarWidget-B3cn7i50.cjs.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-DqVqHF4W.js → LabelvaluelimitsbarWidget-BZGUQrRt.js} +4 -4
- package/dist/{LabelvaluelimitsbarWidget-DqVqHF4W.js.map → LabelvaluelimitsbarWidget-BZGUQrRt.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-C1aqkXh5.cjs → LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-C1aqkXh5.cjs.map → LabelvaluelimitscolumnWidget-DbBOkQ8R.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-BK6_31pC.js → LabelvaluelimitscolumnWidget-NNYW2aMO.js} +5 -5
- package/dist/{LabelvaluelimitscolumnWidget-BK6_31pC.js.map → LabelvaluelimitscolumnWidget-NNYW2aMO.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-a8u5LXBD.cjs → LabelvaluerangebarWidget-B81fLpK0.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-a8u5LXBD.cjs.map → LabelvaluerangebarWidget-B81fLpK0.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-DR7C8gqw.js → LabelvaluerangebarWidget-CjkVDlVJ.js} +4 -4
- package/dist/{LabelvaluerangebarWidget-DR7C8gqw.js.map → LabelvaluerangebarWidget-CjkVDlVJ.js.map} +1 -1
- package/dist/{Layout-B_Hgw3gd.js → Layout-FpBx3iic.js} +2 -2
- package/dist/{Layout-B_Hgw3gd.js.map → Layout-FpBx3iic.js.map} +1 -1
- package/dist/{Layout-CVGghwYm.cjs → Layout-K7_I6jMV.cjs} +2 -2
- package/dist/{Layout-CVGghwYm.cjs.map → Layout-K7_I6jMV.cjs.map} +1 -1
- package/dist/{LedWidget-CiAVs2tj.js → LedWidget-Bsp1aja-.js} +4 -4
- package/dist/{LedWidget-CiAVs2tj.js.map → LedWidget-Bsp1aja-.js.map} +1 -1
- package/dist/{LedWidget-Cmy47xfg.cjs → LedWidget-C19KREVz.cjs} +2 -2
- package/dist/{LedWidget-Cmy47xfg.cjs.map → LedWidget-C19KREVz.cjs.map} +1 -1
- package/dist/{LimitsBar-_UQG-M6e.js → LimitsBar-IVv8t4FE.js} +2 -2
- package/dist/{LimitsBar-_UQG-M6e.js.map → LimitsBar-IVv8t4FE.js.map} +1 -1
- package/dist/{LimitsBar-DTtMywOw.cjs → LimitsBar-LRiUSWd7.cjs} +2 -2
- package/dist/{LimitsBar-DTtMywOw.cjs.map → LimitsBar-LRiUSWd7.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-CYm_f1FN.cjs → LimitsbarWidget-BFjMhTbA.cjs} +2 -2
- package/dist/{LimitsbarWidget-CYm_f1FN.cjs.map → LimitsbarWidget-BFjMhTbA.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-CIwcOhC8.js → LimitsbarWidget-Bo1JAoQp.js} +3 -3
- package/dist/{LimitsbarWidget-CIwcOhC8.js.map → LimitsbarWidget-Bo1JAoQp.js.map} +1 -1
- package/dist/{LimitscolorWidget-oH6NGl1C.cjs → LimitscolorWidget-D214kS86.cjs} +2 -2
- package/dist/{LimitscolorWidget-oH6NGl1C.cjs.map → LimitscolorWidget-D214kS86.cjs.map} +1 -1
- package/dist/{LimitscolorWidget-CGPfJwvT.js → LimitscolorWidget-Doq8h_g1.js} +2 -2
- package/dist/{LimitscolorWidget-CGPfJwvT.js.map → LimitscolorWidget-Doq8h_g1.js.map} +1 -1
- package/dist/{LimitscolumnWidget-CnGOCckG.cjs → LimitscolumnWidget-BREF_CBr.cjs} +2 -2
- package/dist/{LimitscolumnWidget-CnGOCckG.cjs.map → LimitscolumnWidget-BREF_CBr.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-Bj_UPEC8.js → LimitscolumnWidget-qasXHN7m.js} +2 -2
- package/dist/{LimitscolumnWidget-Bj_UPEC8.js.map → LimitscolumnWidget-qasXHN7m.js.map} +1 -1
- package/dist/{LinegraphWidget-DccnHbWa.js → LinegraphWidget-BNMqcr_r.js} +4 -4
- package/dist/{LinegraphWidget-DccnHbWa.js.map → LinegraphWidget-BNMqcr_r.js.map} +1 -1
- package/dist/{LinegraphWidget-zHs3NG-6.cjs → LinegraphWidget-BhpYKxnT.cjs} +2 -2
- package/dist/{LinegraphWidget-zHs3NG-6.cjs.map → LinegraphWidget-BhpYKxnT.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-Dd-udu5V.cjs → MatrixbycolumnsWidget-BKXkhATe.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-Dd-udu5V.cjs.map → MatrixbycolumnsWidget-BKXkhATe.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-U_NZ6aW-.js → MatrixbycolumnsWidget-BlF1CyIT.js} +3 -3
- package/dist/{MatrixbycolumnsWidget-U_NZ6aW-.js.map → MatrixbycolumnsWidget-BlF1CyIT.js.map} +1 -1
- package/dist/{MicroservicesTab-DXgSxZ0K.cjs → MicroservicesTab-BWFwBSuf.cjs} +2 -2
- package/dist/{MicroservicesTab-DXgSxZ0K.cjs.map → MicroservicesTab-BWFwBSuf.cjs.map} +1 -1
- package/dist/{MicroservicesTab-DG3rdksb.js → MicroservicesTab-xpDXKoa-.js} +3 -3
- package/dist/{MicroservicesTab-DG3rdksb.js.map → MicroservicesTab-xpDXKoa-.js.map} +1 -1
- package/dist/OpenC3TimePicker-6pE8gGCO.cjs +2 -0
- package/dist/OpenC3TimePicker-6pE8gGCO.cjs.map +1 -0
- package/dist/OpenC3TimePicker-D-_qqySI.js +219 -0
- package/dist/OpenC3TimePicker-D-_qqySI.js.map +1 -0
- package/dist/{Openc3Screen-CDwAWaTl.js → Openc3Screen-DYJHNotN.js} +707 -509
- package/dist/Openc3Screen-DYJHNotN.js.map +1 -0
- package/dist/Openc3Screen-Pu1ktpS8.cjs +6 -0
- package/dist/Openc3Screen-Pu1ktpS8.cjs.map +1 -0
- package/dist/{OutputDialog-D2YCbR20.cjs → OutputDialog-BwEWPQW9.cjs} +2 -2
- package/dist/{OutputDialog-D2YCbR20.cjs.map → OutputDialog-BwEWPQW9.cjs.map} +1 -1
- package/dist/{OutputDialog-Di-pSmJE.js → OutputDialog-x4QZFAWe.js} +2 -2
- package/dist/{OutputDialog-Di-pSmJE.js.map → OutputDialog-x4QZFAWe.js.map} +1 -1
- package/dist/{PackagesTab-C-fV9yxw.cjs → PackagesTab-CHwfaqdP.cjs} +2 -2
- package/dist/{PackagesTab-C-fV9yxw.cjs.map → PackagesTab-CHwfaqdP.cjs.map} +1 -1
- package/dist/{PackagesTab-Bui5q3rX.js → PackagesTab-rzc4hqOb.js} +3 -3
- package/dist/{PackagesTab-Bui5q3rX.js.map → PackagesTab-rzc4hqOb.js.map} +1 -1
- package/dist/{PluginsTab-DxxlKeVx.cjs → PluginsTab-C7gLbRQn.cjs} +2 -2
- package/dist/{PluginsTab-DxxlKeVx.cjs.map → PluginsTab-C7gLbRQn.cjs.map} +1 -1
- package/dist/{PluginsTab-zR9eZuvc.js → PluginsTab-Dff_0j26.js} +4 -4
- package/dist/{PluginsTab-zR9eZuvc.js.map → PluginsTab-Dff_0j26.js.map} +1 -1
- package/dist/{ProgressbarWidget-D4JtVzyk.js → ProgressbarWidget-DQ80NANH.js} +2 -2
- package/dist/{ProgressbarWidget-D4JtVzyk.js.map → ProgressbarWidget-DQ80NANH.js.map} +1 -1
- package/dist/{ProgressbarWidget-Cxvwcfgn.cjs → ProgressbarWidget-cQAtX_Q7.cjs} +2 -2
- package/dist/{ProgressbarWidget-Cxvwcfgn.cjs.map → ProgressbarWidget-cQAtX_Q7.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-Ccgftl13.cjs → RadiobuttonWidget-DFrUZRaV.cjs} +2 -2
- package/dist/{RadiobuttonWidget-Ccgftl13.cjs.map → RadiobuttonWidget-DFrUZRaV.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-BUaW7pRx.js → RadiobuttonWidget-LD18M4IQ.js} +2 -2
- package/dist/{RadiobuttonWidget-BUaW7pRx.js.map → RadiobuttonWidget-LD18M4IQ.js.map} +1 -1
- package/dist/{RadiogroupWidget-NIv4CaUQ.js → RadiogroupWidget-D_pt2MPz.js} +2 -2
- package/dist/{RadiogroupWidget-NIv4CaUQ.js.map → RadiogroupWidget-D_pt2MPz.js.map} +1 -1
- package/dist/{RadiogroupWidget-CSxjpxCr.cjs → RadiogroupWidget-ljP05k3g.cjs} +2 -2
- package/dist/{RadiogroupWidget-CSxjpxCr.cjs.map → RadiogroupWidget-ljP05k3g.cjs.map} +1 -1
- package/dist/{RangebarWidget-BtxfPo-U.cjs → RangebarWidget-BsLWXvTo.cjs} +2 -2
- package/dist/{RangebarWidget-BtxfPo-U.cjs.map → RangebarWidget-BsLWXvTo.cjs.map} +1 -1
- package/dist/{RangebarWidget-1-CsFpcl.js → RangebarWidget-DhaWpHjB.js} +2 -2
- package/dist/{RangebarWidget-1-CsFpcl.js.map → RangebarWidget-DhaWpHjB.js.map} +1 -1
- package/dist/{RedisTab-DuO-zUV3.js → RedisTab-C3yjh0JX.js} +2 -2
- package/dist/{RedisTab-DuO-zUV3.js.map → RedisTab-C3yjh0JX.js.map} +1 -1
- package/dist/{RedisTab-DOozcC9a.cjs → RedisTab-DEKMLop2.cjs} +2 -2
- package/dist/{RedisTab-DOozcC9a.cjs.map → RedisTab-DEKMLop2.cjs.map} +1 -1
- package/dist/{RollupWidget-ChasTJYP.js → RollupWidget-CMU1-HwL.js} +2 -2
- package/dist/{RollupWidget-ChasTJYP.js.map → RollupWidget-CMU1-HwL.js.map} +1 -1
- package/dist/{RollupWidget-CQxl1mlr.cjs → RollupWidget-sXTyo7zH.cjs} +2 -2
- package/dist/{RollupWidget-CQxl1mlr.cjs.map → RollupWidget-sXTyo7zH.cjs.map} +1 -1
- package/dist/{RoutersTab-C0UHSj-S.js → RoutersTab-DaWde6np.js} +3 -3
- package/dist/{RoutersTab-C0UHSj-S.js.map → RoutersTab-DaWde6np.js.map} +1 -1
- package/dist/{RoutersTab-DgWAXGUv.cjs → RoutersTab-IKuEHQeO.cjs} +2 -2
- package/dist/{RoutersTab-DgWAXGUv.cjs.map → RoutersTab-IKuEHQeO.cjs.map} +1 -1
- package/dist/{ScriptChooser-D1dddugi.cjs → ScriptChooser-BmyV6QQD.cjs} +2 -2
- package/dist/{ScriptChooser-D1dddugi.cjs.map → ScriptChooser-BmyV6QQD.cjs.map} +1 -1
- package/dist/{ScriptChooser-C5HHbbcP.js → ScriptChooser-DCjI5aeZ.js} +4 -4
- package/dist/{ScriptChooser-C5HHbbcP.js.map → ScriptChooser-DCjI5aeZ.js.map} +1 -1
- package/dist/{ScrollwindowWidget-Bkyjw0Qt.cjs → ScrollwindowWidget-BcLF_bhy.cjs} +2 -2
- package/dist/{ScrollwindowWidget-Bkyjw0Qt.cjs.map → ScrollwindowWidget-BcLF_bhy.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-Y2J758y6.js → ScrollwindowWidget-D7Ln-QMq.js} +2 -2
- package/dist/{ScrollwindowWidget-Y2J758y6.js.map → ScrollwindowWidget-D7Ln-QMq.js.map} +1 -1
- package/dist/{SecretsTab-Ds3kGOmd.cjs → SecretsTab-BM9HIjT_.cjs} +2 -2
- package/dist/{SecretsTab-Ds3kGOmd.cjs.map → SecretsTab-BM9HIjT_.cjs.map} +1 -1
- package/dist/{SecretsTab-c5g8Zk4g.js → SecretsTab-Dhal1RCq.js} +2 -2
- package/dist/{SecretsTab-c5g8Zk4g.js.map → SecretsTab-Dhal1RCq.js.map} +1 -1
- package/dist/SettingsTab-BrSkK_Fs.cjs +3 -0
- package/dist/SettingsTab-BrSkK_Fs.cjs.map +1 -0
- package/dist/{SettingsTab-CTd3_Ipy.js → SettingsTab-Dtj_AlEW.js} +249 -136
- package/dist/SettingsTab-Dtj_AlEW.js.map +1 -0
- package/dist/{SignalWidget-BkTXZpGV.cjs → SignalWidget-DHwveppA.cjs} +2 -2
- package/dist/{SignalWidget-BkTXZpGV.cjs.map → SignalWidget-DHwveppA.cjs.map} +1 -1
- package/dist/{SignalWidget-DFhHDicI.js → SignalWidget-PreTg4Mt.js} +2 -2
- package/dist/{SignalWidget-DFhHDicI.js.map → SignalWidget-PreTg4Mt.js.map} +1 -1
- package/dist/{SimpleTextDialog-Dv5ypyUQ.cjs → SimpleTextDialog-Bdw3jul4.cjs} +2 -2
- package/dist/{SimpleTextDialog-Dv5ypyUQ.cjs.map → SimpleTextDialog-Bdw3jul4.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-CXIEKlX0.js → SimpleTextDialog-DDIm5Znf.js} +2 -2
- package/dist/{SimpleTextDialog-CXIEKlX0.js.map → SimpleTextDialog-DDIm5Znf.js.map} +1 -1
- package/dist/{SpacerWidget-D4KojaGb.js → SpacerWidget-Chy1NO28.js} +2 -2
- package/dist/{SpacerWidget-D4KojaGb.js.map → SpacerWidget-Chy1NO28.js.map} +1 -1
- package/dist/{SpacerWidget-HsSCc07C.cjs → SpacerWidget-Cj-j_MsG.cjs} +2 -2
- package/dist/{SpacerWidget-HsSCc07C.cjs.map → SpacerWidget-Cj-j_MsG.cjs.map} +1 -1
- package/dist/{SparklineWidget-BdRM-ymk.cjs → SparklineWidget-BE1LieLF.cjs} +2 -2
- package/dist/{SparklineWidget-BdRM-ymk.cjs.map → SparklineWidget-BE1LieLF.cjs.map} +1 -1
- package/dist/{SparklineWidget-DMHFzw8L.js → SparklineWidget-Bb-gCNNt.js} +4 -4
- package/dist/{SparklineWidget-DMHFzw8L.js.map → SparklineWidget-Bb-gCNNt.js.map} +1 -1
- package/dist/{TabbookWidget-NmIK-Lgf.cjs → TabbookWidget-FNbiZpjn.cjs} +2 -2
- package/dist/{TabbookWidget-NmIK-Lgf.cjs.map → TabbookWidget-FNbiZpjn.cjs.map} +1 -1
- package/dist/{TabbookWidget-NVLYMdFG.js → TabbookWidget-a-LsBhBE.js} +2 -2
- package/dist/{TabbookWidget-NVLYMdFG.js.map → TabbookWidget-a-LsBhBE.js.map} +1 -1
- package/dist/TargetPacketItemChooser-BPRByyfB.cjs +2 -0
- package/dist/TargetPacketItemChooser-BPRByyfB.cjs.map +1 -0
- package/dist/{TargetPacketItemChooser-D5h9Octy.js → TargetPacketItemChooser-DDqBQTWC.js} +179 -146
- package/dist/TargetPacketItemChooser-DDqBQTWC.js.map +1 -0
- package/dist/{TargetsTab-b35HgnRl.js → TargetsTab-C7Pn5-19.js} +3 -3
- package/dist/{TargetsTab-b35HgnRl.js.map → TargetsTab-C7Pn5-19.js.map} +1 -1
- package/dist/{TargetsTab-JLjpJ1wn.cjs → TargetsTab-dndajwC_.cjs} +2 -2
- package/dist/{TargetsTab-JLjpJ1wn.cjs.map → TargetsTab-dndajwC_.cjs.map} +1 -1
- package/dist/{TextboxWidget-CrMYPQIF.js → TextboxWidget-DIHEOldN.js} +4 -4
- package/dist/{TextboxWidget-CrMYPQIF.js.map → TextboxWidget-DIHEOldN.js.map} +1 -1
- package/dist/{TextboxWidget-xk3OFSUZ.cjs → TextboxWidget-DYTNipbi.cjs} +2 -2
- package/dist/{TextboxWidget-xk3OFSUZ.cjs.map → TextboxWidget-DYTNipbi.cjs.map} +1 -1
- package/dist/{TextfieldWidget-DnnKM6vS.cjs → TextfieldWidget-BE-HpIKs.cjs} +2 -2
- package/dist/{TextfieldWidget-DnnKM6vS.cjs.map → TextfieldWidget-BE-HpIKs.cjs.map} +1 -1
- package/dist/{TextfieldWidget-DMBQwtnb.js → TextfieldWidget-CIBo7Dau.js} +2 -2
- package/dist/{TextfieldWidget-DMBQwtnb.js.map → TextfieldWidget-CIBo7Dau.js.map} +1 -1
- package/dist/TimeWidget-CLuOYfPP.js +43 -0
- package/dist/TimeWidget-CLuOYfPP.js.map +1 -0
- package/dist/TimeWidget-RYL7zDoC.cjs +2 -0
- package/dist/TimeWidget-RYL7zDoC.cjs.map +1 -0
- package/dist/{TitleWidget-V1FGI8l3.js → TitleWidget-BTHKLAsb.js} +2 -2
- package/dist/{TitleWidget-V1FGI8l3.js.map → TitleWidget-BTHKLAsb.js.map} +1 -1
- package/dist/{TitleWidget-CfFyUkSu.cjs → TitleWidget-DVWOhZqJ.cjs} +2 -2
- package/dist/{TitleWidget-CfFyUkSu.cjs.map → TitleWidget-DVWOhZqJ.cjs.map} +1 -1
- package/dist/{ToolsTab-jUNdj09m.cjs → ToolsTab-D4LFT4tV.cjs} +2 -2
- package/dist/{ToolsTab-jUNdj09m.cjs.map → ToolsTab-D4LFT4tV.cjs.map} +1 -1
- package/dist/{ToolsTab-7qOQPnN3.js → ToolsTab-D5yhjVM0.js} +3 -3
- package/dist/{ToolsTab-7qOQPnN3.js.map → ToolsTab-D5yhjVM0.js.map} +1 -1
- package/dist/{TopBar-DdOFDiCo.cjs → TopBar-DUdrFsMv.cjs} +2 -2
- package/dist/{TopBar-DdOFDiCo.cjs.map → TopBar-DUdrFsMv.cjs.map} +1 -1
- package/dist/{TopBar-BkwvK0oj.js → TopBar-DzxJ69Tt.js} +2 -2
- package/dist/{TopBar-BkwvK0oj.js.map → TopBar-DzxJ69Tt.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-CEUcvlkx.js → UpgradeToEnterpriseDialog-Bf6rEOgp.js} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-CEUcvlkx.js.map → UpgradeToEnterpriseDialog-Bf6rEOgp.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-CP-jJxU4.cjs → UpgradeToEnterpriseDialog-CujyHt2o.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-CP-jJxU4.cjs.map → UpgradeToEnterpriseDialog-CujyHt2o.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs} +77 -77
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-Bjn8x8eE.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js} +5471 -5449
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-NXWdTcR2.js.map} +1 -1
- package/dist/{VWidget-rAFU-0vj.js → VWidget-BcwkHuIT.js} +3 -3
- package/dist/{VWidget-rAFU-0vj.js.map → VWidget-BcwkHuIT.js.map} +1 -1
- package/dist/{VWidget-BJArPtqI.cjs → VWidget-CbdjSkP3.cjs} +2 -2
- package/dist/{VWidget-BJArPtqI.cjs.map → VWidget-CbdjSkP3.cjs.map} +1 -1
- package/dist/{ValueWidget-BI3uXmda.js → ValueWidget-BubIamVx.js} +4 -4
- package/dist/{ValueWidget-BI3uXmda.js.map → ValueWidget-BubIamVx.js.map} +1 -1
- package/dist/{ValueWidget-CwuH7beM.cjs → ValueWidget-CgAl2Av2.cjs} +2 -2
- package/dist/{ValueWidget-CwuH7beM.cjs.map → ValueWidget-CgAl2Av2.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-BGSJLpw4.js → ValuelimitsbarWidget-DKTrV1RT.js} +4 -4
- package/dist/{ValuelimitsbarWidget-BGSJLpw4.js.map → ValuelimitsbarWidget-DKTrV1RT.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-BSkGhA_y.cjs → ValuelimitsbarWidget-Dn_sS0zt.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-BSkGhA_y.cjs.map → ValuelimitsbarWidget-Dn_sS0zt.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-BXdPahDO.cjs → ValuelimitscolumnWidget-CGhifOZI.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-BXdPahDO.cjs.map → ValuelimitscolumnWidget-CGhifOZI.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-CaNjHy4v.js → ValuelimitscolumnWidget-D8JIK4Zi.js} +4 -4
- package/dist/{ValuelimitscolumnWidget-CaNjHy4v.js.map → ValuelimitscolumnWidget-D8JIK4Zi.js.map} +1 -1
- package/dist/{ValuerangebarWidget-Do40-aaL.js → ValuerangebarWidget-D8hVKp0l.js} +4 -4
- package/dist/{ValuerangebarWidget-Do40-aaL.js.map → ValuerangebarWidget-D8hVKp0l.js.map} +1 -1
- package/dist/{ValuerangebarWidget-DvWGqBNM.cjs → ValuerangebarWidget-DPtR-Dla.cjs} +2 -2
- package/dist/{ValuerangebarWidget-DvWGqBNM.cjs.map → ValuerangebarWidget-DPtR-Dla.cjs.map} +1 -1
- package/dist/{VerticalWidget-DZqghqIm.js → VerticalWidget-DMp3DXGa.js} +2 -2
- package/dist/{VerticalWidget-DZqghqIm.js.map → VerticalWidget-DMp3DXGa.js.map} +1 -1
- package/dist/{VerticalWidget-y238HI2A.cjs → VerticalWidget-DScGTfwX.cjs} +2 -2
- package/dist/{VerticalWidget-y238HI2A.cjs.map → VerticalWidget-DScGTfwX.cjs.map} +1 -1
- package/dist/{VerticalboxWidget--dgKnG5Z.cjs → VerticalboxWidget-CIJ1c7WU.cjs} +2 -2
- package/dist/{VerticalboxWidget--dgKnG5Z.cjs.map → VerticalboxWidget-CIJ1c7WU.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-CQ__4FcS.js → VerticalboxWidget-CVf1d_3_.js} +5 -5
- package/dist/{VerticalboxWidget-CQ__4FcS.js.map → VerticalboxWidget-CVf1d_3_.js.map} +1 -1
- package/dist/{Widget-DdxHKVWn.cjs → Widget-Btu2EoLT.cjs} +2 -2
- package/dist/{Widget-DdxHKVWn.cjs.map → Widget-Btu2EoLT.cjs.map} +1 -1
- package/dist/{Widget-6-Nvewdp.js → Widget-D4rzBHnr.js} +2 -2
- package/dist/{Widget-6-Nvewdp.js.map → Widget-D4rzBHnr.js.map} +1 -1
- package/dist/components.cjs +3 -3
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +383 -218
- package/dist/components.js.map +1 -1
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js.map +1 -1
- package/dist/{settings-BCE3SW-9.cjs → settings-B9vbjzwV.cjs} +2 -2
- package/dist/{settings-BCE3SW-9.cjs.map → settings-B9vbjzwV.cjs.map} +1 -1
- package/dist/{settings-CHPWZcnU.js → settings-Ctcx_wMT.js} +2 -2
- package/dist/{settings-CHPWZcnU.js.map → settings-Ctcx_wMT.js.map} +1 -1
- package/dist/tools/admin.cjs +4 -5
- package/dist/tools/admin.cjs.map +1 -1
- package/dist/tools/admin.js +936 -823
- package/dist/tools/admin.js.map +1 -1
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.js +3 -3
- 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 +905 -976
- 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 +4 -4
- package/dist/EventListDialog-BshKrOuQ.js.map +0 -1
- package/dist/EventListDialog-D0iBpLSR.cjs +0 -2
- package/dist/EventListDialog-D0iBpLSR.cjs.map +0 -1
- package/dist/Graph-kmTrth08.cjs +0 -2
- package/dist/Openc3Screen-CDwAWaTl.js.map +0 -1
- package/dist/Openc3Screen-CKs-49JN.cjs +0 -6
- package/dist/Openc3Screen-CKs-49JN.cjs.map +0 -1
- package/dist/SettingsTab-CTd3_Ipy.js.map +0 -1
- package/dist/SettingsTab-DMPRJELP.cjs +0 -3
- package/dist/SettingsTab-DMPRJELP.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-B0IVMSib.cjs +0 -2
- package/dist/TargetPacketItemChooser-B0IVMSib.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-D5h9Octy.js.map +0 -1
- package/dist/TimeWidget-CWLJZ2bt.js +0 -40
- package/dist/TimeWidget-CWLJZ2bt.js.map +0 -1
- package/dist/TimeWidget-W-flXfLb.cjs +0 -2
- package/dist/TimeWidget-W-flXfLb.cjs.map +0 -1
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),f=require("./CustomIcon-CEc927h0.cjs");require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs");const S=require("./TopBar-DdOFDiCo.cjs"),_=require("./settings-BCE3SW-9.cjs"),D={data(){return{suppressedWarnings:[],selectedSuppressedWarnings:[],selectAllSuppressedWarnings:!1}},watch:{selectAllSuppressedWarnings:function(o){o?this.selectedSuppressedWarnings=this.suppressedWarnings.map(t=>t.key):this.selectedSuppressedWarnings=[]}},created(){this.loadSuppressedWarnings()},methods:{loadSuppressedWarnings:function(){this.suppressedWarnings=Object.keys(localStorage).filter(o=>o.startsWith("suppresswarning__")).map(this.localStorageKeyToDisplayObject),this.selectedSuppressedWarnings=[]},localStorageKeyToDisplayObject:function(o){const t=o.split("__")[1].replaceAll("_"," ");return{key:o,text:t.charAt(0).toUpperCase()+t.slice(1),value:localStorage[o]}},resetSuppressedWarnings:function(){this.deleteLocalStorageKeys(this.selectedSuppressedWarnings),this.loadSuppressedWarnings()},deleteLocalStorageKeys:function(o){for(const t of o)delete localStorage[t]}}};function A(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-checkbox"),i=e.resolveComponent("v-card-text"),d=e.resolveComponent("v-btn"),c=e.resolveComponent("v-card-actions"),v=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(v,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode("Reset suppressed warnings",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(` This resets "don't show this again" dialogs on this browser `,-1)])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[n.suppressedWarnings.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(s,{modelValue:n.selectAllSuppressedWarnings,"onUpdate:modelValue":t[0]||(t[0]=r=>n.selectAllSuppressedWarnings=r),label:"Select All Warnings",density:"compact"},null,8,["modelValue"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.suppressedWarnings,r=>(e.openBlock(),e.createBlock(s,{key:r.key,modelValue:n.selectedSuppressedWarnings,"onUpdate:modelValue":t[1]||(t[1]=l=>n.selectedSuppressedWarnings=l),label:r.text,value:r.key,density:"compact","hide-details":""},null,8,["modelValue","label","value"]))),128))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" No warnings to reset ")],64))]),_:1}),e.createVNode(c,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(d,{disabled:!n.selectedSuppressedWarnings.length,color:"warning",variant:"text","data-test":"reset-suppressed-warnings",onClick:m.resetSuppressedWarnings},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Reset ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const O=f._export_sfc(D,[["render",A]]),H={data(){return{lastConfigs:[],selectedLastConfigs:[],selectAllLastConfigs:!1}},watch:{selectAllLastConfigs:function(o){o?this.selectedLastConfigs=this.lastConfigs.map(t=>t.key):this.selectedLastConfigs=[]}},created(){this.loadLastConfigs()},methods:{loadLastConfigs:function(){this.lastConfigs=Object.keys(localStorage).filter(o=>o.endsWith("__default")).map(o=>{const t=o.split("__")[0].replaceAll("_"," ");return{key:o,text:t.charAt(0).toUpperCase()+t.slice(1)}}),this.selectedLastConfigs=[]},clearLastConfigs:function(){this.deleteLocalStorageKeys(this.selectedLastConfigs),this.loadLastConfigs()},deleteLocalStorageKeys:function(o){for(const t of o)delete localStorage[t]}}};function R(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-checkbox"),i=e.resolveComponent("v-card-text"),d=e.resolveComponent("v-btn"),c=e.resolveComponent("v-card-actions"),v=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(v,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode(" Clear default configs ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" This clears the default tool configs on this browser ",-1)])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[n.lastConfigs.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(s,{modelValue:n.selectAllLastConfigs,"onUpdate:modelValue":t[0]||(t[0]=r=>n.selectAllLastConfigs=r),label:"Select All Configs",density:"compact"},null,8,["modelValue"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.lastConfigs,r=>(e.openBlock(),e.createBlock(s,{key:r.key,modelValue:n.selectedLastConfigs,"onUpdate:modelValue":t[1]||(t[1]=l=>n.selectedLastConfigs=l),label:r.text,value:r.key,"hide-details":"",density:"compact"},null,8,["modelValue","label","value"]))),128))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" No configs to clear ")],64))]),_:1}),e.createVNode(c,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(d,{disabled:!n.selectedLastConfigs.length,color:"warning",variant:"text","data-test":"clear-default-configs",onClick:m.clearLastConfigs},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Clear ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const q=f._export_sfc(H,[["render",R]]),M={data(){return{vimMode:S.AceEditorUtils.isVimModeEnabled(),defaultLanguage:S.AceEditorUtils.getDefaultScriptingLanguage(),languageOptions:[{text:"Ruby",value:"ruby"},{text:"Python",value:"python"}]}},methods:{save:function(){S.AceEditorUtils.setVimMode(this.vimMode),S.AceEditorUtils.setDefaultScriptingLanguage(this.defaultLanguage)}}};function P(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-select"),i=e.resolveComponent("v-switch"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode(" Code Editor Settings ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" Settings for the code editors built into COSMOS (e.g. in Script Runner) ",-1)])]),_:1}),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(s,{modelValue:n.defaultLanguage,"onUpdate:modelValue":t[0]||(t[0]=l=>n.defaultLanguage=l),label:"Default scripting language",items:n.languageOptions,"item-title":"text","item-value":"value",color:"primary",class:"mt-4","data-test":"default-language"},null,8,["modelValue","items"]),e.createVNode(i,{modelValue:n.vimMode,"onUpdate:modelValue":t[1]||(t[1]=l=>n.vimMode=l),label:"Vim mode",color:"primary"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{color:"success",variant:"text","data-test":"save-editor-settings",onClick:m.save},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const j=f._export_sfc(M,[["render",P]]),y="astro",Z={mixins:[_.Settings],data(){return{hideClock:!1}},created(){this.loadSetting(y)},methods:{save(){this.saveSetting(y,JSON.stringify({hideClock:this.hideClock}))},parseSetting:function(o){if(o){let t=JSON.parse(o);this.hideClock=t.hideClock}}}};function z(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-alert"),s=e.resolveComponent("v-switch"),i=e.resolveComponent("v-card-text"),d=e.resolveComponent("v-btn"),c=e.resolveComponent("v-card-actions"),v=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(v,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Astro Settings",-1)])]),_:1}),e.createVNode(a,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=r=>o.errorLoading=r),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=r=>o.errorSaving=r),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=r=>o.successSaving=r),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(i,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(s,{modelValue:n.hideClock,"onUpdate:modelValue":t[3]||(t[3]=r=>n.hideClock=r),label:"Hide Astro Clock",color:"primary"},null,8,["modelValue"])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(d,{color:"success",variant:"text","data-test":"save-astro-settings",onClick:m.save},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const J=f._export_sfc(Z,[["render",z]]),k="classification_banner",K={mixins:[_.Settings],data(){return{text:"",displayTopBanner:!1,displayBottomBanner:!1,topHeight:0,bottomHeight:0,selectedBackgroundColor:"red",customBackgroundColor:"",selectedFontColor:"white",customFontColor:"",customColorHint:"Enter a 3 or 6-digit hex color code",colors:[{text:"Yellow",value:"yellow"},{text:"Orange",value:"orange"},{text:"Red",value:"red"},{text:"Purple",value:"purple"},{text:"Blue",value:"blue"},{text:"Green",value:"green"},{text:"Black",value:"black"},{text:"White",value:"white"},{text:"Custom",value:!1}],rules:{customColor:o=>/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(o)||this.customColorHint}}},computed:{saveObj:function(){return JSON.stringify({text:this.text,fontColor:this.selectedFontColor||this.customFontColor,backgroundColor:this.selectedBackgroundColor||this.customBackgroundColor,topHeight:this.displayTopBanner?this.topHeight:0,bottomHeight:this.displayBottomBanner?this.bottomHeight:0})},formValid:function(){return(this.selectedFontColor||this.rules.customColor(this.customFontColor)===!0)&&(this.selectedBackgroundColor||this.rules.customColor(this.customBackgroundColor)===!0)}},watch:{displayTopBanner:function(o){o?this.topHeight=20:this.topHeight=0},displayBottomBanner:function(o){o?this.bottomHeight=20:this.bottomHeight=0},customFontColor:function(o){o&&o.length&&!o.startsWith("#")&&(this.customFontColor=`#${o}`)},customBackgroundColor:function(o){o&&o.length&&!o.startsWith("#")&&(this.customBackgroundColor=`#${o}`)}},created(){this.loadSetting(k)},methods:{save(){this.saveSetting(k,this.saveObj)},parseSetting:function(o){if(o){const t=JSON.parse(o);this.text=t.text,this.topHeight=t.topHeight,this.bottomHeight=t.bottomHeight,this.displayTopBanner=t.topHeight!==0,this.displayBottomBanner=t.bottomHeight!==0,t.backgroundColor&&t.backgroundColor.startsWith("#")?(this.customBackgroundColor=t.backgroundColor,this.selectedBackgroundColor=!1):this.selectedBackgroundColor=t.backgroundColor,t.fontColor&&t.fontColor.startsWith("#")?(this.customFontColor=t.fontColor,this.selectedFontColor=!1):this.selectedFontColor=t.fontColor}}}};function G(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-alert"),s=e.resolveComponent("v-text-field"),i=e.resolveComponent("v-col"),d=e.resolveComponent("v-row"),c=e.resolveComponent("v-icon"),v=e.resolveComponent("v-list-item"),r=e.resolveComponent("v-select"),l=e.resolveComponent("v-switch"),N=e.resolveComponent("v-card-text"),h=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(w,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode("Classification Banner Settings",-1)])]),_:1}),e.createVNode(a,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=u=>o.errorLoading=u),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=u=>o.errorSaving=u),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=u=>o.successSaving=u),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(N,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{modelValue:n.text,"onUpdate:modelValue":t[3]||(t[3]=u=>n.text=u),label:"Text","data-test":"classification-banner-text"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(r,{modelValue:n.selectedBackgroundColor,"onUpdate:modelValue":t[4]||(t[4]=u=>n.selectedBackgroundColor=u),label:"Background color",items:n.colors,"item-title":"text","data-test":"classification-banner-background-color"},e.createSlots({item:e.withCtx(({props:u,item:p})=>[e.createVNode(v,e.mergeProps(u,{value:p.text}),{prepend:e.withCtx(()=>[p.value?(e.openBlock(),e.createBlock(c,{key:0,color:p.value},{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])):e.createCommentVNode("",!0)]),_:2},1040,["value"])]),_:2},[n.selectedBackgroundColor?{name:"prepend-inner",fn:e.withCtx(()=>[e.createVNode(c,{color:n.selectedBackgroundColor},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])]),key:"0"}:void 0]),1032,["modelValue","items"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{modelValue:n.customBackgroundColor,"onUpdate:modelValue":t[5]||(t[5]=u=>n.customBackgroundColor=u),label:"Custom background color",hint:n.customColorHint,disabled:n.selectedBackgroundColor!==!1,rules:[n.rules.customColor],"data-test":"classification-banner-custom-background-color"},{"prepend-inner":e.withCtx(()=>[e.withDirectives(e.createVNode(c,{color:n.customBackgroundColor},{default:e.withCtx(()=>[...t[16]||(t[16]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,!n.selectedBackgroundColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(r,{modelValue:n.selectedFontColor,"onUpdate:modelValue":t[6]||(t[6]=u=>n.selectedFontColor=u),label:"Font color",items:n.colors,"item-title":"text","data-test":"classification-banner-font-color"},e.createSlots({item:e.withCtx(({props:u,item:p})=>[e.createVNode(v,e.mergeProps(u,{value:p.text}),{prepend:e.withCtx(()=>[p.value?(e.openBlock(),e.createBlock(c,{key:0,color:p.value},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])):e.createCommentVNode("",!0)]),_:2},1040,["value"])]),_:2},[n.selectedFontColor?{name:"prepend-inner",fn:e.withCtx(()=>[e.withDirectives(e.createVNode(c,{color:n.selectedFontColor},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,n.selectedFontColor]])]),key:"0"}:void 0]),1032,["modelValue","items"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{modelValue:n.customFontColor,"onUpdate:modelValue":t[7]||(t[7]=u=>n.customFontColor=u),label:"Custom font color",hint:n.customColorHint,disabled:n.selectedFontColor!==!1,rules:[n.rules.customColor],"data-test":"classification-banner-custom-font-color"},{"prepend-inner":e.withCtx(()=>[e.withDirectives(e.createVNode(c,{color:n.customFontColor},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,!n.selectedFontColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1})]),_:1}),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(l,{modelValue:n.displayTopBanner,"onUpdate:modelValue":t[8]||(t[8]=u=>n.displayTopBanner=u),label:"Display top banner",color:"primary","data-test":"display-top-banner"},null,8,["modelValue"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{modelValue:n.topHeight,"onUpdate:modelValue":t[9]||(t[9]=u=>n.topHeight=u),label:"Top height",disabled:!n.displayTopBanner,type:"number",suffix:"px","data-test":"classification-banner-top-height"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(l,{modelValue:n.displayBottomBanner,"onUpdate:modelValue":t[10]||(t[10]=u=>n.displayBottomBanner=u),label:"Display bottom banner",color:"primary","data-test":"display-bottom-banner"},null,8,["modelValue"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{modelValue:n.bottomHeight,"onUpdate:modelValue":t[11]||(t[11]=u=>n.bottomHeight=u),label:"Bottom height",disabled:!n.displayBottomBanner,type:"number",suffix:"px","data-test":"classification-banner-bottom-height"},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(h,{disabled:!m.formValid,color:"success",variant:"text","data-test":"save-classification-banner",onClick:m.save},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const I=f._export_sfc(K,[["render",G]]),T="time_zone",Y={mixins:[_.Settings],data(){return{timeZones:["local","UTC"],timeZone:"local"}},created(){this.loadSetting(T)},methods:{save(){this.saveSetting(T,this.timeZone)},parseSetting:function(o){o&&(this.timeZone=o)}}};function Q(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-select"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Time Zone",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" The time zone to use in all COSMOS tools (graphs, time choosers, log messages, etc). Anywhere a date / time is displayed, it will be in the chosen time zone. (Note: All timestamps are UTC in the backend). ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.timeZone,"onUpdate:modelValue":t[3]||(t[3]=l=>n.timeZone=l),items:n.timeZones,label:"Select time display","hide-details":"","prepend-icon":"mdi-map-clock","single-line":"","data-test":"time-zone"},null,8,["modelValue","items"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{color:"success",variant:"text","data-test":"save-time-zone",onClick:m.save},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const X=f._export_sfc(Y,[["render",Q]]),B="news_feed",$={mixins:[_.Settings],data(){return{newsFeed:!0}},created(){this.loadSetting(B)},methods:{save(){this.saveSetting(B,this.newsFeed),this.newsFeed&&this.api.update_news()},parseSetting:function(o){this.newsFeed=o}}};function ee(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-alert"),s=e.resolveComponent("v-switch"),i=e.resolveComponent("v-card-text"),d=e.resolveComponent("v-btn"),c=e.resolveComponent("v-card-actions"),v=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(v,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("News Feed Settings",-1)])]),_:1}),e.createVNode(a,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=r=>o.errorLoading=r),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=r=>o.errorSaving=r),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=r=>o.successSaving=r),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(i,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(s,{modelValue:n.newsFeed,"onUpdate:modelValue":t[3]||(t[3]=r=>n.newsFeed=r),label:`Allow COSMOS backend to pull the news feed from the COSMOS external news site.
|
|
2
|
-
This is a low bandwidth poll which only happens every 12 hrs. To immediately update the news feed, click the 'Refresh' in the User Menu.`,color:"primary"},null,8,["modelValue"])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(d,{color:"success",variant:"text","data-test":"save-news-feed",onClick:m.save},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const te=f._export_sfc($,[["render",ee]]),U="subtitle",oe={mixins:[_.Settings],data(){return{subtitle:""}},created(){this.loadSetting(U)},methods:{save(){this.saveSetting(U,this.subtitle)},parseSetting:function(o){o&&(this.subtitle=o)}}};function ne(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Subtitle",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" This sets a subtitle to display below the COSMOS logo in the Navigation bar. ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.subtitle,"onUpdate:modelValue":t[3]||(t[3]=l=>n.subtitle=l),label:"Subtitle","data-test":"subtitle"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{color:"success",variant:"text","data-test":"save-subtitle",onClick:m.save},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const le=f._export_sfc(oe,[["render",ne]]),F="source_url",re={mixins:[_.Settings],data(){return{sourceUrl:"https://github.com/OpenC3/cosmos"}},created(){this.loadSetting(F)},methods:{save(){this.saveSetting(F,this.sourceUrl)},parseSetting:function(o){o&&(this.sourceUrl=o)}}};function se(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Source code URL ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(' This sets the URL for the "Source" link in the footer. This is required under the AGPL license. ',-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.sourceUrl,"onUpdate:modelValue":t[3]||(t[3]=l=>n.sourceUrl=l),label:"Source URL","data-test":"source-url"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{color:"success",variant:"text","data-test":"save-source-url",onClick:m.save},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ae=f._export_sfc(re,[["render",se]]),L="rubygems_url",ie={mixins:[_.Settings],data(){return{rubygemsUrl:"https://rubygems.org"}},created(){this.loadSetting(L)},methods:{save(){this.saveSetting(L,this.rubygemsUrl)},parseSetting:function(o){o&&(this.rubygemsUrl=o)}}};function de(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Rubygems URL ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.rubygemsUrl,"onUpdate:modelValue":t[3]||(t[3]=l=>n.rubygemsUrl=l),label:"Rubygems URL","data-test":"rubygems-url"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{color:"success",variant:"text","data-test":"save-rubygems-url",onClick:m.save},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ce=f._export_sfc(ie,[["render",de]]),E="pypi_url",ue={mixins:[_.Settings],data(){return{pypiUrl:"https://pypi.org"}},created(){this.loadSetting(E)},methods:{save(){this.saveSetting(E,this.pypiUrl)},parseSetting:function(o){o&&(this.pypiUrl=o)}}};function pe(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Pypi URL ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" This sets the URL for installing dependency python packages. Also used for package discovery. ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.pypiUrl,"onUpdate:modelValue":t[3]||(t[3]=l=>n.pypiUrl=l),label:"Pypi URL","data-test":"pypi-url"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{color:"success",variant:"text","data-test":"save-pypi-url",onClick:m.save},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const me=f._export_sfc(ue,[["render",pe]]),W="context_tag",ve={mixins:[_.Settings],data(){return{text:"",displayContextTag:!1,selectedBackgroundColor:"#009fa3",customBackgroundColor:"",selectedFontColor:"white",customFontColor:"",customColorHint:"Enter a 3 or 6-digit hex color code",colors:[{text:"Teal",value:"#009fa3"},{text:"Purple",value:"#6058a8"},{text:"Pink",value:"#81009a"},{text:"Orange",value:"#af420a"},{text:"Black",value:"black"},{text:"White",value:"white"},{text:"Custom",value:!1}],rules:{customColor:o=>/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(o)||this.customColorHint}}},computed:{saveObj:function(){return JSON.stringify({text:this.text,fontColor:this.selectedFontColor||this.customFontColor,backgroundColor:this.selectedBackgroundColor||this.customBackgroundColor})},formValid:function(){return(this.selectedFontColor||this.rules.customColor(this.customFontColor)===!0)&&(this.selectedBackgroundColor||this.rules.customColor(this.customBackgroundColor)===!0)}},watch:{displayContextTag:function(o){o?this.text||(this.text="REPLACEME"):this.text=null},customFontColor:function(o){o&&o.length&&!o.startsWith("#")&&(this.customFontColor=`#${o}`)},customBackgroundColor:function(o){o&&o.length&&!o.startsWith("#")&&(this.customBackgroundColor=`#${o}`)}},created(){this.loadSetting(W)},methods:{save(){this.saveSetting(W,this.saveObj)},parseSetting:function(o){if(o){const t=JSON.parse(o);this.text=t.text,this.displayContextTag=!!t.text,t.backgroundColor&&(this.colors.some(g=>g.value===t.backgroundColor)?this.selectedBackgroundColor=t.backgroundColor:(this.customBackgroundColor=t.backgroundColor,this.selectedBackgroundColor=!1)),t.fontColor&&(this.colors.some(g=>g.value===t.fontColor)?this.selectedFontColor=t.fontColor:(this.customFontColor=t.fontColor,this.selectedFontColor=!1))}}}};function Ce(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-col"),c=e.resolveComponent("v-row"),v=e.resolveComponent("v-switch"),r=e.resolveComponent("v-icon"),l=e.resolveComponent("v-list-item"),N=e.resolveComponent("v-select"),h=e.resolveComponent("v-card-text"),b=e.resolveComponent("v-btn"),w=e.resolveComponent("v-card-actions"),u=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(u,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("Context Tag Settings",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[10]||(t[10]=[e.createTextVNode(" When enabled this displays a Context Tag on the top right of the screen with custom colors and text. This can help differentiate environments. ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=p=>o.errorLoading=p),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=p=>o.errorSaving=p),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=p=>o.successSaving=p),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(h,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(c,{dense:""},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.text,"onUpdate:modelValue":t[3]||(t[3]=p=>n.text=p),label:"Text","data-test":"context-tag-text",disabled:!n.displayContextTag},null,8,["modelValue","disabled"])]),_:1})]),_:1}),e.createVNode(c,{dense:""},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(v,{modelValue:n.displayContextTag,"onUpdate:modelValue":t[4]||(t[4]=p=>n.displayContextTag=p),label:"Display context tag",color:"primary","data-test":"display-context-tag"},null,8,["modelValue"])]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(N,{modelValue:n.selectedBackgroundColor,"onUpdate:modelValue":t[5]||(t[5]=p=>n.selectedBackgroundColor=p),label:"Background color",items:n.colors,"item-title":"text","data-test":"context-tag-background-color"},e.createSlots({item:e.withCtx(({props:p,item:x})=>[e.createVNode(l,e.mergeProps(p,{value:x.text}),{prepend:e.withCtx(()=>[x.value?(e.openBlock(),e.createBlock(r,{key:0,color:x.value},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])):e.createCommentVNode("",!0)]),_:2},1040,["value"])]),_:2},[n.selectedBackgroundColor?{name:"prepend-inner",fn:e.withCtx(()=>[e.createVNode(r,{color:n.selectedBackgroundColor},{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])]),key:"0"}:void 0]),1032,["modelValue","items"])]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.customBackgroundColor,"onUpdate:modelValue":t[6]||(t[6]=p=>n.customBackgroundColor=p),label:"Custom background color",hint:n.customColorHint,disabled:n.selectedBackgroundColor!==!1,rules:[n.rules.customColor],"data-test":"context-tag-custom-background-color"},{"prepend-inner":e.withCtx(()=>[e.withDirectives(e.createVNode(r,{color:n.customBackgroundColor},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,!n.selectedBackgroundColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(N,{modelValue:n.selectedFontColor,"onUpdate:modelValue":t[7]||(t[7]=p=>n.selectedFontColor=p),label:"Font color",items:n.colors,"item-title":"text","data-test":"context-tag-font-color"},e.createSlots({item:e.withCtx(({props:p,item:x})=>[e.createVNode(l,e.mergeProps(p,{value:x.text}),{prepend:e.withCtx(()=>[x.value?(e.openBlock(),e.createBlock(r,{key:0,color:x.value},{default:e.withCtx(()=>[...t[16]||(t[16]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])):e.createCommentVNode("",!0)]),_:2},1040,["value"])]),_:2},[n.selectedFontColor?{name:"prepend-inner",fn:e.withCtx(()=>[e.withDirectives(e.createVNode(r,{color:n.selectedFontColor},{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,n.selectedFontColor]])]),key:"0"}:void 0]),1032,["modelValue","items"])]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.customFontColor,"onUpdate:modelValue":t[8]||(t[8]=p=>n.customFontColor=p),label:"Custom font color",hint:n.customColorHint,disabled:n.selectedFontColor!==!1,rules:[n.rules.customColor],"data-test":"context-tag-custom-font-color"},{"prepend-inner":e.withCtx(()=>[e.withDirectives(e.createVNode(r,{color:n.customFontColor},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,!n.selectedFontColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1})]),_:1})]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(b,{disabled:!m.formValid,color:"success",variant:"text","data-test":"save-context-tag",onClick:m.save},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const ge=f._export_sfc(ve,[["render",Ce]]),Ve={components:{SuppressedSettings:O,DefaultConfigSettings:q,EditorSettings:j,AstroSettings:J,ClassificationBannerSettings:I,TimeZoneSettings:X,NewsFeedSettings:te,SubtitleSettings:le,SourceCodeSettings:ae,RubyGemsSettings:ce,PypiSettings:me,ContextTagSettings:ge}};function fe(o,t,V,g,n,m){const C=e.resolveComponent("suppressed-settings"),a=e.resolveComponent("v-divider"),s=e.resolveComponent("default-config-settings"),i=e.resolveComponent("editor-settings"),d=e.resolveComponent("astro-settings"),c=e.resolveComponent("time-zone-settings"),v=e.resolveComponent("news-feed-settings"),r=e.resolveComponent("classification-banner-settings"),l=e.resolveComponent("subtitle-settings"),N=e.resolveComponent("source-code-settings"),h=e.resolveComponent("ruby-gems-settings"),b=e.resolveComponent("pypi-settings"),w=e.resolveComponent("context-tag-settings");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(C),e.createVNode(a),e.createVNode(s),e.createVNode(a),e.createVNode(i),e.createVNode(a),e.createVNode(d),e.createVNode(a),e.createVNode(c),e.createVNode(a),e.createVNode(v),e.createVNode(a),e.createVNode(r),e.createVNode(a),e.createVNode(l),e.createVNode(a),e.createVNode(N),e.createVNode(a),e.createVNode(h),e.createVNode(a),e.createVNode(b),e.createVNode(a),e.createVNode(w)])}const _e=f._export_sfc(Ve,[["render",fe]]);exports.default=_e;
|
|
3
|
-
//# sourceMappingURL=SettingsTab-DMPRJELP.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsTab-DMPRJELP.cjs","sources":["../src/tools/admin/tabs/settings/SuppressedSettings.vue","../src/tools/admin/tabs/settings/DefaultConfigSettings.vue","../src/tools/admin/tabs/settings/EditorSettings.vue","../src/tools/admin/tabs/settings/AstroSettings.vue","../src/tools/admin/tabs/settings/ClassificationBannerSettings.vue","../src/tools/admin/tabs/settings/TimeZoneSettings.vue","../src/tools/admin/tabs/settings/NewsFeedSettings.vue","../src/tools/admin/tabs/settings/SubtitleSettings.vue","../src/tools/admin/tabs/settings/SourceCodeSettings.vue","../src/tools/admin/tabs/settings/RubyGemsSettings.vue","../src/tools/admin/tabs/settings/PypiSettings.vue","../src/tools/admin/tabs/settings/ContextTagSettings.vue","../src/tools/admin/tabs/SettingsTab.vue"],"sourcesContent":["<!--\n# Copyright 2025 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-card>\n <v-card-title>Reset suppressed warnings</v-card-title>\n <v-card-subtitle>\n This resets \"don't show this again\" dialogs on this browser\n </v-card-subtitle>\n <v-card-text>\n <template v-if=\"suppressedWarnings.length\">\n <v-checkbox\n v-model=\"selectAllSuppressedWarnings\"\n label=\"Select All Warnings\"\n density=\"compact\"\n />\n <v-checkbox\n v-for=\"warning in suppressedWarnings\"\n :key=\"warning.key\"\n v-model=\"selectedSuppressedWarnings\"\n :label=\"warning.text\"\n :value=\"warning.key\"\n density=\"compact\"\n hide-details\n />\n </template>\n <template v-else> No warnings to reset </template>\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-btn\n :disabled=\"!selectedSuppressedWarnings.length\"\n color=\"warning\"\n variant=\"text\"\n data-test=\"reset-suppressed-warnings\"\n @click=\"resetSuppressedWarnings\"\n >\n Reset\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nexport default {\n data() {\n return {\n suppressedWarnings: [],\n selectedSuppressedWarnings: [],\n selectAllSuppressedWarnings: false,\n }\n },\n watch: {\n selectAllSuppressedWarnings: function (val) {\n if (val) {\n this.selectedSuppressedWarnings = this.suppressedWarnings.map(\n (warning) => warning.key,\n )\n } else {\n this.selectedSuppressedWarnings = []\n }\n },\n },\n created() {\n this.loadSuppressedWarnings()\n },\n methods: {\n loadSuppressedWarnings: function () {\n this.suppressedWarnings = Object.keys(localStorage)\n .filter((key) => {\n return key.startsWith('suppresswarning__')\n })\n .map(this.localStorageKeyToDisplayObject)\n this.selectedSuppressedWarnings = []\n },\n localStorageKeyToDisplayObject: function (key) {\n const name = key.split('__')[1].replaceAll('_', ' ')\n return {\n key,\n text: name.charAt(0).toUpperCase() + name.slice(1),\n value: localStorage[key],\n }\n },\n resetSuppressedWarnings: function () {\n this.deleteLocalStorageKeys(this.selectedSuppressedWarnings)\n this.loadSuppressedWarnings()\n },\n deleteLocalStorageKeys: function (keys) {\n for (const key of keys) {\n delete localStorage[key]\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2024 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-card>\n <v-card-title> Clear default configs </v-card-title>\n <v-card-subtitle>\n This clears the default tool configs on this browser\n </v-card-subtitle>\n <v-card-text>\n <template v-if=\"lastConfigs.length\">\n <v-checkbox\n v-model=\"selectAllLastConfigs\"\n label=\"Select All Configs\"\n density=\"compact\"\n />\n <v-checkbox\n v-for=\"config in lastConfigs\"\n :key=\"config.key\"\n v-model=\"selectedLastConfigs\"\n :label=\"config.text\"\n :value=\"config.key\"\n hide-details\n density=\"compact\"\n />\n </template>\n <template v-else> No configs to clear </template>\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-btn\n :disabled=\"!selectedLastConfigs.length\"\n color=\"warning\"\n variant=\"text\"\n data-test=\"clear-default-configs\"\n @click=\"clearLastConfigs\"\n >\n Clear\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nexport default {\n data() {\n return {\n lastConfigs: [],\n selectedLastConfigs: [],\n selectAllLastConfigs: false,\n }\n },\n watch: {\n selectAllLastConfigs: function (val) {\n if (val) {\n this.selectedLastConfigs = this.lastConfigs.map((config) => config.key)\n } else {\n this.selectedLastConfigs = []\n }\n },\n },\n created() {\n this.loadLastConfigs()\n },\n methods: {\n loadLastConfigs: function () {\n this.lastConfigs = Object.keys(localStorage)\n .filter((key) => {\n return key.endsWith('__default')\n })\n .map((key) => {\n const name = key.split('__')[0].replaceAll('_', ' ')\n return {\n key,\n text: name.charAt(0).toUpperCase() + name.slice(1),\n }\n })\n this.selectedLastConfigs = []\n },\n clearLastConfigs: function () {\n this.deleteLocalStorageKeys(this.selectedLastConfigs)\n this.loadLastConfigs()\n },\n deleteLocalStorageKeys: function (keys) {\n for (const key of keys) {\n delete localStorage[key]\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2025 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-card>\n <v-card-title> Code Editor Settings </v-card-title>\n <v-card-subtitle>\n Settings for the code editors built into COSMOS (e.g. in Script Runner)\n </v-card-subtitle>\n <v-card-text class=\"pb-0\">\n <v-select\n v-model=\"defaultLanguage\"\n label=\"Default scripting language\"\n :items=\"languageOptions\"\n item-title=\"text\"\n item-value=\"value\"\n color=\"primary\"\n class=\"mt-4\"\n data-test=\"default-language\"\n />\n <v-switch v-model=\"vimMode\" label=\"Vim mode\" color=\"primary\" />\n </v-card-text>\n <v-card-actions>\n <v-btn\n color=\"success\"\n variant=\"text\"\n data-test=\"save-editor-settings\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport { AceEditorUtils } from '@/components/ace'\n\nexport default {\n data() {\n return {\n vimMode: AceEditorUtils.isVimModeEnabled(),\n defaultLanguage: AceEditorUtils.getDefaultScriptingLanguage(),\n languageOptions: [\n { text: 'Ruby', value: 'ruby' },\n { text: 'Python', value: 'python' },\n ],\n }\n },\n methods: {\n save: function () {\n AceEditorUtils.setVimMode(this.vimMode)\n AceEditorUtils.setDefaultScriptingLanguage(this.defaultLanguage)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2024 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-card>\n <v-card-title>Astro Settings</v-card-title>\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" closable density=\"compact\">\n Saved! (Refresh the page to see changes)\n </v-alert>\n <v-card-text class=\"pb-0\">\n <v-switch v-model=\"hideClock\" label=\"Hide Astro Clock\" color=\"primary\" />\n </v-card-text>\n <v-card-actions>\n <v-btn\n color=\"success\"\n variant=\"text\"\n data-test=\"save-astro-settings\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport Settings from './settings.js'\n\nconst settingName = 'astro'\nexport default {\n mixins: [Settings],\n data() {\n return {\n hideClock: false,\n }\n },\n created() {\n this.loadSetting(settingName)\n },\n methods: {\n save() {\n this.saveSetting(\n settingName,\n // Hashify the setting to allow for future settings\n // Update AppNav when adding new settings\n JSON.stringify({ hideClock: this.hideClock }),\n )\n },\n parseSetting: function (response) {\n if (response) {\n let parsed = JSON.parse(response)\n this.hideClock = parsed.hideClock\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2024 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-card>\n <v-card-title>Classification Banner Settings</v-card-title>\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" closable density=\"compact\">\n Saved! (Refresh the page to see changes)\n </v-alert>\n <v-card-text class=\"pb-0\">\n <v-row dense>\n <v-col>\n <v-text-field\n v-model=\"text\"\n label=\"Text\"\n data-test=\"classification-banner-text\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-select\n v-model=\"selectedBackgroundColor\"\n label=\"Background color\"\n :items=\"colors\"\n item-title=\"text\"\n data-test=\"classification-banner-background-color\"\n >\n <template v-if=\"selectedBackgroundColor\" #prepend-inner>\n <v-icon :color=\"selectedBackgroundColor\"> mdi-square </v-icon>\n </template>\n <template #item=\"{ props, item }\">\n <v-list-item v-bind=\"props\" :value=\"item.text\">\n <template #prepend>\n <v-icon v-if=\"item.value\" :color=\"item.value\">\n mdi-square\n </v-icon>\n </template>\n </v-list-item>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"customBackgroundColor\"\n label=\"Custom background color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedBackgroundColor !== false\"\n :rules=\"[rules.customColor]\"\n data-test=\"classification-banner-custom-background-color\"\n >\n <template #prepend-inner>\n <v-icon\n v-show=\"!selectedBackgroundColor\"\n :color=\"customBackgroundColor\"\n >\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n <v-col>\n <v-select\n v-model=\"selectedFontColor\"\n label=\"Font color\"\n :items=\"colors\"\n item-title=\"text\"\n data-test=\"classification-banner-font-color\"\n >\n <template v-if=\"selectedFontColor\" #prepend-inner>\n <v-icon v-show=\"selectedFontColor\" :color=\"selectedFontColor\">\n mdi-square\n </v-icon>\n </template>\n <template #item=\"{ props, item }\">\n <v-list-item v-bind=\"props\" :value=\"item.text\">\n <template #prepend>\n <v-icon v-if=\"item.value\" :color=\"item.value\">\n mdi-square\n </v-icon>\n </template>\n </v-list-item>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"customFontColor\"\n label=\"Custom font color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedFontColor !== false\"\n :rules=\"[rules.customColor]\"\n data-test=\"classification-banner-custom-font-color\"\n >\n <template #prepend-inner>\n <v-icon v-show=\"!selectedFontColor\" :color=\"customFontColor\">\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-switch\n v-model=\"displayTopBanner\"\n label=\"Display top banner\"\n color=\"primary\"\n data-test=\"display-top-banner\"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"topHeight\"\n label=\"Top height\"\n :disabled=\"!displayTopBanner\"\n type=\"number\"\n suffix=\"px\"\n data-test=\"classification-banner-top-height\"\n />\n </v-col>\n <v-col>\n <v-switch\n v-model=\"displayBottomBanner\"\n label=\"Display bottom banner\"\n color=\"primary\"\n data-test=\"display-bottom-banner\"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"bottomHeight\"\n label=\"Bottom height\"\n :disabled=\"!displayBottomBanner\"\n type=\"number\"\n suffix=\"px\"\n data-test=\"classification-banner-bottom-height\"\n />\n </v-col>\n </v-row>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled=\"!formValid\"\n color=\"success\"\n variant=\"text\"\n data-test=\"save-classification-banner\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport Settings from './settings.js'\n\nconst settingName = 'classification_banner'\nexport default {\n mixins: [Settings],\n data() {\n return {\n text: '',\n displayTopBanner: false,\n displayBottomBanner: false,\n topHeight: 0,\n bottomHeight: 0,\n selectedBackgroundColor: 'red',\n customBackgroundColor: '',\n selectedFontColor: 'white',\n customFontColor: '',\n customColorHint: 'Enter a 3 or 6-digit hex color code',\n colors: [\n {\n text: 'Yellow',\n value: 'yellow',\n },\n {\n text: 'Orange',\n value: 'orange',\n },\n {\n text: 'Red',\n value: 'red',\n },\n {\n text: 'Purple',\n value: 'purple',\n },\n {\n text: 'Blue',\n value: 'blue',\n },\n {\n text: 'Green',\n value: 'green',\n },\n {\n text: 'Black',\n value: 'black',\n },\n {\n text: 'White',\n value: 'white',\n },\n {\n text: 'Custom',\n value: false,\n },\n ],\n rules: {\n customColor: (value) => {\n return (\n /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value) || this.customColorHint\n )\n },\n },\n }\n },\n computed: {\n saveObj: function () {\n return JSON.stringify({\n text: this.text,\n fontColor: this.selectedFontColor || this.customFontColor,\n backgroundColor:\n this.selectedBackgroundColor || this.customBackgroundColor,\n topHeight: this.displayTopBanner ? this.topHeight : 0,\n bottomHeight: this.displayBottomBanner ? this.bottomHeight : 0,\n })\n },\n formValid: function () {\n return (\n (this.selectedFontColor ||\n this.rules.customColor(this.customFontColor) === true) &&\n (this.selectedBackgroundColor ||\n this.rules.customColor(this.customBackgroundColor) === true)\n )\n },\n },\n watch: {\n displayTopBanner: function (val) {\n if (val) {\n this.topHeight = 20\n } else {\n this.topHeight = 0\n }\n },\n displayBottomBanner: function (val) {\n if (val) {\n this.bottomHeight = 20\n } else {\n this.bottomHeight = 0\n }\n },\n customFontColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customFontColor = `#${val}`\n }\n },\n customBackgroundColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customBackgroundColor = `#${val}`\n }\n },\n },\n created() {\n this.loadSetting(settingName)\n },\n methods: {\n save() {\n this.saveSetting(settingName, this.saveObj)\n },\n parseSetting: function (response) {\n if (response) {\n const parsed = JSON.parse(response)\n this.text = parsed.text\n this.topHeight = parsed.topHeight\n this.bottomHeight = parsed.bottomHeight\n this.displayTopBanner = parsed.topHeight !== 0\n this.displayBottomBanner = parsed.bottomHeight !== 0\n if (parsed.backgroundColor && parsed.backgroundColor.startsWith('#')) {\n this.customBackgroundColor = parsed.backgroundColor\n this.selectedBackgroundColor = false\n } else {\n this.selectedBackgroundColor = parsed.backgroundColor\n }\n if (parsed.fontColor && parsed.fontColor.startsWith('#')) {\n this.customFontColor = parsed.fontColor\n this.selectedFontColor = false\n } else {\n this.selectedFontColor = parsed.fontColor\n }\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2024 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-card>\n <v-card-title>Time Zone</v-card-title>\n <v-card-subtitle>\n The time zone to use in all COSMOS tools (graphs, time choosers, log\n messages, etc). Anywhere a date / time is displayed, it will be in the\n chosen time zone. (Note: All timestamps are UTC in the backend).\n </v-card-subtitle>\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" closable density=\"compact\">\n Saved! (Refresh the page to see changes)\n </v-alert>\n <v-card-text>\n <v-select\n v-model=\"timeZone\"\n :items=\"timeZones\"\n label=\"Select time display\"\n hide-details\n prepend-icon=\"mdi-map-clock\"\n single-line\n data-test=\"time-zone\"\n />\n </v-card-text>\n <v-card-actions>\n <v-btn\n color=\"success\"\n variant=\"text\"\n data-test=\"save-time-zone\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport Settings from './settings.js'\n\nconst settingName = 'time_zone'\nexport default {\n mixins: [Settings],\n data() {\n return {\n timeZones: ['local', 'UTC'],\n timeZone: 'local',\n }\n },\n created() {\n this.loadSetting(settingName)\n },\n methods: {\n save() {\n this.saveSetting(settingName, this.timeZone)\n },\n parseSetting: function (response) {\n if (response) {\n this.timeZone = response\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2025 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-card>\n <v-card-title>News Feed Settings</v-card-title>\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" closable density=\"compact\">\n Saved! (Refresh the page to see changes)\n </v-alert>\n <v-card-text class=\"pb-0\">\n <v-switch\n v-model=\"newsFeed\"\n label=\"Allow COSMOS backend to pull the news feed from the COSMOS external news site.\n This is a low bandwidth poll which only happens every 12 hrs. To immediately update the news feed, click the 'Refresh' in the User Menu.\"\n color=\"primary\"\n />\n </v-card-text>\n <v-card-actions>\n <v-btn\n color=\"success\"\n variant=\"text\"\n data-test=\"save-news-feed\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport Settings from './settings.js'\n\nconst settingName = 'news_feed'\nexport default {\n mixins: [Settings],\n data() {\n return {\n newsFeed: true,\n }\n },\n created() {\n this.loadSetting(settingName)\n },\n methods: {\n save() {\n this.saveSetting(settingName, this.newsFeed)\n if (this.newsFeed) {\n this.api.update_news()\n }\n },\n parseSetting: function (response) {\n this.newsFeed = response\n },\n },\n}\n</script>\n","<!--\n# Copyright 2024 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-card>\n <v-card-title>Subtitle</v-card-title>\n <v-card-subtitle>\n This sets a subtitle to display below the COSMOS logo in the Navigation\n bar.\n </v-card-subtitle>\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" closable density=\"compact\">\n Saved! (Refresh the page to see changes)\n </v-alert>\n <v-card-text class=\"pb-0\">\n <v-text-field v-model=\"subtitle\" label=\"Subtitle\" data-test=\"subtitle\" />\n </v-card-text>\n <v-card-actions>\n <v-btn\n color=\"success\"\n variant=\"text\"\n data-test=\"save-subtitle\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport Settings from './settings.js'\n\nconst settingName = 'subtitle'\nexport default {\n mixins: [Settings],\n data() {\n return {\n subtitle: '',\n }\n },\n created() {\n this.loadSetting(settingName)\n },\n methods: {\n save() {\n this.saveSetting(settingName, this.subtitle)\n },\n parseSetting: function (response) {\n if (response) {\n this.subtitle = response\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2024 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-card>\n <v-card-title> Source code URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for the \"Source\" link in the footer. This is required\n under the AGPL license.\n </v-card-subtitle>\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" closable density=\"compact\">\n Saved! (Refresh the page to see changes)\n </v-alert>\n <v-card-text class=\"pb-0\">\n <v-text-field\n v-model=\"sourceUrl\"\n label=\"Source URL\"\n data-test=\"source-url\"\n />\n </v-card-text>\n <v-card-actions>\n <v-btn\n color=\"success\"\n variant=\"text\"\n data-test=\"save-source-url\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport Settings from './settings.js'\n\nconst settingName = 'source_url'\nexport default {\n mixins: [Settings],\n data() {\n return {\n sourceUrl: 'https://github.com/OpenC3/cosmos',\n }\n },\n created() {\n this.loadSetting(settingName)\n },\n methods: {\n save() {\n this.saveSetting(settingName, this.sourceUrl)\n },\n parseSetting: function (response) {\n if (response) {\n this.sourceUrl = response\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2024 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-card>\n <v-card-title> Rubygems URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for installing dependency rubygems. Also used for\n rubygem discovery.\n </v-card-subtitle>\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" closable density=\"compact\">\n Saved! (Refresh the page to see changes)\n </v-alert>\n <v-card-text class=\"pb-0\">\n <v-text-field\n v-model=\"rubygemsUrl\"\n label=\"Rubygems URL\"\n data-test=\"rubygems-url\"\n />\n </v-card-text>\n <v-card-actions>\n <v-btn\n color=\"success\"\n variant=\"text\"\n data-test=\"save-rubygems-url\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport Settings from './settings.js'\n\nconst settingName = 'rubygems_url'\nexport default {\n mixins: [Settings],\n data() {\n return {\n rubygemsUrl: 'https://rubygems.org',\n }\n },\n created() {\n this.loadSetting(settingName)\n },\n methods: {\n save() {\n this.saveSetting(settingName, this.rubygemsUrl)\n },\n parseSetting: function (response) {\n if (response) {\n this.rubygemsUrl = response\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2024 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-card>\n <v-card-title> Pypi URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for installing dependency python packages. Also used for\n package discovery.\n </v-card-subtitle>\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" closable density=\"compact\">\n Saved! (Refresh the page to see changes)\n </v-alert>\n <v-card-text class=\"pb-0\">\n <v-text-field v-model=\"pypiUrl\" label=\"Pypi URL\" data-test=\"pypi-url\" />\n </v-card-text>\n <v-card-actions>\n <v-btn\n color=\"success\"\n variant=\"text\"\n data-test=\"save-pypi-url\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport Settings from './settings.js'\n\nconst settingName = 'pypi_url'\nexport default {\n mixins: [Settings],\n data() {\n return {\n pypiUrl: 'https://pypi.org',\n }\n },\n created() {\n this.loadSetting(settingName)\n },\n methods: {\n save() {\n this.saveSetting(settingName, this.pypiUrl)\n },\n parseSetting: function (response) {\n if (response) {\n this.pypiUrl = response\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2025 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-card>\n <v-card-title>Context Tag Settings</v-card-title>\n <v-card-subtitle>\n When enabled this displays a Context Tag on the top right of the screen\n with custom colors and text. This can help differentiate environments.\n </v-card-subtitle>\n <v-alert v-model=\"errorLoading\" type=\"error\" closable density=\"compact\">\n Error loading previous configuration due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"errorSaving\" type=\"error\" closable density=\"compact\">\n Error saving due to {{ errorText }}\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" closable density=\"compact\">\n Saved! (Refresh the page to see changes)\n </v-alert>\n <v-card-text class=\"pb-0\">\n <v-row dense>\n <v-col>\n <v-text-field\n v-model=\"text\"\n label=\"Text\"\n data-test=\"context-tag-text\"\n :disabled=\"!displayContextTag\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-switch\n v-model=\"displayContextTag\"\n label=\"Display context tag\"\n color=\"primary\"\n data-test=\"display-context-tag\"\n />\n </v-col>\n <v-col>\n <v-select\n v-model=\"selectedBackgroundColor\"\n label=\"Background color\"\n :items=\"colors\"\n item-title=\"text\"\n data-test=\"context-tag-background-color\"\n >\n <template v-if=\"selectedBackgroundColor\" #prepend-inner>\n <v-icon :color=\"selectedBackgroundColor\"> mdi-square </v-icon>\n </template>\n <template #item=\"{ props, item }\">\n <v-list-item v-bind=\"props\" :value=\"item.text\">\n <template #prepend>\n <v-icon v-if=\"item.value\" :color=\"item.value\">\n mdi-square\n </v-icon>\n </template>\n </v-list-item>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"customBackgroundColor\"\n label=\"Custom background color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedBackgroundColor !== false\"\n :rules=\"[rules.customColor]\"\n data-test=\"context-tag-custom-background-color\"\n >\n <template #prepend-inner>\n <v-icon\n v-show=\"!selectedBackgroundColor\"\n :color=\"customBackgroundColor\"\n >\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n <v-col>\n <v-select\n v-model=\"selectedFontColor\"\n label=\"Font color\"\n :items=\"colors\"\n item-title=\"text\"\n data-test=\"context-tag-font-color\"\n >\n <template v-if=\"selectedFontColor\" #prepend-inner>\n <v-icon v-show=\"selectedFontColor\" :color=\"selectedFontColor\">\n mdi-square\n </v-icon>\n </template>\n <template #item=\"{ props, item }\">\n <v-list-item v-bind=\"props\" :value=\"item.text\">\n <template #prepend>\n <v-icon v-if=\"item.value\" :color=\"item.value\">\n mdi-square\n </v-icon>\n </template>\n </v-list-item>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n v-model=\"customFontColor\"\n label=\"Custom font color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedFontColor !== false\"\n :rules=\"[rules.customColor]\"\n data-test=\"context-tag-custom-font-color\"\n >\n <template #prepend-inner>\n <v-icon v-show=\"!selectedFontColor\" :color=\"customFontColor\">\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n </v-row>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled=\"!formValid\"\n color=\"success\"\n variant=\"text\"\n data-test=\"save-context-tag\"\n @click=\"save\"\n >\n Save\n </v-btn>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport Settings from './settings.js'\n\nconst settingName = 'context_tag'\nexport default {\n mixins: [Settings],\n data() {\n return {\n text: '',\n displayContextTag: false,\n selectedBackgroundColor: '#009fa3',\n customBackgroundColor: '',\n selectedFontColor: 'white',\n customFontColor: '',\n customColorHint: 'Enter a 3 or 6-digit hex color code',\n colors: [\n {\n text: 'Teal',\n value: '#009fa3',\n },\n {\n text: 'Purple',\n value: '#6058a8',\n },\n {\n text: 'Pink',\n value: '#81009a',\n },\n {\n text: 'Orange',\n value: '#af420a',\n },\n {\n text: 'Black',\n value: 'black',\n },\n {\n text: 'White',\n value: 'white',\n },\n {\n text: 'Custom',\n value: false,\n },\n ],\n rules: {\n customColor: (value) => {\n return (\n /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value) || this.customColorHint\n )\n },\n },\n }\n },\n computed: {\n saveObj: function () {\n return JSON.stringify({\n text: this.text,\n fontColor: this.selectedFontColor || this.customFontColor,\n backgroundColor:\n this.selectedBackgroundColor || this.customBackgroundColor,\n })\n },\n formValid: function () {\n return (\n (this.selectedFontColor ||\n this.rules.customColor(this.customFontColor) === true) &&\n (this.selectedBackgroundColor ||\n this.rules.customColor(this.customBackgroundColor) === true)\n )\n },\n },\n watch: {\n displayContextTag: function (val) {\n if (val) {\n if (!this.text) this.text = 'REPLACEME'\n } else {\n this.text = null\n }\n },\n customFontColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customFontColor = `#${val}`\n }\n },\n customBackgroundColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customBackgroundColor = `#${val}`\n }\n },\n },\n created() {\n this.loadSetting(settingName)\n },\n methods: {\n save() {\n this.saveSetting(settingName, this.saveObj)\n },\n parseSetting: function (response) {\n if (response) {\n const parsed = JSON.parse(response)\n this.text = parsed.text\n this.displayContextTag = !!parsed.text\n if (parsed.backgroundColor) {\n const colorExists = this.colors.some(\n (color) => color.value === parsed.backgroundColor,\n )\n if (colorExists) {\n this.selectedBackgroundColor = parsed.backgroundColor\n } else {\n this.customBackgroundColor = parsed.backgroundColor\n this.selectedBackgroundColor = false\n }\n }\n if (parsed.fontColor) {\n const colorExists = this.colors.some(\n (color) => color.value === parsed.fontColor,\n )\n if (colorExists) {\n this.selectedFontColor = parsed.fontColor\n } else {\n this.customFontColor = parsed.fontColor\n this.selectedFontColor = false\n }\n }\n }\n },\n },\n}\n</script>\n","<!--\n# Copyright 2025 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 <div>\n <suppressed-settings />\n <v-divider />\n <default-config-settings />\n <v-divider />\n <editor-settings />\n <v-divider />\n <astro-settings />\n <v-divider />\n <time-zone-settings />\n <v-divider />\n <news-feed-settings />\n <v-divider />\n <classification-banner-settings />\n <v-divider />\n <subtitle-settings />\n <v-divider />\n <source-code-settings />\n <v-divider />\n <ruby-gems-settings />\n <v-divider />\n <pypi-settings />\n <v-divider />\n <context-tag-settings />\n </div>\n</template>\n\n<script>\nimport SuppressedSettings from './settings/SuppressedSettings.vue'\nimport DefaultConfigSettings from './settings/DefaultConfigSettings.vue'\nimport EditorSettings from './settings/EditorSettings.vue'\nimport AstroSettings from './settings/AstroSettings.vue'\nimport ClassificationBannerSettings from './settings/ClassificationBannerSettings.vue'\nimport TimeZoneSettings from './settings/TimeZoneSettings.vue'\nimport NewsFeedSettings from './settings/NewsFeedSettings.vue'\nimport SubtitleSettings from './settings/SubtitleSettings.vue'\nimport SourceCodeSettings from './settings/SourceCodeSettings.vue'\nimport RubyGemsSettings from './settings/RubyGemsSettings.vue'\nimport PypiSettings from './settings/PypiSettings.vue'\nimport ContextTagSettings from './settings/ContextTagSettings.vue'\n\nexport default {\n components: {\n SuppressedSettings,\n DefaultConfigSettings,\n EditorSettings,\n AstroSettings,\n ClassificationBannerSettings,\n TimeZoneSettings,\n NewsFeedSettings,\n SubtitleSettings,\n SourceCodeSettings,\n RubyGemsSettings,\n PypiSettings,\n ContextTagSettings,\n },\n}\n</script>\n"],"names":["_sfc_main","val","warning","key","name","keys","_createBlock","_component_v_card","_createVNode","_component_v_card_title","_cache","_component_v_card_subtitle","_component_v_card_text","$data","_createElementBlock","_Fragment","_component_v_checkbox","$event","_renderList","_component_v_card_actions","_component_v_btn","$options","config","AceEditorUtils","_component_v_select","_component_v_switch","settingName","Settings","response","parsed","_component_v_alert","_ctx","_createTextVNode","value","_component_v_row","_component_v_col","_component_v_text_field","_withCtx","props","item","_component_v_list_item","_mergeProps","_component_v_icon","color","SuppressedSettings","DefaultConfigSettings","EditorSettings","AstroSettings","ClassificationBannerSettings","TimeZoneSettings","NewsFeedSettings","SubtitleSettings","SourceCodeSettings","RubyGemsSettings","PypiSettings","ContextTagSettings","_component_suppressed_settings","_component_v_divider","_component_default_config_settings","_component_editor_settings","_component_astro_settings","_component_time_zone_settings","_component_news_feed_settings","_component_classification_banner_settings","_component_subtitle_settings","_component_source_code_settings","_component_ruby_gems_settings","_component_pypi_settings","_component_context_tag_settings"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const r=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs"),e=require("vue"),p=require("./CustomIcon-CEc927h0.cjs"),f={props:{allowAll:{type:Boolean,default:!1},allowAllTargets:{type:Boolean,default:!1},allowAllArrayIndex:{type:Boolean,default:!1},buttonText:{type:String,default:null},chooseItem:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},initialTargetName:{type:String,default:""},initialPacketName:{type:String,default:""},initialItemName:{type:String,default:""},selectTypes:{type:Boolean,default:!1},showLatest:{type:Boolean,default:!1},mode:{type:String,default:"tlm",validator:t=>["cmd","tlm"].includes(t)},unknown:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},hidden:{type:Boolean,default:!1},lockTarget:{type:Boolean,default:!1},lockPacket:{type:Boolean,default:!1},showQueueSelect:{type:Boolean,default:!0},parameterHazardous:{type:Boolean,default:!1}},emits:["on-set","addItem"],data(){var t,a,i;return{targetNames:[],selectedTargetName:(t=this.initialTargetName)==null?void 0:t.toUpperCase(),packetNames:[],selectedPacketName:(a=this.initialPacketName)==null?void 0:a.toUpperCase(),queueNames:[{label:"None",value:null}],selectedQueueName:null,itemNames:[],selectedItemName:(i=this.initialItemName)==null?void 0:i.toUpperCase(),valueTypes:["CONVERTED","RAW"],selectedValueType:"CONVERTED",reductionModes:[{title:"NONE",value:"DECOM"},{title:"REDUCED_MINUTE",value:"REDUCED_MINUTE"},{title:"REDUCED_HOUR",value:"REDUCED_HOUR"},{title:"REDUCED_DAY",value:"REDUCED_DAY"}],selectedArrayIndex:null,selectedReduced:"DECOM",reducedTypes:["MIN","MAX","AVG","STDDEV"],selectedReducedType:"AVG",description:"",hazardous:!1,internalDisabled:!1,packetsDisabled:!1,itemsDisabled:!1,api:null,ALL:{label:"[ ALL ]",value:"ALL",description:"ALL"},UNKNOWN:{label:"[ UNKNOWN ]",value:"UNKNOWN",description:"UNKNOWN"},LATEST:{label:"LATEST",value:"LATEST",description:"Latest values from all packets"}}},computed:{actualButtonText:function(){return this.selectedPacketName==="ALL"?"Add Target":this.selectedItemName==="ALL"?"Add Packet":this.buttonText},autocompleteDisabled:function(){return this.disabled||this.internalDisabled},buttonDisabled:function(){return this.disabled||this.internalDisabled||this.selectedTargetName===null||this.selectedPacketName===null||this.selectedItemNameWIndex===null},colSize:function(){return this.vertical?12:!1},selectedItemNameWIndex:function(){return this.itemIsArray&&this.selectedArrayIndex!==null&&this.selectedArrayIndex!==this.ALL.label?`${this.selectedItemName}[${this.selectedArrayIndex}]`:this.selectedItemName},includeLatestPacketInDropdown:function(){return this.showLatest&&this.mode==="tlm"},arrayIndexes:function(){let t=this.itemNames.findIndex(i=>i.value===this.selectedItemName),a=[...Array(this.itemNames[t].array).keys()];return(this.allowAll||this.allowAllArrayIndex)&&a.unshift(this.ALL.label),a},itemIsArray:function(){let t=this.itemNames.findIndex(a=>a.value===this.selectedItemName);return!(t===-1||isNaN(this.itemNames[t].array))},isHazardous:function(){return this.hazardous||this.parameterHazardous}},watch:{initialTargetName:function(t){t&&(this.selectedTargetName=t.toUpperCase())},initialPacketName:function(t){t&&(this.selectedPacketName=t.toUpperCase())},initialItemName:function(t){t&&(this.selectedItemName=t.toUpperCase())},mode:function(t,a){this.selectedPacketName=null,this.selectedItemName=null,this.targetNameChanged(this.selectedTargetName)},chooseItem:function(t,a){t?this.updateItems():this.itemNames=[]},itemIsArray:function(t){t?this.selectedArrayIndex||(this.selectedArrayIndex=0):this.selectedArrayIndex=null}},created(){this.internalDisabled=!0,this.api=new r.yi,this.mode==="cmd"&&r.fi.get("/openc3-api/queues").then(t=>{this.queueNames=[{label:"None",value:null}],t.data&&Array.isArray(t.data)&&t.data.forEach(a=>{this.queueNames.push({label:a.name,value:a.name})})}).catch(t=>{console.error("Error fetching queues:",t)}),this.api.get_target_names().then(t=>{this.targetNames=t.flatMap(a=>a=="UNKNOWN"?[]:{label:a,value:a}),this.allowAllTargets&&this.targetNames.unshift(this.ALL),this.selectedTargetName?this.updatePackets():(this.selectedTargetName=this.targetNames[0].value,this.targetNameChanged(this.selectedTargetName)),this.unknown&&this.targetNames.push(this.UNKNOWN)})},methods:{updatePackets:function(){if(this.selectedTargetName==="UNKNOWN"){this.packetNames=[this.UNKNOWN],this.selectedPacketName=this.packetNames[0].value,this.updatePacketDetails(this.UNKNOWN.value),this.description="UNKNOWN";return}if(this.selectedTargetName==="ALL"){this.packetNames=[this.ALL],this.selectedPacketName=this.packetNames[0].value,this.updatePacketDetails(this.ALL.value),this.description="ALL";return}this.internalDisabled=!0;const t=this.mode==="tlm"?"get_all_tlm_names":"get_all_cmd_names";this.api[t](this.selectedTargetName,this.hidden).then(a=>{this.packetNames=a.map(d=>({label:d,value:d})),this.allowAll&&this.packetNames.unshift(this.ALL),this.includeLatestPacketInDropdown&&this.packetNames.unshift(this.LATEST),this.selectedPacketName||(this.packetNames.length===0?this.selectedPacketName=null:(this.selectedPacketName=this.packetNames[0].value,this.selectedPacketName==="LATEST"&&this.packetNames.length>1&&(this.selectedPacketName=this.packetNames[1].value))),this.updatePacketDetails(this.selectedPacketName),this.packetNames.find(d=>d.value===this.selectedPacketName)&&this.chooseItem&&this.updateItems(),this.internalDisabled=!1})},updateItems:function(){if(this.selectedPacketName!=="ALL")if(this.internalDisabled=!0,this.selectedPacketName==="LATEST")this.api.get_all_tlm_item_names(this.selectedTargetName).then(t=>{this.itemNames=t.map(a=>({label:a,value:a,description:`LATEST ${a}`})),this.finishUpdateItems()});else{const t=this.mode==="tlm"?"get_tlm":"get_cmd";this.api[t](this.selectedTargetName,this.selectedPacketName).then(a=>{let i=[];a.items.forEach(d=>{d.hidden||i.push(d)}),this.itemNames=i.map(d=>{let s=d.name;return d.data_type=="DERIVED"&&(s+=" *"),{label:s,value:d.name,description:d.description,array:d.array_size/d.bit_size}}),this.itemNames.sort((d,s)=>d.label>s.label?1:-1),this.finishUpdateItems()})}},finishUpdateItems:function(){this.allowAll&&this.itemNames.unshift(this.ALL),this.selectedItemName||(this.selectedItemName=this.itemNames[0].value),this.description=this.itemNames[0].description,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType,queueName:this.selectedQueueName}),this.internalDisabled=!1},targetNameChanged:function(t){this.selectedTargetName=t,this.selectedPacketName="",this.selectedItemName="",t!==null&&this.updatePackets()},packetNameChanged:function(t){this.selectedItemName="",t!==null&&this.updatePacketDetails(t)},queueNameChanged:function(t){this.selectedQueueName=t,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType,queueName:this.selectedQueueName})},updatePacketDetails:function(t){if(t==="ALL")this.itemsDisabled=!0,this.internalDisabled=!1;else if(t==="LATEST")this.itemsDisabled=!1,this.selectedPacketName="LATEST",this.description="Latest values from all packets",this.hazardous=!1;else{this.itemsDisabled=!1;const a=this.packetNames.find(i=>t===i.value);if(a){this.selectedPacketName=a.value;const i=this.mode==="tlm"?"get_tlm":"get_cmd";this.api[i](this.selectedTargetName,this.selectedPacketName).then(d=>{this.description=d.description,this.hazardous=d.hazardous})}}this.chooseItem?this.updateItems():this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType,queueName:this.selectedQueueName})},itemNameChanged:function(t){const a=this.itemNames.find(i=>t===i.value);a&&(this.selectedItemName=a.value,this.description=a.description,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType,queueName:this.selectedQueueName}))},indexChanged:function(t){this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType,queueName:this.selectedQueueName})},buttonPressed:function(){this.selectedPacketName==="ALL"?this.allTargetPacketItems():this.selectedItemName==="ALL"?this.allPacketItems():this.chooseItem?this.$emit("addItem",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}):this.$emit("addItem",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},allTargetPacketItems:function(){this.packetNames.forEach(t=>{if(t===this.ALL)return;const a=this.mode==="tlm"?"get_tlm":"get_cmd";this.api[a](this.selectedTargetName,t.value).then(i=>{i.items.forEach(d=>{d.hidden||this.$emit("addItem",{targetName:this.selectedTargetName,packetName:t.value,itemName:d.name,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})})})})},allPacketItems:function(){this.itemNames.forEach(t=>{t!==this.ALL&&this.$emit("addItem",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:t.value,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})})}}},y={class:"pt-4 pb-4"};function T(t,a,i,d,s,l){const u=e.resolveComponent("v-autocomplete"),m=e.resolveComponent("v-col"),o=e.resolveComponent("v-combobox"),h=e.resolveComponent("v-btn"),n=e.resolveComponent("v-row"),N=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",y,[e.createVNode(n,{class:"align-center","no-gutters":!i.vertical},{default:e.withCtx(()=>[e.createVNode(m,{cols:l.colSize,class:"tpic-select pr-4","data-test":"select-target"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:s.selectedTargetName,"onUpdate:modelValue":[a[0]||(a[0]=c=>s.selectedTargetName=c),l.targetNameChanged],label:"Select Target","hide-details":"",density:"compact",variant:"outlined",disabled:l.autocompleteDisabled||i.lockTarget,items:s.targetNames,"item-title":"label","item-value":"value"},null,8,["modelValue","disabled","items","onUpdate:modelValue"])]),_:1},8,["cols"]),e.createVNode(m,{cols:l.colSize,class:"tpic-select pr-4","data-test":"select-packet"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:s.selectedPacketName,"onUpdate:modelValue":[a[1]||(a[1]=c=>s.selectedPacketName=c),l.packetNameChanged],label:"Select Packet","hide-details":"",density:"compact",variant:"outlined",disabled:s.packetsDisabled||l.autocompleteDisabled||i.lockPacket,items:s.packetNames,"item-title":"label","item-value":"value"},null,8,["modelValue","disabled","items","onUpdate:modelValue"])]),_:1},8,["cols"]),i.mode==="cmd"&&i.showQueueSelect?(e.openBlock(),e.createBlock(m,{key:0,cols:l.colSize,class:"tpic-select pr-4","data-test":"select-queue"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:s.selectedQueueName,"onUpdate:modelValue":[a[2]||(a[2]=c=>s.selectedQueueName=c),l.queueNameChanged],label:"Select Queue","hide-details":"",density:"compact",variant:"outlined",disabled:l.autocompleteDisabled||s.queueNames.length===1,items:s.queueNames,"item-title":"label","item-value":"value"},null,8,["modelValue","disabled","items","onUpdate:modelValue"])]),_:1},8,["cols"])):e.createCommentVNode("",!0),i.chooseItem?(e.openBlock(),e.createBlock(m,{key:1,cols:l.colSize,class:"tpic-select pr-4","data-test":"select-item"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:s.selectedItemName,"onUpdate:modelValue":[a[3]||(a[3]=c=>s.selectedItemName=c),a[4]||(a[4]=c=>l.itemNameChanged(c))],label:"Select Item","hide-details":"",density:"compact",variant:"outlined",disabled:s.itemsDisabled||l.autocompleteDisabled,items:s.itemNames,"item-title":"label","item-value":"value"},null,8,["modelValue","disabled","items"])]),_:1},8,["cols"])):e.createCommentVNode("",!0),i.chooseItem&&l.itemIsArray?(e.openBlock(),e.createBlock(m,{key:2,cols:"1",class:"tpic-select pr-4","data-test":"array-index",style:{"min-width":"105px"}},{default:e.withCtx(()=>[e.createVNode(o,{modelValue:s.selectedArrayIndex,"onUpdate:modelValue":[a[5]||(a[5]=c=>s.selectedArrayIndex=c),a[6]||(a[6]=c=>l.indexChanged(c))],label:"Index","hide-details":"",density:"compact",variant:"outlined",disabled:s.itemsDisabled||l.autocompleteDisabled,items:l.arrayIndexes,"item-title":"label","item-value":"value"},null,8,["modelValue","disabled","items"])]),_:1})):e.createCommentVNode("",!0),i.buttonText?(e.openBlock(),e.createBlock(m,{key:3,cols:l.colSize,style:{"max-width":"140px"}},{default:e.withCtx(()=>[e.createVNode(h,{disabled:l.buttonDisabled,color:"primary","data-test":"select-send",onClick:l.buttonPressed},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.actualButtonText),1)]),_:1},8,["disabled","onClick"])]),_:1},8,["cols"])):e.createCommentVNode("",!0)]),_:1},8,["no-gutters"]),i.selectTypes?(e.openBlock(),e.createBlock(n,{key:0,class:"pt-6 align-center","no-gutters":""},{default:e.withCtx(()=>[e.createVNode(m,{cols:l.colSize,class:"tpic-select pr-4","data-test":"data-type"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:s.selectedValueType,"onUpdate:modelValue":a[7]||(a[7]=c=>s.selectedValueType=c),label:"Value Type","hide-details":"",density:"compact",variant:"outlined",items:s.valueTypes},null,8,["modelValue","items"])]),_:1},8,["cols"]),e.createVNode(m,{cols:l.colSize,class:"tpic-select pr-4","data-test":"reduced"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:s.selectedReduced,"onUpdate:modelValue":a[8]||(a[8]=c=>s.selectedReduced=c),label:"Reduced","hide-details":"",density:"compact",variant:"outlined",items:s.reductionModes},null,8,["modelValue","items"])]),_:1},8,["cols"]),e.createVNode(m,{cols:l.colSize,class:"tpic-select pr-4","data-test":"reduced-type"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:s.selectedReducedType,"onUpdate:modelValue":a[9]||(a[9]=c=>s.selectedReducedType=c),label:"Reduced Type","hide-details":"",density:"compact",variant:"outlined",disabled:s.selectedReduced==="DECOM",items:s.reducedTypes},null,8,["modelValue","disabled","items"])]),_:1},8,["cols"]),e.createVNode(m,{cols:l.colSize,style:{"max-width":"140px"}},null,8,["cols"])]),_:1})):e.createCommentVNode("",!0),e.createVNode(n,{"no-gutters":"",class:"pt-3 px-3 align-center"},{default:e.withCtx(()=>[e.createVNode(m,{cols:l.colSize,class:e.normalizeClass({"openc3-yellow":l.isHazardous})},{default:e.withCtx(()=>[l.isHazardous?(e.openBlock(),e.createBlock(N,{key:0,class:"mr-1"},{default:e.withCtx(()=>[...a[10]||(a[10]=[e.createTextVNode("mdi-alert",-1)])]),_:1})):e.createCommentVNode("",!0),e.createTextVNode(" Description: "+e.toDisplayString(s.description)+" ",1),l.isHazardous?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" (HAZARDOUS) ")],64)):e.createCommentVNode("",!0)]),_:1},8,["cols","class"])]),_:1})])}const k=p._export_sfc(f,[["render",T],["__scopeId","data-v-337fa0a7"]]);exports.TargetPacketItemChooser=k;
|
|
2
|
-
//# sourceMappingURL=TargetPacketItemChooser-B0IVMSib.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TargetPacketItemChooser-B0IVMSib.cjs","sources":["../src/components/TargetPacketItemChooser.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# A portion of this file was funded by Blue Origin Enterprises, L.P.\n# See https://github.com/OpenC3/cosmos/pull/1957\n-->\n\n<template>\n <div class=\"pt-4 pb-4\">\n <v-row class=\"align-center\" :no-gutters=\"!vertical\">\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-target\">\n <v-autocomplete\n v-model=\"selectedTargetName\"\n label=\"Select Target\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || lockTarget\"\n :items=\"targetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"targetNameChanged\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-packet\">\n <v-autocomplete\n v-model=\"selectedPacketName\"\n label=\"Select Packet\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"packetsDisabled || autocompleteDisabled || lockPacket\"\n :items=\"packetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"packetNameChanged\"\n >\n </v-autocomplete>\n </v-col>\n <v-col\n v-if=\"mode === 'cmd' && showQueueSelect\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-queue\"\n >\n <v-autocomplete\n v-model=\"selectedQueueName\"\n label=\"Select Queue\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || queueNames.length === 1\"\n :items=\"queueNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"queueNameChanged\"\n />\n </v-col>\n <v-col\n v-if=\"chooseItem\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-item\"\n >\n <v-autocomplete\n v-model=\"selectedItemName\"\n label=\"Select Item\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"itemNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"itemNameChanged($event)\"\n />\n </v-col>\n <!-- min-width: 105px is enough to display a 2 digit index -->\n <v-col\n v-if=\"chooseItem && itemIsArray\"\n cols=\"1\"\n class=\"tpic-select pr-4\"\n data-test=\"array-index\"\n style=\"min-width: 105px\"\n >\n <v-combobox\n v-model=\"selectedArrayIndex\"\n label=\"Index\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"arrayIndexes\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"indexChanged($event)\"\n />\n </v-col>\n <v-col v-if=\"buttonText\" :cols=\"colSize\" style=\"max-width: 140px\">\n <v-btn\n :disabled=\"buttonDisabled\"\n color=\"primary\"\n data-test=\"select-send\"\n @click=\"buttonPressed\"\n >\n {{ actualButtonText }}\n </v-btn>\n </v-col>\n </v-row>\n <v-row v-if=\"selectTypes\" class=\"pt-6 align-center\" no-gutters>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"data-type\">\n <v-autocomplete\n v-model=\"selectedValueType\"\n label=\"Value Type\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :items=\"valueTypes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced\">\n <v-autocomplete\n v-model=\"selectedReduced\"\n label=\"Reduced\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :items=\"reductionModes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced-type\">\n <v-autocomplete\n v-model=\"selectedReducedType\"\n label=\"Reduced Type\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"selectedReduced === 'DECOM'\"\n :items=\"reducedTypes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" style=\"max-width: 140px\"> </v-col>\n </v-row>\n <v-row no-gutters class=\"pt-3 px-3 align-center\">\n <v-col :cols=\"colSize\" :class=\"{ 'openc3-yellow': isHazardous }\">\n <v-icon v-if=\"isHazardous\" class=\"mr-1\">mdi-alert</v-icon>\n Description: {{ description }}\n <template v-if=\"isHazardous\"> (HAZARDOUS) </template>\n </v-col>\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n allowAll: {\n type: Boolean,\n default: false,\n },\n allowAllTargets: {\n type: Boolean,\n default: false,\n },\n allowAllArrayIndex: {\n type: Boolean,\n default: false,\n },\n buttonText: {\n type: String,\n default: null,\n },\n chooseItem: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n initialTargetName: {\n type: String,\n default: '',\n },\n initialPacketName: {\n type: String,\n default: '',\n },\n initialItemName: {\n type: String,\n default: '',\n },\n selectTypes: {\n type: Boolean,\n default: false,\n },\n showLatest: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: 'tlm',\n // TODO: add validators throughout\n validator: (propValue) => {\n return ['cmd', 'tlm'].includes(propValue)\n },\n },\n unknown: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n hidden: {\n type: Boolean,\n default: false,\n },\n lockTarget: {\n type: Boolean,\n default: false,\n },\n lockPacket: {\n type: Boolean,\n default: false,\n },\n showQueueSelect: {\n type: Boolean,\n default: true,\n },\n parameterHazardous: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['on-set', 'addItem'],\n data() {\n return {\n targetNames: [],\n selectedTargetName: this.initialTargetName?.toUpperCase(),\n packetNames: [],\n selectedPacketName: this.initialPacketName?.toUpperCase(),\n queueNames: [{ label: 'None', value: null }],\n selectedQueueName: null,\n itemNames: [],\n selectedItemName: this.initialItemName?.toUpperCase(),\n valueTypes: ['CONVERTED', 'RAW'],\n selectedValueType: 'CONVERTED',\n reductionModes: [\n // Map NONE to DECOM for clarity\n { title: 'NONE', value: 'DECOM' },\n { title: 'REDUCED_MINUTE', value: 'REDUCED_MINUTE' },\n { title: 'REDUCED_HOUR', value: 'REDUCED_HOUR' },\n { title: 'REDUCED_DAY', value: 'REDUCED_DAY' },\n ],\n selectedArrayIndex: null,\n selectedReduced: 'DECOM',\n reducedTypes: ['MIN', 'MAX', 'AVG', 'STDDEV'],\n selectedReducedType: 'AVG',\n description: '',\n hazardous: false,\n internalDisabled: false,\n packetsDisabled: false,\n itemsDisabled: false,\n api: null,\n ALL: {\n label: '[ ALL ]',\n value: 'ALL',\n description: 'ALL',\n }, // Constant to indicate all packets or items\n UNKNOWN: {\n label: '[ UNKNOWN ]',\n value: 'UNKNOWN',\n description: 'UNKNOWN',\n },\n LATEST: {\n label: 'LATEST',\n value: 'LATEST',\n description: 'Latest values from all packets',\n }, // Constant to indicate latest values from all packets\n }\n },\n computed: {\n actualButtonText: function () {\n if (this.selectedPacketName === 'ALL') {\n return 'Add Target'\n }\n if (this.selectedItemName === 'ALL') {\n return 'Add Packet'\n }\n return this.buttonText\n },\n autocompleteDisabled: function () {\n return this.disabled || this.internalDisabled\n },\n buttonDisabled: function () {\n return (\n this.disabled ||\n this.internalDisabled ||\n this.selectedTargetName === null ||\n this.selectedPacketName === null ||\n this.selectedItemNameWIndex === null\n )\n },\n colSize: function () {\n return this.vertical ? 12 : false\n },\n selectedItemNameWIndex: function () {\n if (\n this.itemIsArray &&\n this.selectedArrayIndex !== null &&\n this.selectedArrayIndex !== this.ALL.label\n ) {\n return `${this.selectedItemName}[${this.selectedArrayIndex}]`\n } else {\n return this.selectedItemName\n }\n },\n includeLatestPacketInDropdown: function () {\n return this.showLatest && this.mode === 'tlm' // because LATEST cmd doesn't have much use and thus isn't currently implemented\n },\n arrayIndexes: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n let indexes = [...Array(this.itemNames[i].array).keys()]\n if (this.allowAll || this.allowAllArrayIndex) {\n indexes.unshift(this.ALL.label)\n }\n return indexes\n },\n itemIsArray: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n if (i === -1 || isNaN(this.itemNames[i].array)) {\n return false\n } else {\n return true\n }\n },\n isHazardous: function () {\n return this.hazardous || this.parameterHazardous\n },\n },\n watch: {\n initialTargetName: function (val) {\n // These three \"initial\" watchers are here in case the parent component doesn't figure out its initial values\n // until after this component has already been created. All this logic incl. the \"on-set\" events could be\n // simplified with a refactor to use named v-models, but that's probably a significant breaking change.\n if (val) {\n this.selectedTargetName = val.toUpperCase()\n }\n },\n initialPacketName: function (val) {\n if (val) {\n this.selectedPacketName = val.toUpperCase()\n }\n },\n initialItemName: function (val) {\n if (val) {\n this.selectedItemName = val.toUpperCase()\n }\n },\n mode: function (newVal, oldVal) {\n this.selectedPacketName = null\n this.selectedItemName = null\n // This also updates packets and items as needed\n this.targetNameChanged(this.selectedTargetName)\n },\n chooseItem: function (newVal, oldVal) {\n if (newVal) {\n this.updateItems()\n } else {\n this.itemNames = []\n }\n },\n itemIsArray: function (val) {\n if (val) {\n this.selectedArrayIndex ||= 0\n } else {\n this.selectedArrayIndex = null\n }\n },\n },\n created() {\n this.internalDisabled = true\n this.api = new OpenC3Api()\n\n // Fetch queues if in command mode\n if (this.mode === 'cmd') {\n Api.get('/openc3-api/queues')\n .then((response) => {\n this.queueNames = [{ label: 'None', value: null }]\n if (response.data && Array.isArray(response.data)) {\n response.data.forEach((queue) => {\n this.queueNames.push({ label: queue.name, value: queue.name })\n })\n }\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error fetching queues:', error)\n // Keep default \"None\" option even if fetch fails\n })\n }\n\n this.api.get_target_names().then((result) => {\n this.targetNames = result.flatMap((target) => {\n // Ignore the UNKNOWN target as it doesn't make sense to select this\n if (target == 'UNKNOWN') {\n return []\n }\n return { label: target, value: target }\n })\n // TODO: This is a nice enhancement but results in logs of API calls for many targets\n // See if we can reduce this to a single API call\n // Filter out any targets without packets\n // for (let i = this.targetNames.length - 1; i >= 0; i--) {\n // const cmd =\n // this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n // await this.api[cmd](this.targetNames[i].value).then((names) => {\n // if (names.length === 0) {\n // this.targetNames.splice(i, 1)\n // }\n // })\n // }\n if (this.allowAllTargets) {\n this.targetNames.unshift(this.ALL)\n }\n // If the initial target name is not set, default to the first target\n // which also updates packets and items as needed\n if (!this.selectedTargetName) {\n this.selectedTargetName = this.targetNames[0].value\n this.targetNameChanged(this.selectedTargetName)\n } else {\n // Selected target name was set but we still have to update packets\n this.updatePackets()\n }\n if (this.unknown) {\n this.targetNames.push(this.UNKNOWN)\n }\n })\n },\n methods: {\n updatePackets: function () {\n if (this.selectedTargetName === 'UNKNOWN') {\n this.packetNames = [this.UNKNOWN]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.UNKNOWN.value)\n this.description = 'UNKNOWN'\n return\n }\n if (this.selectedTargetName === 'ALL') {\n this.packetNames = [this.ALL]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.ALL.value)\n this.description = 'ALL'\n return\n }\n this.internalDisabled = true\n const cmd =\n this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n this.api[cmd](this.selectedTargetName, this.hidden).then((names) => {\n this.packetNames = names.map((name) => {\n return {\n label: name,\n value: name,\n }\n })\n if (this.allowAll) {\n this.packetNames.unshift(this.ALL)\n }\n if (this.includeLatestPacketInDropdown) {\n this.packetNames.unshift(this.LATEST)\n }\n if (!this.selectedPacketName) {\n if (this.packetNames.length === 0) {\n this.selectedPacketName = null\n } else {\n this.selectedPacketName = this.packetNames[0].value\n if (\n this.selectedPacketName === 'LATEST' &&\n this.packetNames.length > 1\n ) {\n this.selectedPacketName = this.packetNames[1].value\n }\n }\n }\n this.updatePacketDetails(this.selectedPacketName)\n const item = this.packetNames.find((packet) => {\n return packet.value === this.selectedPacketName\n })\n if (item && this.chooseItem) {\n this.updateItems()\n }\n this.internalDisabled = false\n })\n },\n\n updateItems: function () {\n if (this.selectedPacketName === 'ALL') {\n return\n }\n this.internalDisabled = true\n\n if (this.selectedPacketName === 'LATEST') {\n this.api\n .get_all_tlm_item_names(this.selectedTargetName)\n .then((items) => {\n this.itemNames = items.map((item) => {\n return {\n label: item,\n value: item,\n description: `LATEST ${item}`,\n // Don't handle array for LATEST\n }\n })\n this.finishUpdateItems()\n })\n } else {\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n let items = []\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n items.push(item)\n }\n })\n this.itemNames = items.map((item) => {\n let label = item.name\n if (item.data_type == 'DERIVED') {\n label += ' *'\n }\n return {\n label: label,\n value: item.name,\n description: item.description,\n array: item.array_size / item.bit_size,\n }\n })\n this.itemNames.sort((a, b) => (a.label > b.label ? 1 : -1))\n this.finishUpdateItems()\n },\n )\n }\n },\n finishUpdateItems: function () {\n if (this.allowAll) {\n this.itemNames.unshift(this.ALL)\n }\n if (!this.selectedItemName) {\n this.selectedItemName = this.itemNames[0].value\n }\n this.description = this.itemNames[0].description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n this.internalDisabled = false\n },\n\n targetNameChanged: function (value) {\n this.selectedTargetName = value\n this.selectedPacketName = ''\n this.selectedItemName = ''\n // When the target name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packets\n if (value !== null) {\n this.updatePackets()\n }\n },\n\n packetNameChanged: function (value) {\n this.selectedItemName = ''\n // When the packet name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packet details\n if (value !== null) {\n this.updatePacketDetails(value)\n }\n },\n\n queueNameChanged: function (value) {\n this.selectedQueueName = value\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n updatePacketDetails: function (value) {\n if (value === 'ALL') {\n this.itemsDisabled = true\n this.internalDisabled = false\n } else if (value === 'LATEST') {\n this.itemsDisabled = false\n this.selectedPacketName = 'LATEST'\n this.description = 'Latest values from all packets'\n this.hazardous = false\n } else {\n this.itemsDisabled = false\n const packet = this.packetNames.find((packet) => {\n return value === packet.value\n })\n if (packet) {\n this.selectedPacketName = packet.value\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.description = packet.description\n this.hazardous = packet.hazardous\n },\n )\n }\n }\n if (this.chooseItem) {\n this.updateItems()\n } else {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n itemNameChanged: function (value) {\n const item = this.itemNames.find((item) => {\n return value === item.value\n })\n if (item) {\n this.selectedItemName = item.value\n this.description = item.description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n indexChanged: function (value) {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n buttonPressed: function () {\n if (this.selectedPacketName === 'ALL') {\n this.allTargetPacketItems()\n } else if (this.selectedItemName === 'ALL') {\n this.allPacketItems()\n } else if (this.chooseItem) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n } else {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n allTargetPacketItems: function () {\n this.packetNames.forEach((packetName) => {\n if (packetName === this.ALL) return\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, packetName.value).then(\n (packet) => {\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: packetName.value,\n itemName: item['name'],\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n })\n },\n )\n })\n },\n\n allPacketItems: function () {\n this.itemNames.forEach((item) => {\n if (item === this.ALL) return\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: item.value,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n },\n}\n</script>\n<style scoped>\n.button {\n padding: 4px;\n}\n.tpic-select {\n max-width: 400px;\n}\n.v-autocomplete .v-select__selections {\n word-break: break-all;\n}\n</style>\n"],"names":["_sfc_main","propValue","_a","_b","_c","i","item","indexes","val","newVal","oldVal","OpenC3Api","Api","response","queue","error","result","target","cmd","names","name","packet","items","label","a","b","value","packetName","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_row","$props","_component_v_col","$options","_component_v_autocomplete","$data","$event","_createBlock","_cache","_component_v_combobox","_component_v_btn","_component_v_icon","_toDisplayString","_Fragment"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TargetPacketItemChooser-D5h9Octy.js","sources":["../src/components/TargetPacketItemChooser.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# A portion of this file was funded by Blue Origin Enterprises, L.P.\n# See https://github.com/OpenC3/cosmos/pull/1957\n-->\n\n<template>\n <div class=\"pt-4 pb-4\">\n <v-row class=\"align-center\" :no-gutters=\"!vertical\">\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-target\">\n <v-autocomplete\n v-model=\"selectedTargetName\"\n label=\"Select Target\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || lockTarget\"\n :items=\"targetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"targetNameChanged\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-packet\">\n <v-autocomplete\n v-model=\"selectedPacketName\"\n label=\"Select Packet\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"packetsDisabled || autocompleteDisabled || lockPacket\"\n :items=\"packetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"packetNameChanged\"\n >\n </v-autocomplete>\n </v-col>\n <v-col\n v-if=\"mode === 'cmd' && showQueueSelect\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-queue\"\n >\n <v-autocomplete\n v-model=\"selectedQueueName\"\n label=\"Select Queue\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || queueNames.length === 1\"\n :items=\"queueNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"queueNameChanged\"\n />\n </v-col>\n <v-col\n v-if=\"chooseItem\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-item\"\n >\n <v-autocomplete\n v-model=\"selectedItemName\"\n label=\"Select Item\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"itemNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"itemNameChanged($event)\"\n />\n </v-col>\n <!-- min-width: 105px is enough to display a 2 digit index -->\n <v-col\n v-if=\"chooseItem && itemIsArray\"\n cols=\"1\"\n class=\"tpic-select pr-4\"\n data-test=\"array-index\"\n style=\"min-width: 105px\"\n >\n <v-combobox\n v-model=\"selectedArrayIndex\"\n label=\"Index\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"arrayIndexes\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"indexChanged($event)\"\n />\n </v-col>\n <v-col v-if=\"buttonText\" :cols=\"colSize\" style=\"max-width: 140px\">\n <v-btn\n :disabled=\"buttonDisabled\"\n color=\"primary\"\n data-test=\"select-send\"\n @click=\"buttonPressed\"\n >\n {{ actualButtonText }}\n </v-btn>\n </v-col>\n </v-row>\n <v-row v-if=\"selectTypes\" class=\"pt-6 align-center\" no-gutters>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"data-type\">\n <v-autocomplete\n v-model=\"selectedValueType\"\n label=\"Value Type\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :items=\"valueTypes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced\">\n <v-autocomplete\n v-model=\"selectedReduced\"\n label=\"Reduced\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :items=\"reductionModes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced-type\">\n <v-autocomplete\n v-model=\"selectedReducedType\"\n label=\"Reduced Type\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"selectedReduced === 'DECOM'\"\n :items=\"reducedTypes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" style=\"max-width: 140px\"> </v-col>\n </v-row>\n <v-row no-gutters class=\"pt-3 px-3 align-center\">\n <v-col :cols=\"colSize\" :class=\"{ 'openc3-yellow': isHazardous }\">\n <v-icon v-if=\"isHazardous\" class=\"mr-1\">mdi-alert</v-icon>\n Description: {{ description }}\n <template v-if=\"isHazardous\"> (HAZARDOUS) </template>\n </v-col>\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n allowAll: {\n type: Boolean,\n default: false,\n },\n allowAllTargets: {\n type: Boolean,\n default: false,\n },\n allowAllArrayIndex: {\n type: Boolean,\n default: false,\n },\n buttonText: {\n type: String,\n default: null,\n },\n chooseItem: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n initialTargetName: {\n type: String,\n default: '',\n },\n initialPacketName: {\n type: String,\n default: '',\n },\n initialItemName: {\n type: String,\n default: '',\n },\n selectTypes: {\n type: Boolean,\n default: false,\n },\n showLatest: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: 'tlm',\n // TODO: add validators throughout\n validator: (propValue) => {\n return ['cmd', 'tlm'].includes(propValue)\n },\n },\n unknown: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n hidden: {\n type: Boolean,\n default: false,\n },\n lockTarget: {\n type: Boolean,\n default: false,\n },\n lockPacket: {\n type: Boolean,\n default: false,\n },\n showQueueSelect: {\n type: Boolean,\n default: true,\n },\n parameterHazardous: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['on-set', 'addItem'],\n data() {\n return {\n targetNames: [],\n selectedTargetName: this.initialTargetName?.toUpperCase(),\n packetNames: [],\n selectedPacketName: this.initialPacketName?.toUpperCase(),\n queueNames: [{ label: 'None', value: null }],\n selectedQueueName: null,\n itemNames: [],\n selectedItemName: this.initialItemName?.toUpperCase(),\n valueTypes: ['CONVERTED', 'RAW'],\n selectedValueType: 'CONVERTED',\n reductionModes: [\n // Map NONE to DECOM for clarity\n { title: 'NONE', value: 'DECOM' },\n { title: 'REDUCED_MINUTE', value: 'REDUCED_MINUTE' },\n { title: 'REDUCED_HOUR', value: 'REDUCED_HOUR' },\n { title: 'REDUCED_DAY', value: 'REDUCED_DAY' },\n ],\n selectedArrayIndex: null,\n selectedReduced: 'DECOM',\n reducedTypes: ['MIN', 'MAX', 'AVG', 'STDDEV'],\n selectedReducedType: 'AVG',\n description: '',\n hazardous: false,\n internalDisabled: false,\n packetsDisabled: false,\n itemsDisabled: false,\n api: null,\n ALL: {\n label: '[ ALL ]',\n value: 'ALL',\n description: 'ALL',\n }, // Constant to indicate all packets or items\n UNKNOWN: {\n label: '[ UNKNOWN ]',\n value: 'UNKNOWN',\n description: 'UNKNOWN',\n },\n LATEST: {\n label: 'LATEST',\n value: 'LATEST',\n description: 'Latest values from all packets',\n }, // Constant to indicate latest values from all packets\n }\n },\n computed: {\n actualButtonText: function () {\n if (this.selectedPacketName === 'ALL') {\n return 'Add Target'\n }\n if (this.selectedItemName === 'ALL') {\n return 'Add Packet'\n }\n return this.buttonText\n },\n autocompleteDisabled: function () {\n return this.disabled || this.internalDisabled\n },\n buttonDisabled: function () {\n return (\n this.disabled ||\n this.internalDisabled ||\n this.selectedTargetName === null ||\n this.selectedPacketName === null ||\n this.selectedItemNameWIndex === null\n )\n },\n colSize: function () {\n return this.vertical ? 12 : false\n },\n selectedItemNameWIndex: function () {\n if (\n this.itemIsArray &&\n this.selectedArrayIndex !== null &&\n this.selectedArrayIndex !== this.ALL.label\n ) {\n return `${this.selectedItemName}[${this.selectedArrayIndex}]`\n } else {\n return this.selectedItemName\n }\n },\n includeLatestPacketInDropdown: function () {\n return this.showLatest && this.mode === 'tlm' // because LATEST cmd doesn't have much use and thus isn't currently implemented\n },\n arrayIndexes: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n let indexes = [...Array(this.itemNames[i].array).keys()]\n if (this.allowAll || this.allowAllArrayIndex) {\n indexes.unshift(this.ALL.label)\n }\n return indexes\n },\n itemIsArray: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n if (i === -1 || isNaN(this.itemNames[i].array)) {\n return false\n } else {\n return true\n }\n },\n isHazardous: function () {\n return this.hazardous || this.parameterHazardous\n },\n },\n watch: {\n initialTargetName: function (val) {\n // These three \"initial\" watchers are here in case the parent component doesn't figure out its initial values\n // until after this component has already been created. All this logic incl. the \"on-set\" events could be\n // simplified with a refactor to use named v-models, but that's probably a significant breaking change.\n if (val) {\n this.selectedTargetName = val.toUpperCase()\n }\n },\n initialPacketName: function (val) {\n if (val) {\n this.selectedPacketName = val.toUpperCase()\n }\n },\n initialItemName: function (val) {\n if (val) {\n this.selectedItemName = val.toUpperCase()\n }\n },\n mode: function (newVal, oldVal) {\n this.selectedPacketName = null\n this.selectedItemName = null\n // This also updates packets and items as needed\n this.targetNameChanged(this.selectedTargetName)\n },\n chooseItem: function (newVal, oldVal) {\n if (newVal) {\n this.updateItems()\n } else {\n this.itemNames = []\n }\n },\n itemIsArray: function (val) {\n if (val) {\n this.selectedArrayIndex ||= 0\n } else {\n this.selectedArrayIndex = null\n }\n },\n },\n created() {\n this.internalDisabled = true\n this.api = new OpenC3Api()\n\n // Fetch queues if in command mode\n if (this.mode === 'cmd') {\n Api.get('/openc3-api/queues')\n .then((response) => {\n this.queueNames = [{ label: 'None', value: null }]\n if (response.data && Array.isArray(response.data)) {\n response.data.forEach((queue) => {\n this.queueNames.push({ label: queue.name, value: queue.name })\n })\n }\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error fetching queues:', error)\n // Keep default \"None\" option even if fetch fails\n })\n }\n\n this.api.get_target_names().then((result) => {\n this.targetNames = result.flatMap((target) => {\n // Ignore the UNKNOWN target as it doesn't make sense to select this\n if (target == 'UNKNOWN') {\n return []\n }\n return { label: target, value: target }\n })\n // TODO: This is a nice enhancement but results in logs of API calls for many targets\n // See if we can reduce this to a single API call\n // Filter out any targets without packets\n // for (let i = this.targetNames.length - 1; i >= 0; i--) {\n // const cmd =\n // this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n // await this.api[cmd](this.targetNames[i].value).then((names) => {\n // if (names.length === 0) {\n // this.targetNames.splice(i, 1)\n // }\n // })\n // }\n if (this.allowAllTargets) {\n this.targetNames.unshift(this.ALL)\n }\n // If the initial target name is not set, default to the first target\n // which also updates packets and items as needed\n if (!this.selectedTargetName) {\n this.selectedTargetName = this.targetNames[0].value\n this.targetNameChanged(this.selectedTargetName)\n } else {\n // Selected target name was set but we still have to update packets\n this.updatePackets()\n }\n if (this.unknown) {\n this.targetNames.push(this.UNKNOWN)\n }\n })\n },\n methods: {\n updatePackets: function () {\n if (this.selectedTargetName === 'UNKNOWN') {\n this.packetNames = [this.UNKNOWN]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.UNKNOWN.value)\n this.description = 'UNKNOWN'\n return\n }\n if (this.selectedTargetName === 'ALL') {\n this.packetNames = [this.ALL]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.ALL.value)\n this.description = 'ALL'\n return\n }\n this.internalDisabled = true\n const cmd =\n this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n this.api[cmd](this.selectedTargetName, this.hidden).then((names) => {\n this.packetNames = names.map((name) => {\n return {\n label: name,\n value: name,\n }\n })\n if (this.allowAll) {\n this.packetNames.unshift(this.ALL)\n }\n if (this.includeLatestPacketInDropdown) {\n this.packetNames.unshift(this.LATEST)\n }\n if (!this.selectedPacketName) {\n if (this.packetNames.length === 0) {\n this.selectedPacketName = null\n } else {\n this.selectedPacketName = this.packetNames[0].value\n if (\n this.selectedPacketName === 'LATEST' &&\n this.packetNames.length > 1\n ) {\n this.selectedPacketName = this.packetNames[1].value\n }\n }\n }\n this.updatePacketDetails(this.selectedPacketName)\n const item = this.packetNames.find((packet) => {\n return packet.value === this.selectedPacketName\n })\n if (item && this.chooseItem) {\n this.updateItems()\n }\n this.internalDisabled = false\n })\n },\n\n updateItems: function () {\n if (this.selectedPacketName === 'ALL') {\n return\n }\n this.internalDisabled = true\n\n if (this.selectedPacketName === 'LATEST') {\n this.api\n .get_all_tlm_item_names(this.selectedTargetName)\n .then((items) => {\n this.itemNames = items.map((item) => {\n return {\n label: item,\n value: item,\n description: `LATEST ${item}`,\n // Don't handle array for LATEST\n }\n })\n this.finishUpdateItems()\n })\n } else {\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n let items = []\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n items.push(item)\n }\n })\n this.itemNames = items.map((item) => {\n let label = item.name\n if (item.data_type == 'DERIVED') {\n label += ' *'\n }\n return {\n label: label,\n value: item.name,\n description: item.description,\n array: item.array_size / item.bit_size,\n }\n })\n this.itemNames.sort((a, b) => (a.label > b.label ? 1 : -1))\n this.finishUpdateItems()\n },\n )\n }\n },\n finishUpdateItems: function () {\n if (this.allowAll) {\n this.itemNames.unshift(this.ALL)\n }\n if (!this.selectedItemName) {\n this.selectedItemName = this.itemNames[0].value\n }\n this.description = this.itemNames[0].description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n this.internalDisabled = false\n },\n\n targetNameChanged: function (value) {\n this.selectedTargetName = value\n this.selectedPacketName = ''\n this.selectedItemName = ''\n // When the target name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packets\n if (value !== null) {\n this.updatePackets()\n }\n },\n\n packetNameChanged: function (value) {\n this.selectedItemName = ''\n // When the packet name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packet details\n if (value !== null) {\n this.updatePacketDetails(value)\n }\n },\n\n queueNameChanged: function (value) {\n this.selectedQueueName = value\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n updatePacketDetails: function (value) {\n if (value === 'ALL') {\n this.itemsDisabled = true\n this.internalDisabled = false\n } else if (value === 'LATEST') {\n this.itemsDisabled = false\n this.selectedPacketName = 'LATEST'\n this.description = 'Latest values from all packets'\n this.hazardous = false\n } else {\n this.itemsDisabled = false\n const packet = this.packetNames.find((packet) => {\n return value === packet.value\n })\n if (packet) {\n this.selectedPacketName = packet.value\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.description = packet.description\n this.hazardous = packet.hazardous\n },\n )\n }\n }\n if (this.chooseItem) {\n this.updateItems()\n } else {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n itemNameChanged: function (value) {\n const item = this.itemNames.find((item) => {\n return value === item.value\n })\n if (item) {\n this.selectedItemName = item.value\n this.description = item.description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n indexChanged: function (value) {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n buttonPressed: function () {\n if (this.selectedPacketName === 'ALL') {\n this.allTargetPacketItems()\n } else if (this.selectedItemName === 'ALL') {\n this.allPacketItems()\n } else if (this.chooseItem) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n } else {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n allTargetPacketItems: function () {\n this.packetNames.forEach((packetName) => {\n if (packetName === this.ALL) return\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, packetName.value).then(\n (packet) => {\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: packetName.value,\n itemName: item['name'],\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n })\n },\n )\n })\n },\n\n allPacketItems: function () {\n this.itemNames.forEach((item) => {\n if (item === this.ALL) return\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: item.value,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n },\n}\n</script>\n<style scoped>\n.button {\n padding: 4px;\n}\n.tpic-select {\n max-width: 400px;\n}\n.v-autocomplete .v-select__selections {\n word-break: break-all;\n}\n</style>\n"],"names":["_sfc_main","propValue","_a","_b","_c","i","item","indexes","val","newVal","oldVal","OpenC3Api","Api","response","queue","error","result","target","cmd","names","name","packet","items","label","a","b","value","packetName","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_row","$props","_component_v_col","$options","_component_v_autocomplete","$data","$event","_createBlock","_cache","_component_v_combobox","_component_v_btn","_component_v_icon","_toDisplayString","_Fragment"],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { W as o } from "./Widget-6-Nvewdp.js";
|
|
2
|
-
import { T as r } from "./timeFilters-BKnCM4rv.js";
|
|
3
|
-
import { resolveComponent as s, createBlock as a, openBlock as n, normalizeStyle as p } from "vue";
|
|
4
|
-
import { _ as u } from "./CustomIcon-B9m73Gqm.js";
|
|
5
|
-
const d = {
|
|
6
|
-
mixins: [o, r],
|
|
7
|
-
data() {
|
|
8
|
-
return {
|
|
9
|
-
label: "Time",
|
|
10
|
-
timeValue: ""
|
|
11
|
-
};
|
|
12
|
-
},
|
|
13
|
-
created() {
|
|
14
|
-
this.parameters[0] && (this.label = this.parameters[0]), this.timeValue = this.formatTimeHMS(/* @__PURE__ */ new Date(), this.screenTimeZone);
|
|
15
|
-
},
|
|
16
|
-
methods: {
|
|
17
|
-
text() {
|
|
18
|
-
return this.timeValue;
|
|
19
|
-
},
|
|
20
|
-
time() {
|
|
21
|
-
return this.timeValue;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
function f(i, t, c, _, e, h) {
|
|
26
|
-
const l = s("v-text-field");
|
|
27
|
-
return n(), a(l, {
|
|
28
|
-
modelValue: e.timeValue,
|
|
29
|
-
"onUpdate:modelValue": t[0] || (t[0] = (m) => e.timeValue = m),
|
|
30
|
-
label: e.label,
|
|
31
|
-
style: p(i.computedStyle),
|
|
32
|
-
type: "time",
|
|
33
|
-
"hide-details": ""
|
|
34
|
-
}, null, 8, ["modelValue", "label", "style"]);
|
|
35
|
-
}
|
|
36
|
-
const y = /* @__PURE__ */ u(d, [["render", f]]);
|
|
37
|
-
export {
|
|
38
|
-
y as default
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=TimeWidget-CWLJZ2bt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TimeWidget-CWLJZ2bt.js","sources":["../src/widgets/TimeWidget.vue"],"sourcesContent":["<!--\n# Copyright 2024 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=\"timeValue\"\n :label=\"label\"\n :style=\"computedStyle\"\n type=\"time\"\n hide-details\n />\n</template>\n\n<script>\nimport Widget from './Widget'\nimport { TimeFilters } from '@/util'\n\nexport default {\n mixins: [Widget, TimeFilters],\n data() {\n return {\n label: 'Time',\n timeValue: '',\n }\n },\n created() {\n if (this.parameters[0]) {\n this.label = this.parameters[0]\n }\n this.timeValue = this.formatTimeHMS(new Date(), this.screenTimeZone)\n },\n methods: {\n text() {\n return this.timeValue\n },\n time() {\n return this.timeValue\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","TimeFilters","_createBlock","_component_v_text_field","$data","$event","_ctx"],"mappings":";;;;AAgCA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,GAAQC,CAAW;AAAA,EAC5B,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,UAAU;AACR,IAAI,KAAK,WAAW,CAAC,MACnB,KAAK,QAAQ,KAAK,WAAW,CAAC,IAEhC,KAAK,YAAY,KAAK,cAAc,oBAAI,KAAI,GAAI,KAAK,cAAc;AAAA,EACrE;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AACL,aAAO,KAAK;AAAA,IACd;AAAA,IACA,OAAO;AACL,aAAO,KAAK;AAAA,IACd;AAAA;AAEJ;;;cAnCEC,EAMEC,GAAA;AAAA,gBALSC,EAAA;AAAA,kDAAAA,EAAA,YAASC;AAAA,IACjB,OAAOD,EAAA;AAAA,IACP,SAAOE,EAAA,aAAa;AAAA,IACrB,MAAK;AAAA,IACL,gBAAA;AAAA;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./Widget-DdxHKVWn.cjs"),n=require("./timeFilters-CJFxfjqN.cjs"),e=require("vue"),m=require("./CustomIcon-CEc927h0.cjs"),u={mixins:[s.Widget,n.TimeFilters],data(){return{label:"Time",timeValue:""}},created(){this.parameters[0]&&(this.label=this.parameters[0]),this.timeValue=this.formatTimeHMS(new Date,this.screenTimeZone)},methods:{text(){return this.timeValue},time(){return this.timeValue}}};function a(l,i,d,p,t,f){const r=e.resolveComponent("v-text-field");return e.openBlock(),e.createBlock(r,{modelValue:t.timeValue,"onUpdate:modelValue":i[0]||(i[0]=o=>t.timeValue=o),label:t.label,style:e.normalizeStyle(l.computedStyle),type:"time","hide-details":""},null,8,["modelValue","label","style"])}const c=m._export_sfc(u,[["render",a]]);exports.default=c;
|
|
2
|
-
//# sourceMappingURL=TimeWidget-W-flXfLb.cjs.map
|