@openc3/vue-common 6.9.2 → 6.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArrayWidget-Barb7cCJ.cjs → ArrayWidget-ByKRAWXn.cjs} +2 -2
- package/dist/{ArrayWidget-Barb7cCJ.cjs.map → ArrayWidget-ByKRAWXn.cjs.map} +1 -1
- package/dist/{ArrayWidget-DUTccTH3.js → ArrayWidget-CR7Wpw3N.js} +4 -4
- package/dist/{ArrayWidget-DUTccTH3.js.map → ArrayWidget-CR7Wpw3N.js.map} +1 -1
- package/dist/{ArrayplotWidget-CQRRIpFr.cjs → ArrayplotWidget-Cty7KQ_h.cjs} +2 -2
- package/dist/{ArrayplotWidget-CQRRIpFr.cjs.map → ArrayplotWidget-Cty7KQ_h.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-BeNF76NM.js → ArrayplotWidget-DDEd-jRJ.js} +3 -3
- package/dist/{ArrayplotWidget-BeNF76NM.js.map → ArrayplotWidget-DDEd-jRJ.js.map} +1 -1
- package/dist/{BarColumn-ooUZaRUq.cjs → BarColumn-BZSUr33b.cjs} +2 -2
- package/dist/{BarColumn-ooUZaRUq.cjs.map → BarColumn-BZSUr33b.cjs.map} +1 -1
- package/dist/{BarColumn-Dn6MDJoo.js → BarColumn-XWs-3Cwb.js} +3 -3
- package/dist/{BarColumn-Dn6MDJoo.js.map → BarColumn-XWs-3Cwb.js.map} +1 -1
- package/dist/{BlockWidget-BDkZljH8.cjs → BlockWidget-BDzoqpxO.cjs} +2 -2
- package/dist/{BlockWidget-BDkZljH8.cjs.map → BlockWidget-BDzoqpxO.cjs.map} +1 -1
- package/dist/{BlockWidget-BXQlPVQI.js → BlockWidget-CfFgdNSv.js} +4 -4
- package/dist/{BlockWidget-BXQlPVQI.js.map → BlockWidget-CfFgdNSv.js.map} +1 -1
- package/dist/{ButtonWidget-5ybX-zVD.cjs → ButtonWidget-BBMDS_YF.cjs} +3 -3
- package/dist/{ButtonWidget-5ybX-zVD.cjs.map → ButtonWidget-BBMDS_YF.cjs.map} +1 -1
- package/dist/{ButtonWidget-D8ncnhlr.js → ButtonWidget-BaSvtElA.js} +10 -10
- package/dist/{ButtonWidget-D8ncnhlr.js.map → ButtonWidget-BaSvtElA.js.map} +1 -1
- package/dist/{CanvasWidget-D4ZHOTxU.cjs → CanvasWidget-CFNpgqfW.cjs} +2 -2
- package/dist/{CanvasWidget-D4ZHOTxU.cjs.map → CanvasWidget-CFNpgqfW.cjs.map} +1 -1
- package/dist/{CanvasWidget-IkZPgKME.js → CanvasWidget-DcwDi5Zk.js} +2 -2
- package/dist/{CanvasWidget-IkZPgKME.js.map → CanvasWidget-DcwDi5Zk.js.map} +1 -1
- package/dist/{CanvasdotWidget-Ceu6X0ma.js → CanvasdotWidget--awMOWyz.js} +2 -2
- package/dist/{CanvasdotWidget-Ceu6X0ma.js.map → CanvasdotWidget--awMOWyz.js.map} +1 -1
- package/dist/{CanvasdotWidget-C_M5yCv9.cjs → CanvasdotWidget-BZ9TrTvw.cjs} +2 -2
- package/dist/{CanvasdotWidget-C_M5yCv9.cjs.map → CanvasdotWidget-BZ9TrTvw.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-BiWHp93X.cjs → CanvasimageWidget-Dk15uRRu.cjs} +2 -2
- package/dist/{CanvasimageWidget-BiWHp93X.cjs.map → CanvasimageWidget-Dk15uRRu.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-Bnx5rUVW.js → CanvasimageWidget-YP1pCtvb.js} +3 -3
- package/dist/{CanvasimageWidget-Bnx5rUVW.js.map → CanvasimageWidget-YP1pCtvb.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-CVdY8iLq.cjs → CanvasimagevalueWidget-BQHjJCuq.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-CVdY8iLq.cjs.map → CanvasimagevalueWidget-BQHjJCuq.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-CFO-XDML.js → CanvasimagevalueWidget-CjVHb2uj.js} +3 -3
- package/dist/{CanvasimagevalueWidget-CFO-XDML.js.map → CanvasimagevalueWidget-CjVHb2uj.js.map} +1 -1
- package/dist/{CanvaslabelWidget-C5wyN8dS.js → CanvaslabelWidget-DoMplTTO.js} +2 -2
- package/dist/{CanvaslabelWidget-C5wyN8dS.js.map → CanvaslabelWidget-DoMplTTO.js.map} +1 -1
- package/dist/{CanvaslabelWidget-U4P4GDpI.cjs → CanvaslabelWidget-Dw1YmiY0.cjs} +2 -2
- package/dist/{CanvaslabelWidget-U4P4GDpI.cjs.map → CanvaslabelWidget-Dw1YmiY0.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-C60wTi40.cjs → CanvaslabelvalueWidget-BYmsu9r_.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-C60wTi40.cjs.map → CanvaslabelvalueWidget-BYmsu9r_.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-CXr6zhdn.js → CanvaslabelvalueWidget-Dyo_ogHn.js} +2 -2
- package/dist/{CanvaslabelvalueWidget-CXr6zhdn.js.map → CanvaslabelvalueWidget-Dyo_ogHn.js.map} +1 -1
- package/dist/{CanvaslineWidget-DW2l3EAG.js → CanvaslineWidget-D7W1TIxm.js} +2 -2
- package/dist/{CanvaslineWidget-DW2l3EAG.js.map → CanvaslineWidget-D7W1TIxm.js.map} +1 -1
- package/dist/{CanvaslineWidget-CzOtvkcR.cjs → CanvaslineWidget-tm194dw1.cjs} +2 -2
- package/dist/{CanvaslineWidget-CzOtvkcR.cjs.map → CanvaslineWidget-tm194dw1.cjs.map} +1 -1
- package/dist/{CanvaslinevalueWidget-UJ0xa8-8.js → CanvaslinevalueWidget-BOZyJuLE.js} +2 -2
- package/dist/{CanvaslinevalueWidget-UJ0xa8-8.js.map → CanvaslinevalueWidget-BOZyJuLE.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-D20bbhm_.cjs → CanvaslinevalueWidget-DM5c-ciY.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-D20bbhm_.cjs.map → CanvaslinevalueWidget-DM5c-ciY.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-BF5cvQHd.js → CheckbuttonWidget-B1E4BC6v.js} +2 -2
- package/dist/{CheckbuttonWidget-BF5cvQHd.js.map → CheckbuttonWidget-B1E4BC6v.js.map} +1 -1
- package/dist/{CheckbuttonWidget-dStQF0Yp.cjs → CheckbuttonWidget-BSvTWD3x.cjs} +2 -2
- package/dist/{CheckbuttonWidget-dStQF0Yp.cjs.map → CheckbuttonWidget-BSvTWD3x.cjs.map} +1 -1
- package/dist/{ClassificationBanners-CTChOmRf.cjs → ClassificationBanners-CzZoKcRy.cjs} +2 -2
- package/dist/{ClassificationBanners-CTChOmRf.cjs.map → ClassificationBanners-CzZoKcRy.cjs.map} +1 -1
- package/dist/{ClassificationBanners-CDc_06x9.js → ClassificationBanners-DQeVwmYp.js} +2 -2
- package/dist/{ClassificationBanners-CDc_06x9.js.map → ClassificationBanners-DQeVwmYp.js.map} +1 -1
- package/dist/{ComboboxWidget-Di1O9VBF.js → ComboboxWidget-BExUBH57.js} +2 -2
- package/dist/{ComboboxWidget-Di1O9VBF.js.map → ComboboxWidget-BExUBH57.js.map} +1 -1
- package/dist/{ComboboxWidget-D4h-0V0x.cjs → ComboboxWidget-B_KAnIVB.cjs} +2 -2
- package/dist/{ComboboxWidget-D4h-0V0x.cjs.map → ComboboxWidget-B_KAnIVB.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-CZHVDFjK.js → CriticalCmdDialog-BtzhxuZi.js} +16 -16
- package/dist/CriticalCmdDialog-BtzhxuZi.js.map +1 -0
- package/dist/{CriticalCmdDialog-EvK998xs.cjs → CriticalCmdDialog-CeohXoAG.cjs} +2 -2
- package/dist/CriticalCmdDialog-CeohXoAG.cjs.map +1 -0
- package/dist/{DateWidget-GiUOvEZO.js → DateWidget-_ZmPsi2l.js} +2 -2
- package/dist/{DateWidget-GiUOvEZO.js.map → DateWidget-_ZmPsi2l.js.map} +1 -1
- package/dist/{DateWidget-BAFINBB6.cjs → DateWidget-kTJBAHVp.cjs} +2 -2
- package/dist/{DateWidget-BAFINBB6.cjs.map → DateWidget-kTJBAHVp.cjs.map} +1 -1
- package/dist/DetailsDialog-Bc_VEG95.cjs +2 -0
- package/dist/DetailsDialog-Bc_VEG95.cjs.map +1 -0
- package/dist/{DetailsDialog-Ji0jA6sd.js → DetailsDialog-Bq7SS7bc.js} +76 -73
- package/dist/DetailsDialog-Bq7SS7bc.js.map +1 -0
- package/dist/{EventListDialog-CEDNXaKw.cjs → EventListDialog-Dycx70tY.cjs} +2 -2
- package/dist/{EventListDialog-CEDNXaKw.cjs.map → EventListDialog-Dycx70tY.cjs.map} +1 -1
- package/dist/{EventListDialog-BLLIQyah.js → EventListDialog-jdNF3szO.js} +3 -3
- package/dist/{EventListDialog-BLLIQyah.js.map → EventListDialog-jdNF3szO.js.map} +1 -1
- package/dist/{FormatvalueWidget-JVEG-72b.js → FormatvalueWidget-4C0vrL2i.js} +3 -3
- package/dist/{FormatvalueWidget-JVEG-72b.js.map → FormatvalueWidget-4C0vrL2i.js.map} +1 -1
- package/dist/{FormatvalueWidget-DJkp_gM_.cjs → FormatvalueWidget-CVoJgFJA.cjs} +2 -2
- package/dist/{FormatvalueWidget-DJkp_gM_.cjs.map → FormatvalueWidget-CVoJgFJA.cjs.map} +1 -1
- package/dist/{Graph-B3v4RJRC.js → Graph-B7KPo9Ul.js} +3 -3
- package/dist/{Graph-B3v4RJRC.js.map → Graph-B7KPo9Ul.js.map} +1 -1
- package/dist/{Graph-BOZlkDbl.cjs → Graph-C9FS6KR3.cjs} +2 -2
- package/dist/{Graph-BOZlkDbl.cjs.map → Graph-C9FS6KR3.cjs.map} +1 -1
- package/dist/{GraphWidget-DGe0TweO.js → GraphWidget-BpkPpAbd.js} +2 -2
- package/dist/{GraphWidget-DGe0TweO.js.map → GraphWidget-BpkPpAbd.js.map} +1 -1
- package/dist/{GraphWidget-DD7SIV2k.cjs → GraphWidget-D3HueIZi.cjs} +2 -2
- package/dist/{GraphWidget-DD7SIV2k.cjs.map → GraphWidget-D3HueIZi.cjs.map} +1 -1
- package/dist/{HorizontalWidget-CIDUx-Qp.cjs → HorizontalWidget-CN6goWHY.cjs} +2 -2
- package/dist/{HorizontalWidget-CIDUx-Qp.cjs.map → HorizontalWidget-CN6goWHY.cjs.map} +1 -1
- package/dist/{HorizontalWidget-B_JnT2Q0.js → HorizontalWidget-DbEQYjFC.js} +2 -2
- package/dist/{HorizontalWidget-B_JnT2Q0.js.map → HorizontalWidget-DbEQYjFC.js.map} +1 -1
- package/dist/{HorizontalboxWidget-D_1bF3p-.js → HorizontalboxWidget-CTomf_Iy.js} +5 -5
- package/dist/{HorizontalboxWidget-D_1bF3p-.js.map → HorizontalboxWidget-CTomf_Iy.js.map} +1 -1
- package/dist/{HorizontalboxWidget-BQYyunr-.cjs → HorizontalboxWidget-ysq7slso.cjs} +2 -2
- package/dist/{HorizontalboxWidget-BQYyunr-.cjs.map → HorizontalboxWidget-ysq7slso.cjs.map} +1 -1
- package/dist/{HorizontallineWidget-Bqb82J2C.js → HorizontallineWidget-B7xx7ofY.js} +2 -2
- package/dist/{HorizontallineWidget-Bqb82J2C.js.map → HorizontallineWidget-B7xx7ofY.js.map} +1 -1
- package/dist/{HorizontallineWidget-dYDzYNW1.cjs → HorizontallineWidget-BgXZZymr.cjs} +2 -2
- package/dist/{HorizontallineWidget-dYDzYNW1.cjs.map → HorizontallineWidget-BgXZZymr.cjs.map} +1 -1
- package/dist/{IframeWidget-BUOO2Zav.js → IframeWidget-DK7rbULe.js} +2 -2
- package/dist/{IframeWidget-BUOO2Zav.js.map → IframeWidget-DK7rbULe.js.map} +1 -1
- package/dist/{IframeWidget-92T3yaK4.cjs → IframeWidget-fV9e-Nm1.cjs} +2 -2
- package/dist/{IframeWidget-92T3yaK4.cjs.map → IframeWidget-fV9e-Nm1.cjs.map} +1 -1
- package/dist/{ImageLoader-C6RNmpHN.js → ImageLoader-C9rN_pSY.js} +2 -2
- package/dist/{ImageLoader-C6RNmpHN.js.map → ImageLoader-C9rN_pSY.js.map} +1 -1
- package/dist/{ImageLoader-Dq0Qs61n.cjs → ImageLoader-CJxiBXAL.cjs} +2 -2
- package/dist/{ImageLoader-Dq0Qs61n.cjs.map → ImageLoader-CJxiBXAL.cjs.map} +1 -1
- package/dist/{ImageviewerWidget-Fd7r9VTx.js → ImageviewerWidget-6d6Kl3W_.js} +2 -2
- package/dist/{ImageviewerWidget-Fd7r9VTx.js.map → ImageviewerWidget-6d6Kl3W_.js.map} +1 -1
- package/dist/{ImageviewerWidget-Y6xx7zZX.cjs → ImageviewerWidget-CULuNsiD.cjs} +2 -2
- package/dist/{ImageviewerWidget-Y6xx7zZX.cjs.map → ImageviewerWidget-CULuNsiD.cjs.map} +1 -1
- package/dist/{InterfacesTab-DgLHHNke.cjs → InterfacesTab-0pmK3KNu.cjs} +2 -2
- package/dist/{InterfacesTab-DgLHHNke.cjs.map → InterfacesTab-0pmK3KNu.cjs.map} +1 -1
- package/dist/{InterfacesTab-dig9pzGg.js → InterfacesTab-BCqTanhV.js} +7 -7
- package/dist/{InterfacesTab-dig9pzGg.js.map → InterfacesTab-BCqTanhV.js.map} +1 -1
- package/dist/{LabelWidget-BVxcrEXf.js → LabelWidget-D71FfOSw.js} +2 -2
- package/dist/{LabelWidget-BVxcrEXf.js.map → LabelWidget-D71FfOSw.js.map} +1 -1
- package/dist/{LabelWidget-BqN6Noag.cjs → LabelWidget-DdZz2NWv.cjs} +2 -2
- package/dist/{LabelWidget-BqN6Noag.cjs.map → LabelWidget-DdZz2NWv.cjs.map} +1 -1
- package/dist/{LabelledWidget-eR2Dar84.cjs → LabelledWidget-BZ319slb.cjs} +2 -2
- package/dist/{LabelledWidget-eR2Dar84.cjs.map → LabelledWidget-BZ319slb.cjs.map} +1 -1
- package/dist/{LabelledWidget-ZZJPwPpI.js → LabelledWidget-D2ir5kVU.js} +4 -4
- package/dist/{LabelledWidget-ZZJPwPpI.js.map → LabelledWidget-D2ir5kVU.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-C2vkWITx.js → LabelprogressbarWidget-C4_YbROz.js} +4 -4
- package/dist/{LabelprogressbarWidget-C2vkWITx.js.map → LabelprogressbarWidget-C4_YbROz.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-D-Oxgeeg.cjs → LabelprogressbarWidget-LyevJNuz.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-D-Oxgeeg.cjs.map → LabelprogressbarWidget-LyevJNuz.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-B0q6o8ro.cjs → LabelsparklineWidget-Cbug97Ne.cjs} +2 -2
- package/dist/{LabelsparklineWidget-B0q6o8ro.cjs.map → LabelsparklineWidget-Cbug97Ne.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-CSlvTtVj.js → LabelsparklineWidget-CdZ_pM2B.js} +4 -4
- package/dist/{LabelsparklineWidget-CSlvTtVj.js.map → LabelsparklineWidget-CdZ_pM2B.js.map} +1 -1
- package/dist/{LabelvalueWidget-6MxCpBTc.js → LabelvalueWidget-BS0EPY5h.js} +4 -4
- package/dist/{LabelvalueWidget-6MxCpBTc.js.map → LabelvalueWidget-BS0EPY5h.js.map} +1 -1
- package/dist/{LabelvalueWidget-DbCpaJBW.cjs → LabelvalueWidget-DSHwAKma.cjs} +2 -2
- package/dist/{LabelvalueWidget-DbCpaJBW.cjs.map → LabelvalueWidget-DSHwAKma.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-BzcfT8oZ.cjs → LabelvaluedescWidget-3lwQxkKj.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-BzcfT8oZ.cjs.map → LabelvaluedescWidget-3lwQxkKj.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-8mNs15uI.js → LabelvaluedescWidget-Cpr8_Voq.js} +5 -5
- package/dist/{LabelvaluedescWidget-8mNs15uI.js.map → LabelvaluedescWidget-Cpr8_Voq.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-jeDT8JjR.js → LabelvaluelimitsbarWidget-DTcYbEQS.js} +4 -4
- package/dist/{LabelvaluelimitsbarWidget-jeDT8JjR.js.map → LabelvaluelimitsbarWidget-DTcYbEQS.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-Cc7NNKOt.cjs → LabelvaluelimitsbarWidget-DbO_Q5ex.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-Cc7NNKOt.cjs.map → LabelvaluelimitsbarWidget-DbO_Q5ex.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-CNqHPGpL.cjs → LabelvaluelimitscolumnWidget-BMSwK1Ys.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-CNqHPGpL.cjs.map → LabelvaluelimitscolumnWidget-BMSwK1Ys.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-DfO5Yb79.js → LabelvaluelimitscolumnWidget-D0ltQ9Ta.js} +5 -5
- package/dist/{LabelvaluelimitscolumnWidget-DfO5Yb79.js.map → LabelvaluelimitscolumnWidget-D0ltQ9Ta.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-CnDgjH-G.cjs → LabelvaluerangebarWidget-B6_alHq4.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-CnDgjH-G.cjs.map → LabelvaluerangebarWidget-B6_alHq4.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-D23BEk-N.js → LabelvaluerangebarWidget-O8IHjvHs.js} +4 -4
- package/dist/{LabelvaluerangebarWidget-D23BEk-N.js.map → LabelvaluerangebarWidget-O8IHjvHs.js.map} +1 -1
- package/dist/Layout-DDewLzbI.cjs +2 -0
- package/dist/{Layout-Dd5e3p-K.cjs.map → Layout-DDewLzbI.cjs.map} +1 -1
- package/dist/{Layout-DuiUWxWc.js → Layout-DW5yNlp7.js} +2 -2
- package/dist/{Layout-DuiUWxWc.js.map → Layout-DW5yNlp7.js.map} +1 -1
- package/dist/{LedWidget-CQkF1v5x.cjs → LedWidget-Cif7vC7q.cjs} +2 -2
- package/dist/{LedWidget-CQkF1v5x.cjs.map → LedWidget-Cif7vC7q.cjs.map} +1 -1
- package/dist/{LedWidget-9IAav1IH.js → LedWidget-DUvJ2v8k.js} +4 -4
- package/dist/{LedWidget-9IAav1IH.js.map → LedWidget-DUvJ2v8k.js.map} +1 -1
- package/dist/{LimitsbarWidget-DqaTaWO1.js → LimitsbarWidget-BehZv0-k.js} +2 -2
- package/dist/{LimitsbarWidget-DqaTaWO1.js.map → LimitsbarWidget-BehZv0-k.js.map} +1 -1
- package/dist/{LimitsbarWidget-C4jNTGa9.cjs → LimitsbarWidget-BodNPbuH.cjs} +2 -2
- package/dist/{LimitsbarWidget-C4jNTGa9.cjs.map → LimitsbarWidget-BodNPbuH.cjs.map} +1 -1
- package/dist/{LimitscolorWidget-BjlXWw_j.cjs → LimitscolorWidget-DPhymKgB.cjs} +2 -2
- package/dist/{LimitscolorWidget-BjlXWw_j.cjs.map → LimitscolorWidget-DPhymKgB.cjs.map} +1 -1
- package/dist/{LimitscolorWidget-4g3UVzsW.js → LimitscolorWidget-FXT0ZPPH.js} +2 -2
- package/dist/{LimitscolorWidget-4g3UVzsW.js.map → LimitscolorWidget-FXT0ZPPH.js.map} +1 -1
- package/dist/{LimitscolumnWidget-BLZE1Zfh.cjs → LimitscolumnWidget-C5yozwf0.cjs} +2 -2
- package/dist/{LimitscolumnWidget-BLZE1Zfh.cjs.map → LimitscolumnWidget-C5yozwf0.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-pR-tLgFG.js → LimitscolumnWidget-CjBy-CCI.js} +2 -2
- package/dist/{LimitscolumnWidget-pR-tLgFG.js.map → LimitscolumnWidget-CjBy-CCI.js.map} +1 -1
- package/dist/{LinegraphWidget-adpA8cjD.cjs → LinegraphWidget-dO_B0T3E.cjs} +2 -2
- package/dist/{LinegraphWidget-adpA8cjD.cjs.map → LinegraphWidget-dO_B0T3E.cjs.map} +1 -1
- package/dist/{LinegraphWidget-DMcegwyu.js → LinegraphWidget-lmu_tFKd.js} +4 -4
- package/dist/{LinegraphWidget-DMcegwyu.js.map → LinegraphWidget-lmu_tFKd.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-2lqTNOqb.cjs → MatrixbycolumnsWidget-BLkwvpMk.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-2lqTNOqb.cjs.map → MatrixbycolumnsWidget-BLkwvpMk.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget--31rW1Mx.js → MatrixbycolumnsWidget-CCF7rCkV.js} +3 -3
- package/dist/{MatrixbycolumnsWidget--31rW1Mx.js.map → MatrixbycolumnsWidget-CCF7rCkV.js.map} +1 -1
- package/dist/{MicroservicesTab-DhisErku.js → MicroservicesTab-rxOATXLO.js} +3 -3
- package/dist/{MicroservicesTab-DhisErku.js.map → MicroservicesTab-rxOATXLO.js.map} +1 -1
- package/dist/{MicroservicesTab-BDkTm3LD.cjs → MicroservicesTab-uesXuuM4.cjs} +2 -2
- package/dist/{MicroservicesTab-BDkTm3LD.cjs.map → MicroservicesTab-uesXuuM4.cjs.map} +1 -1
- package/dist/{Openc3Screen-B_8bygux.cjs → Openc3Screen-CzD9BB0M.cjs} +5 -5
- package/dist/Openc3Screen-CzD9BB0M.cjs.map +1 -0
- package/dist/{Openc3Screen-zVSKWUkb.js → Openc3Screen-DcIIUO63.js} +120 -112
- package/dist/Openc3Screen-DcIIUO63.js.map +1 -0
- package/dist/{OutputDialog-D3zlQlpE.js → OutputDialog-CNH74LpJ.js} +2 -2
- package/dist/{OutputDialog-D3zlQlpE.js.map → OutputDialog-CNH74LpJ.js.map} +1 -1
- package/dist/{OutputDialog-DxEYVYA3.cjs → OutputDialog-QIabyvK1.cjs} +2 -2
- package/dist/{OutputDialog-DxEYVYA3.cjs.map → OutputDialog-QIabyvK1.cjs.map} +1 -1
- package/dist/{PackagesTab-Bjy3y4fK.js → PackagesTab-BE6W7Aru.js} +3 -3
- package/dist/{PackagesTab-Bjy3y4fK.js.map → PackagesTab-BE6W7Aru.js.map} +1 -1
- package/dist/{PackagesTab-CVytftqm.cjs → PackagesTab-PEPT4CQu.cjs} +2 -2
- package/dist/{PackagesTab-CVytftqm.cjs.map → PackagesTab-PEPT4CQu.cjs.map} +1 -1
- package/dist/{PluginsTab-Di5nXctJ.js → PluginsTab-B_Pf2A9c.js} +6 -5
- package/dist/PluginsTab-B_Pf2A9c.js.map +1 -0
- package/dist/{PluginsTab-BvwrAskE.cjs → PluginsTab-DXf9zX0h.cjs} +4 -4
- package/dist/PluginsTab-DXf9zX0h.cjs.map +1 -0
- package/dist/{ProgressbarWidget-DGAYHWEj.js → ProgressbarWidget-B5WN658S.js} +2 -2
- package/dist/{ProgressbarWidget-DGAYHWEj.js.map → ProgressbarWidget-B5WN658S.js.map} +1 -1
- package/dist/{ProgressbarWidget-COa_sGKn.cjs → ProgressbarWidget-D2NHSJny.cjs} +2 -2
- package/dist/{ProgressbarWidget-COa_sGKn.cjs.map → ProgressbarWidget-D2NHSJny.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-Cbx15iyl.js → RadiobuttonWidget-B_3nys46.js} +2 -2
- package/dist/{RadiobuttonWidget-Cbx15iyl.js.map → RadiobuttonWidget-B_3nys46.js.map} +1 -1
- package/dist/{RadiobuttonWidget-CQPXrm0x.cjs → RadiobuttonWidget-DkG9GtAy.cjs} +2 -2
- package/dist/{RadiobuttonWidget-CQPXrm0x.cjs.map → RadiobuttonWidget-DkG9GtAy.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-DW3nTccf.js → RadiogroupWidget-BiMIL9li.js} +2 -2
- package/dist/{RadiogroupWidget-DW3nTccf.js.map → RadiogroupWidget-BiMIL9li.js.map} +1 -1
- package/dist/{RadiogroupWidget-C15ugChT.cjs → RadiogroupWidget-BnUjXU28.cjs} +2 -2
- package/dist/{RadiogroupWidget-C15ugChT.cjs.map → RadiogroupWidget-BnUjXU28.cjs.map} +1 -1
- package/dist/{RangebarWidget-5ekc5Lyp.cjs → RangebarWidget-CJgtAk5z.cjs} +2 -2
- package/dist/{RangebarWidget-5ekc5Lyp.cjs.map → RangebarWidget-CJgtAk5z.cjs.map} +1 -1
- package/dist/{RangebarWidget-BZba6dPt.js → RangebarWidget-Dn0GASdi.js} +2 -2
- package/dist/{RangebarWidget-BZba6dPt.js.map → RangebarWidget-Dn0GASdi.js.map} +1 -1
- package/dist/{RedisTab-Dnqd_dRk.js → RedisTab-BsKrL4fD.js} +13 -13
- package/dist/{RedisTab-Dnqd_dRk.js.map → RedisTab-BsKrL4fD.js.map} +1 -1
- package/dist/{RedisTab-C89xySPI.cjs → RedisTab-C1yaDRSt.cjs} +2 -2
- package/dist/{RedisTab-C89xySPI.cjs.map → RedisTab-C1yaDRSt.cjs.map} +1 -1
- package/dist/{RollupWidget-ILwSCjGa.cjs → RollupWidget-B2pGGoET.cjs} +2 -2
- package/dist/{RollupWidget-ILwSCjGa.cjs.map → RollupWidget-B2pGGoET.cjs.map} +1 -1
- package/dist/{RollupWidget-Mley0KZv.js → RollupWidget-b62qcG5K.js} +2 -2
- package/dist/{RollupWidget-Mley0KZv.js.map → RollupWidget-b62qcG5K.js.map} +1 -1
- package/dist/{RoutersTab-CokDnWfK.cjs → RoutersTab-8wGbiPCk.cjs} +2 -2
- package/dist/{RoutersTab-CokDnWfK.cjs.map → RoutersTab-8wGbiPCk.cjs.map} +1 -1
- package/dist/{RoutersTab-Dg3i3h0M.js → RoutersTab-EHz4wDCn.js} +3 -3
- package/dist/{RoutersTab-Dg3i3h0M.js.map → RoutersTab-EHz4wDCn.js.map} +1 -1
- package/dist/ScriptChooser-CtV7dDJS.cjs +2 -0
- package/dist/ScriptChooser-CtV7dDJS.cjs.map +1 -0
- package/dist/{ScriptChooser-DL8ct71n.js → ScriptChooser-DMPY3m8a.js} +33 -33
- package/dist/ScriptChooser-DMPY3m8a.js.map +1 -0
- package/dist/{ScrollwindowWidget-B4dv7icF.cjs → ScrollwindowWidget-ByJRy528.cjs} +2 -2
- package/dist/{ScrollwindowWidget-B4dv7icF.cjs.map → ScrollwindowWidget-ByJRy528.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-DvsnpEcJ.js → ScrollwindowWidget-Dn29gs-U.js} +3 -3
- package/dist/{ScrollwindowWidget-DvsnpEcJ.js.map → ScrollwindowWidget-Dn29gs-U.js.map} +1 -1
- package/dist/{SecretsTab-CIrHz_ni.js → SecretsTab-Cbt_r-1I.js} +2 -2
- package/dist/{SecretsTab-CIrHz_ni.js.map → SecretsTab-Cbt_r-1I.js.map} +1 -1
- package/dist/{SecretsTab-Dudp9OiZ.cjs → SecretsTab-DSMFodJM.cjs} +2 -2
- package/dist/{SecretsTab-Dudp9OiZ.cjs.map → SecretsTab-DSMFodJM.cjs.map} +1 -1
- package/dist/{SettingsTab-MipB-sIq.cjs → SettingsTab-8Zeg3G0C.cjs} +2 -2
- package/dist/{SettingsTab-MipB-sIq.cjs.map → SettingsTab-8Zeg3G0C.cjs.map} +1 -1
- package/dist/{SettingsTab-DztpIQm7.js → SettingsTab-L5xbCAW_.js} +4 -4
- package/dist/{SettingsTab-DztpIQm7.js.map → SettingsTab-L5xbCAW_.js.map} +1 -1
- package/dist/{SignalWidget-CQqD33Lg.cjs → SignalWidget-CEmQymzQ.cjs} +2 -2
- package/dist/{SignalWidget-CQqD33Lg.cjs.map → SignalWidget-CEmQymzQ.cjs.map} +1 -1
- package/dist/{SignalWidget-BE-MGigb.js → SignalWidget-CLi6qask.js} +2 -2
- package/dist/{SignalWidget-BE-MGigb.js.map → SignalWidget-CLi6qask.js.map} +1 -1
- package/dist/{SimpleTextDialog-BkUovtW9.js → SimpleTextDialog-8vDPDt6X.js} +2 -2
- package/dist/{SimpleTextDialog-BkUovtW9.js.map → SimpleTextDialog-8vDPDt6X.js.map} +1 -1
- package/dist/{SimpleTextDialog-NSW_V3iT.cjs → SimpleTextDialog-CJ8pLBGz.cjs} +2 -2
- package/dist/{SimpleTextDialog-NSW_V3iT.cjs.map → SimpleTextDialog-CJ8pLBGz.cjs.map} +1 -1
- package/dist/{SpacerWidget-DXayYLSi.js → SpacerWidget-BCA3gdap.js} +2 -2
- package/dist/{SpacerWidget-DXayYLSi.js.map → SpacerWidget-BCA3gdap.js.map} +1 -1
- package/dist/{SpacerWidget-QlVjOsLl.cjs → SpacerWidget-BJpqoaeP.cjs} +2 -2
- package/dist/{SpacerWidget-QlVjOsLl.cjs.map → SpacerWidget-BJpqoaeP.cjs.map} +1 -1
- package/dist/{SparklineWidget-mi0idVbP.cjs → SparklineWidget-CIkMm4O-.cjs} +2 -2
- package/dist/{SparklineWidget-mi0idVbP.cjs.map → SparklineWidget-CIkMm4O-.cjs.map} +1 -1
- package/dist/{SparklineWidget-BNYHhnFk.js → SparklineWidget-D8mb4zLt.js} +4 -4
- package/dist/{SparklineWidget-BNYHhnFk.js.map → SparklineWidget-D8mb4zLt.js.map} +1 -1
- package/dist/{TabbookWidget-BbnCFFoI.js → TabbookWidget-Bkt4g02d.js} +2 -2
- package/dist/{TabbookWidget-BbnCFFoI.js.map → TabbookWidget-Bkt4g02d.js.map} +1 -1
- package/dist/{TabbookWidget-BMaDTham.cjs → TabbookWidget-DqcScWwW.cjs} +2 -2
- package/dist/{TabbookWidget-BMaDTham.cjs.map → TabbookWidget-DqcScWwW.cjs.map} +1 -1
- package/dist/TargetPacketItemChooser-Cm6mQvhI.cjs +2 -0
- package/dist/TargetPacketItemChooser-Cm6mQvhI.cjs.map +1 -0
- package/dist/{TargetPacketItemChooser-Z0Tn5eXv.js → TargetPacketItemChooser-DGcXvdTX.js} +107 -112
- package/dist/TargetPacketItemChooser-DGcXvdTX.js.map +1 -0
- package/dist/{TargetsTab-D32K2JiE.cjs → TargetsTab-C4tQ1auc.cjs} +2 -2
- package/dist/{TargetsTab-D32K2JiE.cjs.map → TargetsTab-C4tQ1auc.cjs.map} +1 -1
- package/dist/{TargetsTab-CDd9F7X3.js → TargetsTab-c-qMsGHh.js} +12 -12
- package/dist/{TargetsTab-CDd9F7X3.js.map → TargetsTab-c-qMsGHh.js.map} +1 -1
- package/dist/{TextboxWidget-D1pZXnLn.cjs → TextboxWidget-BcRfHcF6.cjs} +2 -2
- package/dist/{TextboxWidget-D1pZXnLn.cjs.map → TextboxWidget-BcRfHcF6.cjs.map} +1 -1
- package/dist/{TextboxWidget-BmANrs4B.js → TextboxWidget-CR05wO-t.js} +4 -4
- package/dist/{TextboxWidget-BmANrs4B.js.map → TextboxWidget-CR05wO-t.js.map} +1 -1
- package/dist/{TextfieldWidget-SJaLN05z.js → TextfieldWidget-Be_Pz2bF.js} +2 -2
- package/dist/{TextfieldWidget-SJaLN05z.js.map → TextfieldWidget-Be_Pz2bF.js.map} +1 -1
- package/dist/{TextfieldWidget-CTIX-cUX.cjs → TextfieldWidget-Ct1hZr2M.cjs} +2 -2
- package/dist/{TextfieldWidget-CTIX-cUX.cjs.map → TextfieldWidget-Ct1hZr2M.cjs.map} +1 -1
- package/dist/{TimeWidget-Dytou9_B.cjs → TimeWidget-3M7CQ893.cjs} +2 -2
- package/dist/{TimeWidget-Dytou9_B.cjs.map → TimeWidget-3M7CQ893.cjs.map} +1 -1
- package/dist/{TimeWidget-jB9OkZz4.js → TimeWidget-Dy8zpkC6.js} +2 -2
- package/dist/{TimeWidget-jB9OkZz4.js.map → TimeWidget-Dy8zpkC6.js.map} +1 -1
- package/dist/{TitleWidget-mcKJD8dB.js → TitleWidget-BcmxUDzM.js} +2 -2
- package/dist/{TitleWidget-mcKJD8dB.js.map → TitleWidget-BcmxUDzM.js.map} +1 -1
- package/dist/{TitleWidget-CjgUoNOz.cjs → TitleWidget-C1qzja9l.cjs} +2 -2
- package/dist/{TitleWidget-CjgUoNOz.cjs.map → TitleWidget-C1qzja9l.cjs.map} +1 -1
- package/dist/{ToolsTab-BbUbC7aQ.js → ToolsTab-Buklih4C.js} +3 -3
- package/dist/{ToolsTab-BbUbC7aQ.js.map → ToolsTab-Buklih4C.js.map} +1 -1
- package/dist/{ToolsTab-DIjQdiL-.cjs → ToolsTab-CbY2K86w.cjs} +3 -3
- package/dist/{ToolsTab-DIjQdiL-.cjs.map → ToolsTab-CbY2K86w.cjs.map} +1 -1
- package/dist/TopBar-D4C9DJcu.js +324 -0
- package/dist/TopBar-D4C9DJcu.js.map +1 -0
- package/dist/TopBar-HxaiWynT.cjs +2 -0
- package/dist/TopBar-HxaiWynT.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog-XVvb43ME.js → UpgradeToEnterpriseDialog-D0AGxldj.js} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-XVvb43ME.js.map → UpgradeToEnterpriseDialog-D0AGxldj.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-BDYrclMq.cjs → UpgradeToEnterpriseDialog-D8BkzmVD.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-BDYrclMq.cjs.map → UpgradeToEnterpriseDialog-D8BkzmVD.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-ByJi6BSv.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js} +2259 -2241
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B-k6legU.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs} +70 -70
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs.map +1 -0
- package/dist/{VWidget-D8c5Lci7.js → VWidget-CBmUpKSV.js} +7 -7
- package/dist/VWidget-CBmUpKSV.js.map +1 -0
- package/dist/VWidget-DhGLFGS2.cjs +2 -0
- package/dist/VWidget-DhGLFGS2.cjs.map +1 -0
- package/dist/{ValueWidget-SNDW9Het.js → ValueWidget-BxWrHkYY.js} +4 -4
- package/dist/{ValueWidget-SNDW9Het.js.map → ValueWidget-BxWrHkYY.js.map} +1 -1
- package/dist/{ValueWidget-CyN11MWT.cjs → ValueWidget-yuZ8tPzG.cjs} +2 -2
- package/dist/{ValueWidget-CyN11MWT.cjs.map → ValueWidget-yuZ8tPzG.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-Zw91SPeP.js → ValuelimitsbarWidget-BdY02gqc.js} +4 -4
- package/dist/{ValuelimitsbarWidget-Zw91SPeP.js.map → ValuelimitsbarWidget-BdY02gqc.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-B86GYsdL.cjs → ValuelimitsbarWidget-KsFz7ipK.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-B86GYsdL.cjs.map → ValuelimitsbarWidget-KsFz7ipK.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-DPh3TEH4.cjs → ValuelimitscolumnWidget-B0HGnyS5.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-DPh3TEH4.cjs.map → ValuelimitscolumnWidget-B0HGnyS5.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-B9unbzmn.js → ValuelimitscolumnWidget-CuJ6rqtC.js} +4 -4
- package/dist/{ValuelimitscolumnWidget-B9unbzmn.js.map → ValuelimitscolumnWidget-CuJ6rqtC.js.map} +1 -1
- package/dist/{ValuerangebarWidget-DwNzPUzz.js → ValuerangebarWidget-C5rolGDi.js} +4 -4
- package/dist/{ValuerangebarWidget-DwNzPUzz.js.map → ValuerangebarWidget-C5rolGDi.js.map} +1 -1
- package/dist/{ValuerangebarWidget-Dm0754rv.cjs → ValuerangebarWidget-CDJeamPr.cjs} +2 -2
- package/dist/{ValuerangebarWidget-Dm0754rv.cjs.map → ValuerangebarWidget-CDJeamPr.cjs.map} +1 -1
- package/dist/{VerticalWidget-gv7hWDKU.js → VerticalWidget-DsnEzKZ2.js} +2 -2
- package/dist/{VerticalWidget-gv7hWDKU.js.map → VerticalWidget-DsnEzKZ2.js.map} +1 -1
- package/dist/{VerticalWidget-BAH0R-Tj.cjs → VerticalWidget-wuRCrd7Q.cjs} +2 -2
- package/dist/{VerticalWidget-BAH0R-Tj.cjs.map → VerticalWidget-wuRCrd7Q.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-CZb5ebV7.js → VerticalboxWidget-CzDgveBl.js} +5 -5
- package/dist/{VerticalboxWidget-CZb5ebV7.js.map → VerticalboxWidget-CzDgveBl.js.map} +1 -1
- package/dist/{VerticalboxWidget-F9StIQ_8.cjs → VerticalboxWidget-D-3H1PYU.cjs} +2 -2
- package/dist/{VerticalboxWidget-F9StIQ_8.cjs.map → VerticalboxWidget-D-3H1PYU.cjs.map} +1 -1
- package/dist/{Widget-DghDRiv6.cjs → Widget-CKianvfR.cjs} +2 -2
- package/dist/{Widget-DghDRiv6.cjs.map → Widget-CKianvfR.cjs.map} +1 -1
- package/dist/{Widget-DNBZcUQg.js → Widget-VCl8Ts8s.js} +2 -2
- package/dist/{Widget-DNBZcUQg.js.map → Widget-VCl8Ts8s.js.map} +1 -1
- package/dist/{cmdUtilities-C5lf-N2L.js → cmdUtilities--4ZqS2At.js} +2 -2
- package/dist/{cmdUtilities-C5lf-N2L.js.map → cmdUtilities--4ZqS2At.js.map} +1 -1
- package/dist/cmdUtilities-N30xDV6q.cjs +2 -0
- package/dist/{cmdUtilities-DDCksp2R.cjs.map → cmdUtilities-N30xDV6q.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +25 -25
- package/dist/composables.cjs +2 -0
- package/dist/composables.cjs.map +1 -0
- package/dist/composables.js +5 -0
- package/dist/composables.js.map +1 -0
- package/dist/{index-BUPRVmV-.js → index-3k1IXN1T.js} +136 -118
- package/dist/index-3k1IXN1T.js.map +1 -0
- package/dist/{index-BWTUBIkL.cjs → index-DlWUR7vt.cjs} +6 -6
- package/dist/index-DlWUR7vt.cjs.map +1 -0
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +7 -7
- package/dist/plugins.js.map +1 -1
- package/dist/purify.es-B608WQkR.cjs +3 -0
- package/dist/purify.es-B608WQkR.cjs.map +1 -0
- package/dist/{purify.es-BuxjWxA2.js → purify.es-BGaRrCfO.js} +144 -144
- package/dist/purify.es-BGaRrCfO.js.map +1 -0
- package/dist/{settings-BC-CN37t.js → settings-DlX9yvJJ.js} +2 -2
- package/dist/{settings-BC-CN37t.js.map → settings-DlX9yvJJ.js.map} +1 -1
- package/dist/{settings-DHUu0bEd.cjs → settings-sg_XHXQ-.cjs} +2 -2
- package/dist/{settings-DHUu0bEd.cjs.map → settings-sg_XHXQ-.cjs.map} +1 -1
- package/dist/tools/admin.cjs +1 -1
- package/dist/tools/admin.js +56 -56
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.js +5 -5
- 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 +864 -849
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/useContainerHeight-BAw05dIa.js +11 -0
- package/dist/useContainerHeight-BAw05dIa.js.map +1 -0
- package/dist/useContainerHeight-BEd4f2Lr.cjs +2 -0
- package/dist/useContainerHeight-BEd4f2Lr.cjs.map +1 -0
- package/dist/util.cjs +1 -1
- package/dist/util.js +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +63 -63
- package/package.json +13 -9
- package/dist/CriticalCmdDialog-CZHVDFjK.js.map +0 -1
- package/dist/CriticalCmdDialog-EvK998xs.cjs.map +0 -1
- package/dist/DetailsDialog-DbRPJzDG.cjs +0 -2
- package/dist/DetailsDialog-DbRPJzDG.cjs.map +0 -1
- package/dist/DetailsDialog-Ji0jA6sd.js.map +0 -1
- package/dist/Layout-Dd5e3p-K.cjs +0 -2
- package/dist/Openc3Screen-B_8bygux.cjs.map +0 -1
- package/dist/Openc3Screen-zVSKWUkb.js.map +0 -1
- package/dist/PluginsTab-BvwrAskE.cjs.map +0 -1
- package/dist/PluginsTab-Di5nXctJ.js.map +0 -1
- package/dist/ScriptChooser-BzQcgW8g.cjs +0 -2
- package/dist/ScriptChooser-BzQcgW8g.cjs.map +0 -1
- package/dist/ScriptChooser-DL8ct71n.js.map +0 -1
- package/dist/TargetPacketItemChooser-DezS0jS3.cjs +0 -2
- package/dist/TargetPacketItemChooser-DezS0jS3.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-Z0Tn5eXv.js.map +0 -1
- package/dist/TopBar-Bn4u3OQj.cjs +0 -2
- package/dist/TopBar-Bn4u3OQj.cjs.map +0 -1
- package/dist/TopBar-LuMoAqrA.js +0 -296
- package/dist/TopBar-LuMoAqrA.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B-k6legU.cjs.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-ByJi6BSv.js.map +0 -1
- package/dist/VWidget-B22Re761.cjs +0 -2
- package/dist/VWidget-B22Re761.cjs.map +0 -1
- package/dist/VWidget-D8c5Lci7.js.map +0 -1
- package/dist/cmdUtilities-DDCksp2R.cjs +0 -2
- package/dist/index-BUPRVmV-.js.map +0 -1
- package/dist/index-BWTUBIkL.cjs.map +0 -1
- package/dist/purify.es-BuxjWxA2.js.map +0 -1
- package/dist/purify.es-d7tb6jjJ.cjs +0 -3
- package/dist/purify.es-d7tb6jjJ.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitscolumnWidget-
|
|
1
|
+
{"version":3,"file":"LimitscolumnWidget-C5yozwf0.cjs","sources":["../src/widgets/LimitscolumnWidget.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 <div class=\"limitsbar\" :style=\"[cssProps, computedStyle]\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nimport BarColumn from './BarColumn'\n\nexport default {\n mixins: [BarColumn],\n data() {\n return {\n width: 22, // px\n height: 120, // users will override with px\n }\n },\n computed: {\n // TODO: Not sure why we have to reimplement this from BarColumn\n // strangely enough LimitsbarWidget.vue works fine without it\n cssProps: function () {\n let value = this.screenValues[this.valueId][0]\n let limits = this.modifyLimits(\n this.limitsSettings[this.selectedLimitsSet],\n )\n if (limits) {\n this.calcLimits(limits)\n return {\n '--height': this.height + 'px',\n '--width': this.width + 'px',\n '--container-width': this.width - 5 + 'px',\n '--position': this.calcPosition(value, limits) + '%',\n '--redlow-height': this.redLow + '%',\n '--redhigh-height': this.redHigh + '%',\n '--yellowlow-height': this.yellowLow + '%',\n '--yellowhigh-height': this.yellowHigh + '%',\n '--greenlow-height': this.greenLow + '%',\n '--greenhigh-height': this.greenHigh + '%',\n '--blue-height': this.blue + '%',\n }\n } else {\n // See errorCaptured in Openc3Screen.vue for how this is parsed\n throw {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: 'LIMITSCOLUMN',\n parameters: this.parameters,\n message: 'Item has no limits settings',\n usage: 'Only items with limits',\n }\n }\n },\n },\n created() {\n this.verifyNumParams(\n 'LIMITSCOLUMN',\n 3,\n 6,\n 'LIMITSCOLUMN <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>',\n )\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.limitsbar {\n cursor: default;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 5px;\n height: var(--height);\n margin-right: 5px;\n}\n.limitsbar__container {\n position: relative;\n flex: 1 1 100%;\n width: var(--container-width);\n border: 1px solid black;\n background-color: white;\n}\n.limitsbar__redlow {\n position: absolute;\n bottom: 0px;\n width: var(--container-width);\n height: var(--redlow-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__redhigh {\n position: absolute;\n top: 0px;\n width: var(--container-width);\n height: var(--redhigh-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__yellowlow {\n position: absolute;\n bottom: var(--redlow-height);\n height: var(--yellowlow-height);\n width: var(--container-width);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__yellowhigh {\n position: absolute;\n top: var(--redhigh-height);\n height: var(--yellowhigh-height);\n width: var(--container-width);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__greenlow {\n position: absolute;\n bottom: calc(var(--redlow-height) + var(--yellowlow-height));\n width: var(--container-width);\n height: var(--greenlow-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__greenhigh {\n position: absolute;\n top: calc(var(--redhigh-height) + var(--yellowhigh-height));\n width: var(--container-width);\n height: var(--greenhigh-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__blue {\n position: absolute;\n bottom: calc(\n var(--redlow-height) + var(--yellowlow-height) + var(--greenlow-height)\n );\n width: var(--container-width);\n height: var(--blue-height);\n background-color: rgb(0, 153, 255);\n}\n.limitsbar__line {\n position: absolute;\n bottom: var(--position);\n width: var(--container-width);\n height: 1px;\n background-color: rgb(128, 128, 128);\n}\n$arrow-size: 5px;\n.limitsbar__arrow {\n position: absolute;\n bottom: var(--position);\n left: var(--container-width);\n width: 0;\n height: 0;\n transform: translateY($arrow-size); // Transform so it sits over the line\n border-top: $arrow-size solid transparent;\n border-bottom: $arrow-size solid transparent;\n border-right: $arrow-size solid rgb(128, 128, 128);\n}\n</style>\n"],"names":["_sfc_main","BarColumn","value","limits","_createElementBlock","_normalizeStyle","$options","_ctx"],"mappings":"oLAsCKA,EAAU,CACb,OAAQ,CAACC,EAAAA,SAAS,EAClB,MAAO,CACL,MAAO,CACL,MAAO,GACP,OAAQ,GACV,CACF,EACA,SAAU,CAGR,SAAU,UAAY,CACpB,IAAIC,EAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,EACzCC,EAAS,KAAK,aAChB,KAAK,eAAe,KAAK,iBAAiB,CAC5C,EACA,GAAIA,EACF,YAAK,WAAWA,CAAM,EACf,CACL,WAAY,KAAK,OAAS,KAC1B,UAAW,KAAK,MAAQ,KACxB,oBAAqB,KAAK,MAAQ,EAAI,KACtC,aAAc,KAAK,aAAaD,EAAOC,CAAM,EAAI,IACjD,kBAAmB,KAAK,OAAS,IACjC,mBAAoB,KAAK,QAAU,IACnC,qBAAsB,KAAK,UAAY,IACvC,sBAAuB,KAAK,WAAa,IACzC,oBAAqB,KAAK,SAAW,IACrC,qBAAsB,KAAK,UAAY,IACvC,gBAAiB,KAAK,KAAO,GAC/B,EAGA,KAAM,CACJ,KAAM,KAAK,KACX,WAAY,KAAK,WACjB,QAAS,eACT,WAAY,KAAK,WACjB,QAAS,8BACT,MAAO,wBACT,CAEJ,GAEF,SAAU,CACR,KAAK,gBACH,eACA,EACA,EACA,+DACF,CACF,CACF,+CAvEEC,EAAAA,mBAaM,MAAA,CAbD,MAAM,YAAa,MAAKC,EAAAA,eAAA,CAAGC,EAAA,SAAUC,EAAA,aAAa,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as e } from "./BarColumn-
|
|
1
|
+
import { B as e } from "./BarColumn-XWs-3Cwb.js";
|
|
2
2
|
import { createElementBlock as s, openBlock as l, normalizeStyle as r, createStaticVNode as h } from "vue";
|
|
3
3
|
import { _ as d } from "./CustomIcon-DTfsnDJn.js";
|
|
4
4
|
const o = {
|
|
@@ -63,4 +63,4 @@ const w = /* @__PURE__ */ d(o, [["render", m], ["__scopeId", "data-v-a4a8f4ab"]]
|
|
|
63
63
|
export {
|
|
64
64
|
w as default
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=LimitscolumnWidget-
|
|
66
|
+
//# sourceMappingURL=LimitscolumnWidget-CjBy-CCI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitscolumnWidget-
|
|
1
|
+
{"version":3,"file":"LimitscolumnWidget-CjBy-CCI.js","sources":["../src/widgets/LimitscolumnWidget.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 <div class=\"limitsbar\" :style=\"[cssProps, computedStyle]\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nimport BarColumn from './BarColumn'\n\nexport default {\n mixins: [BarColumn],\n data() {\n return {\n width: 22, // px\n height: 120, // users will override with px\n }\n },\n computed: {\n // TODO: Not sure why we have to reimplement this from BarColumn\n // strangely enough LimitsbarWidget.vue works fine without it\n cssProps: function () {\n let value = this.screenValues[this.valueId][0]\n let limits = this.modifyLimits(\n this.limitsSettings[this.selectedLimitsSet],\n )\n if (limits) {\n this.calcLimits(limits)\n return {\n '--height': this.height + 'px',\n '--width': this.width + 'px',\n '--container-width': this.width - 5 + 'px',\n '--position': this.calcPosition(value, limits) + '%',\n '--redlow-height': this.redLow + '%',\n '--redhigh-height': this.redHigh + '%',\n '--yellowlow-height': this.yellowLow + '%',\n '--yellowhigh-height': this.yellowHigh + '%',\n '--greenlow-height': this.greenLow + '%',\n '--greenhigh-height': this.greenHigh + '%',\n '--blue-height': this.blue + '%',\n }\n } else {\n // See errorCaptured in Openc3Screen.vue for how this is parsed\n throw {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: 'LIMITSCOLUMN',\n parameters: this.parameters,\n message: 'Item has no limits settings',\n usage: 'Only items with limits',\n }\n }\n },\n },\n created() {\n this.verifyNumParams(\n 'LIMITSCOLUMN',\n 3,\n 6,\n 'LIMITSCOLUMN <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>',\n )\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.limitsbar {\n cursor: default;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 5px;\n height: var(--height);\n margin-right: 5px;\n}\n.limitsbar__container {\n position: relative;\n flex: 1 1 100%;\n width: var(--container-width);\n border: 1px solid black;\n background-color: white;\n}\n.limitsbar__redlow {\n position: absolute;\n bottom: 0px;\n width: var(--container-width);\n height: var(--redlow-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__redhigh {\n position: absolute;\n top: 0px;\n width: var(--container-width);\n height: var(--redhigh-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__yellowlow {\n position: absolute;\n bottom: var(--redlow-height);\n height: var(--yellowlow-height);\n width: var(--container-width);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__yellowhigh {\n position: absolute;\n top: var(--redhigh-height);\n height: var(--yellowhigh-height);\n width: var(--container-width);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__greenlow {\n position: absolute;\n bottom: calc(var(--redlow-height) + var(--yellowlow-height));\n width: var(--container-width);\n height: var(--greenlow-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__greenhigh {\n position: absolute;\n top: calc(var(--redhigh-height) + var(--yellowhigh-height));\n width: var(--container-width);\n height: var(--greenhigh-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__blue {\n position: absolute;\n bottom: calc(\n var(--redlow-height) + var(--yellowlow-height) + var(--greenlow-height)\n );\n width: var(--container-width);\n height: var(--blue-height);\n background-color: rgb(0, 153, 255);\n}\n.limitsbar__line {\n position: absolute;\n bottom: var(--position);\n width: var(--container-width);\n height: 1px;\n background-color: rgb(128, 128, 128);\n}\n$arrow-size: 5px;\n.limitsbar__arrow {\n position: absolute;\n bottom: var(--position);\n left: var(--container-width);\n width: 0;\n height: 0;\n transform: translateY($arrow-size); // Transform so it sits over the line\n border-top: $arrow-size solid transparent;\n border-bottom: $arrow-size solid transparent;\n border-right: $arrow-size solid rgb(128, 128, 128);\n}\n</style>\n"],"names":["_sfc_main","BarColumn","value","limits","_createElementBlock","_normalizeStyle","$options","_ctx"],"mappings":";;;AAsCA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA;AAAA,MACP,QAAQ;AAAA;AAAA,IACV;AAAA,EACF;AAAA,EACA,UAAU;AAAA;AAAA;AAAA,IAGR,UAAU,WAAY;AACpB,UAAIC,IAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,GACzCC,IAAS,KAAK;AAAA,QAChB,KAAK,eAAe,KAAK,iBAAiB;AAAA,MAC5C;AACA,UAAIA;AACF,oBAAK,WAAWA,CAAM,GACf;AAAA,UACL,YAAY,KAAK,SAAS;AAAA,UAC1B,WAAW,KAAK,QAAQ;AAAA,UACxB,qBAAqB,KAAK,QAAQ,IAAI;AAAA,UACtC,cAAc,KAAK,aAAaD,GAAOC,CAAM,IAAI;AAAA,UACjD,mBAAmB,KAAK,SAAS;AAAA,UACjC,oBAAoB,KAAK,UAAU;AAAA,UACnC,sBAAsB,KAAK,YAAY;AAAA,UACvC,uBAAuB,KAAK,aAAa;AAAA,UACzC,qBAAqB,KAAK,WAAW;AAAA,UACrC,sBAAsB,KAAK,YAAY;AAAA,UACvC,iBAAiB,KAAK,OAAO;AAAA,QAC/B;AAGA,YAAM;AAAA,QACJ,MAAM,KAAK;AAAA,QACX,YAAY,KAAK;AAAA,QACjB,SAAS;AAAA,QACT,YAAY,KAAK;AAAA,QACjB,SAAS;AAAA,QACT,OAAO;AAAA,MACT;AAAA,IAEJ;AAAA;EAEF,UAAU;AACR,SAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;cAvEEC,EAaM,OAAA;AAAA,IAbD,OAAM;AAAA,IAAa,OAAKC,EAAA,CAAGC,EAAA,UAAUC,EAAA,aAAa,CAAA;AAAA;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./GraphWidget-
|
|
2
|
-
//# sourceMappingURL=LinegraphWidget-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./GraphWidget-D3HueIZi.cjs");require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs");const i=require("vue"),o=require("./CustomIcon-eie3rPKh.cjs"),n=require("./Graph-C9FS6KR3.cjs");require("single-spa");const a={components:{Graph:n.Graph},mixins:[r.GraphWidget]};function d(e,t,h,l,u,g){const s=i.resolveComponent("graph");return i.openBlock(),i.createBlock(s,{id:e.id,ref:"graph"+e.id,state:e.state,"selected-graph-id":e.id,"start-time":e.startTime,"seconds-graphed":e.secondsGraphed,"points-saved":e.pointsSaved,"points-graphed":e.pointsGraphed,"initial-items":e.items,height:e.size.height,width:e.size.width,style:i.normalizeStyle(e.computedStyle),"time-zone":e.screenTimeZone,"hide-toolbar":"","hide-overview":"",onPause:t[0]||(t[0]=()=>e.state="pause"),onStart:t[1]||(t[1]=()=>e.state="start")},null,8,["id","state","selected-graph-id","start-time","seconds-graphed","points-saved","points-graphed","initial-items","height","width","style","time-zone"])}const p=o._export_sfc(a,[["render",d]]);exports.default=p;
|
|
2
|
+
//# sourceMappingURL=LinegraphWidget-dO_B0T3E.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinegraphWidget-
|
|
1
|
+
{"version":3,"file":"LinegraphWidget-dO_B0T3E.cjs","sources":["../src/widgets/LinegraphWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <graph\n :id=\"id\"\n :ref=\"'graph' + id\"\n :state=\"state\"\n :selected-graph-id=\"id\"\n :start-time=\"startTime\"\n :seconds-graphed=\"secondsGraphed\"\n :points-saved=\"pointsSaved\"\n :points-graphed=\"pointsGraphed\"\n :initial-items=\"items\"\n :height=\"size.height\"\n :width=\"size.width\"\n :style=\"computedStyle\"\n :time-zone=\"screenTimeZone\"\n hide-toolbar\n hide-overview\n @pause=\"() => (state = 'pause')\"\n @start=\"() => (state = 'start')\"\n />\n</template>\n\n<script>\nimport GraphWidget from './GraphWidget'\nimport { Graph } from '@/components'\n\nexport default {\n components: {\n Graph,\n },\n mixins: [GraphWidget],\n}\n</script>\n"],"names":["_sfc_main","Graph","GraphWidget","_createBlock","_component_graph","_ctx"],"mappings":"wVAgDA,MAAKA,EAAU,CACb,WAAY,OACVC,EAAAA,OAEF,OAAQ,CAACC,EAAAA,WAAW,CACtB,mFA9BEC,EAAAA,YAkBEC,EAAA,CAjBC,GAAIC,EAAA,GACJ,YAAeA,EAAA,GACf,MAAOA,EAAA,MACP,oBAAmBA,EAAA,GACnB,aAAYA,EAAA,UACZ,kBAAiBA,EAAA,eACjB,eAAcA,EAAA,YACd,iBAAgBA,EAAA,cAChB,gBAAeA,EAAA,MACf,OAAQA,EAAA,KAAK,OACb,MAAOA,EAAA,KAAK,MACZ,uBAAOA,EAAA,aAAa,EACpB,YAAWA,EAAA,eACZ,eAAA,GACA,gBAAA,GACC,wBAAcA,EAAA,MAAK,SACnB,wBAAcA,EAAA,MAAK"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { G as s } from "./GraphWidget-
|
|
2
|
-
import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-
|
|
1
|
+
import { G as s } from "./GraphWidget-BpkPpAbd.js";
|
|
2
|
+
import "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js";
|
|
3
3
|
import { resolveComponent as o, createBlock as r, openBlock as a, normalizeStyle as n } from "vue";
|
|
4
4
|
import { _ as p } from "./CustomIcon-DTfsnDJn.js";
|
|
5
|
-
import { G as d } from "./Graph-
|
|
5
|
+
import { G as d } from "./Graph-B7KPo9Ul.js";
|
|
6
6
|
import "single-spa";
|
|
7
7
|
const m = {
|
|
8
8
|
components: {
|
|
@@ -36,4 +36,4 @@ const $ = /* @__PURE__ */ p(m, [["render", h]]);
|
|
|
36
36
|
export {
|
|
37
37
|
$ as default
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=LinegraphWidget-
|
|
39
|
+
//# sourceMappingURL=LinegraphWidget-lmu_tFKd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinegraphWidget-
|
|
1
|
+
{"version":3,"file":"LinegraphWidget-lmu_tFKd.js","sources":["../src/widgets/LinegraphWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <graph\n :id=\"id\"\n :ref=\"'graph' + id\"\n :state=\"state\"\n :selected-graph-id=\"id\"\n :start-time=\"startTime\"\n :seconds-graphed=\"secondsGraphed\"\n :points-saved=\"pointsSaved\"\n :points-graphed=\"pointsGraphed\"\n :initial-items=\"items\"\n :height=\"size.height\"\n :width=\"size.width\"\n :style=\"computedStyle\"\n :time-zone=\"screenTimeZone\"\n hide-toolbar\n hide-overview\n @pause=\"() => (state = 'pause')\"\n @start=\"() => (state = 'start')\"\n />\n</template>\n\n<script>\nimport GraphWidget from './GraphWidget'\nimport { Graph } from '@/components'\n\nexport default {\n components: {\n Graph,\n },\n mixins: [GraphWidget],\n}\n</script>\n"],"names":["_sfc_main","Graph","GraphWidget","_createBlock","_component_graph","_ctx"],"mappings":";;;;;;AAgDA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,OAAAC;AAAA;EAEF,QAAQ,CAACC,CAAW;AACtB;;;cA9BEC,EAkBEC,GAAA;AAAA,IAjBC,IAAIC,EAAA;AAAA,IACJ,eAAeA,EAAA;AAAA,IACf,OAAOA,EAAA;AAAA,IACP,qBAAmBA,EAAA;AAAA,IACnB,cAAYA,EAAA;AAAA,IACZ,mBAAiBA,EAAA;AAAA,IACjB,gBAAcA,EAAA;AAAA,IACd,kBAAgBA,EAAA;AAAA,IAChB,iBAAeA,EAAA;AAAA,IACf,QAAQA,EAAA,KAAK;AAAA,IACb,OAAOA,EAAA,KAAK;AAAA,IACZ,SAAOA,EAAA,aAAa;AAAA,IACpB,aAAWA,EAAA;AAAA,IACZ,gBAAA;AAAA,IACA,iBAAA;AAAA,IACC,+BAAcA,EAAA,QAAK;AAAA,IACnB,+BAAcA,EAAA,QAAK;AAAA;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./Layout-
|
|
2
|
-
//# sourceMappingURL=MatrixbycolumnsWidget-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./Layout-DDewLzbI.cjs"),m=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs"),e=require("vue"),p=require("./CustomIcon-eie3rPKh.cjs"),d={mixins:[u.Layout],computed:{columns(){return parseInt(this.parameters[0])},widgetChunks(){return m._.chunk(this.widgets,this.columns)}},created:function(){if(this.parameters[1]){let n=this.parameters[1];this.widgets.forEach(s=>{s.settings.find(r=>r[0]==="MARGIN"||r[0].startsWith("RAW")&&r[1].toUpperCase().includes("MARGIN"))===void 0&&s.settings.push(["MARGIN",n])})}}};function k(n,s,o,r,g,a){return e.openBlock(),e.createElementBlock("table",{style:e.normalizeStyle(n.computedStyle),role:"presentation"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.widgetChunks,(l,c)=>(e.openBlock(),e.createElementBlock("tr",{key:"r"+c},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l,(t,i)=>(e.openBlock(),e.createElementBlock("td",{key:"c"+i},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},n.listeners,{target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))]))),128))]))),128))],4)}const f=p._export_sfc(d,[["render",k]]);exports.default=f;
|
|
2
|
+
//# sourceMappingURL=MatrixbycolumnsWidget-BLkwvpMk.cjs.map
|
package/dist/{MatrixbycolumnsWidget-2lqTNOqb.cjs.map → MatrixbycolumnsWidget-BLkwvpMk.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatrixbycolumnsWidget-
|
|
1
|
+
{"version":3,"file":"MatrixbycolumnsWidget-BLkwvpMk.cjs","sources":["../src/widgets/MatrixbycolumnsWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <table :style=\"computedStyle\" role=\"presentation\">\n <tr v-for=\"(chunk, rindex) in widgetChunks\" :key=\"'r' + rindex\">\n <td v-for=\"(widget, cindex) in chunk\" :key=\"'c' + cindex\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </td>\n </tr>\n </table>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport _ from 'lodash'\nexport default {\n mixins: [Layout],\n computed: {\n columns() {\n return parseInt(this.parameters[0])\n },\n widgetChunks() {\n return _.chunk(this.widgets, this.columns)\n },\n },\n created: function () {\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","_","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","$options","chunk","rindex","cindex","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"uRA+CKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CACR,SAAU,CACR,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CACpC,EACA,cAAe,CACb,OAAOC,EAAAA,EAAE,MAAM,KAAK,QAAS,KAAK,OAAO,CAC3C,GAEF,QAAS,UAAY,CACnB,GAAI,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CACjBA,EAAO,SAAS,KAC3BC,GACCA,EAAQ,CAAC,IAAM,UACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ,CAChD,IACc,QACZD,EAAO,SAAS,KAAK,CAAC,SAAUD,CAAM,CAAC,CAE3C,CAAC,CACH,CACF,CACF,+CAlDEG,EAAAA,mBAkBQ,QAAA,CAlBA,uBAAOC,EAAA,aAAa,EAAE,KAAK,kBACjCC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAgBKG,WAAA,KAAAC,EAAAA,WAhByBC,EAAA,aAAY,CAA9BC,EAAOC,mBAAnBP,EAAAA,mBAgBK,KAAA,CAhBwC,QAAWO,KACtDL,YAAA,EAAA,EAAAF,EAAAA,mBAcKG,EAAAA,SAAA,KAAAC,EAAAA,WAd0BE,EAAK,CAAxBR,EAAQU,mBAApBR,EAAAA,mBAcK,KAAA,CAdkC,QAAWQ,KAChDN,EAAAA,YAAAO,EAAAA,YAYEC,EAAAA,wBAVKZ,EAAO,IAAI,EAFlBa,EAAAA,WAYE,aAXQV,EAAA,UAAS,CAEhB,OAAQH,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as f } from "./Layout-
|
|
2
|
-
import { _ as d } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-
|
|
1
|
+
import { L as f } from "./Layout-DW5yNlp7.js";
|
|
2
|
+
import { _ as d } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js";
|
|
3
3
|
import { createElementBlock as n, openBlock as t, normalizeStyle as h, Fragment as o, renderList as i, createBlock as g, resolveDynamicComponent as y, mergeProps as k } from "vue";
|
|
4
4
|
import { _ } from "./CustomIcon-DTfsnDJn.js";
|
|
5
5
|
const b = {
|
|
@@ -53,4 +53,4 @@ const v = /* @__PURE__ */ _(b, [["render", A]]);
|
|
|
53
53
|
export {
|
|
54
54
|
v as default
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=MatrixbycolumnsWidget
|
|
56
|
+
//# sourceMappingURL=MatrixbycolumnsWidget-CCF7rCkV.js.map
|
package/dist/{MatrixbycolumnsWidget--31rW1Mx.js.map → MatrixbycolumnsWidget-CCF7rCkV.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatrixbycolumnsWidget
|
|
1
|
+
{"version":3,"file":"MatrixbycolumnsWidget-CCF7rCkV.js","sources":["../src/widgets/MatrixbycolumnsWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <table :style=\"computedStyle\" role=\"presentation\">\n <tr v-for=\"(chunk, rindex) in widgetChunks\" :key=\"'r' + rindex\">\n <td v-for=\"(widget, cindex) in chunk\" :key=\"'c' + cindex\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </td>\n </tr>\n </table>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport _ from 'lodash'\nexport default {\n mixins: [Layout],\n computed: {\n columns() {\n return parseInt(this.parameters[0])\n },\n widgetChunks() {\n return _.chunk(this.widgets, this.columns)\n },\n },\n created: function () {\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","Layout","_","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","$options","chunk","rindex","cindex","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;;AA+CA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AAAA,IACR,UAAU;AACR,aAAO,SAAS,KAAK,WAAW,CAAC,CAAC;AAAA,IACpC;AAAA,IACA,eAAe;AACb,aAAOC,EAAE,MAAM,KAAK,SAAS,KAAK,OAAO;AAAA,IAC3C;AAAA;EAEF,SAAS,WAAY;AACnB,QAAI,KAAK,WAAW,CAAC,GAAG;AACtB,UAAIC,IAAS,KAAK,WAAW,CAAC;AAC9B,WAAK,QAAQ,QAAQ,CAACC,MAAW;AAO/B,QANcA,EAAO,SAAS;AAAA,UAC5B,CAACC,MACCA,EAAQ,CAAC,MAAM,YACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,KAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ;AAAA,QAChD,MACc,UACZD,EAAO,SAAS,KAAK,CAAC,UAAUD,CAAM,CAAC;AAAA,MAE3C,CAAC;AAAA,IACH;AAAA,EACF;AACF;;cAlDEG,EAkBQ,SAAA;AAAA,IAlBA,SAAOC,EAAA,aAAa;AAAA,IAAE,MAAK;AAAA;KACjCC,EAAA,EAAA,GAAAF,EAgBKG,GAAA,MAAAC,EAhByBC,EAAA,cAAY,CAA9BC,GAAOC,YAAnBP,EAgBK,MAAA;AAAA,MAhBwC,WAAWO;AAAA;OACtDL,EAAA,EAAA,GAAAF,EAcKG,GAAA,MAAAC,EAd0BE,GAAK,CAAxBR,GAAQU,YAApBR,EAcK,MAAA;AAAA,QAdkC,WAAWQ;AAAA;SAChDN,KAAAO,EAYEC,EAVKZ,EAAO,IAAI,GAFlBa,EAYE,iBAXQV,EAAA,WAAS;AAAA,UAEhB,QAAQH,EAAO;AAAA,UACf,YAAYA,EAAO;AAAA,UACnB,UAAUA,EAAO;AAAA,UACjB,iBAAeG,EAAA;AAAA,UACf,oBAAkBA,EAAA;AAAA,UAClB,SAASH,EAAO;AAAA,UAChB,MAAMA,EAAO;AAAA,UACb,MAAMA,EAAO;AAAA,UACb,eAAaA,EAAO;AAAA;;;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { f as u } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js";
|
|
2
2
|
import { resolveComponent as r, createElementBlock as v, openBlock as m, createVNode as s, createBlock as f, createCommentVNode as g, withCtx as l, createTextVNode as w, toDisplayString as p, Fragment as V, renderList as A, withDirectives as E, vShow as j } from "vue";
|
|
3
3
|
import { _ as N } from "./CustomIcon-DTfsnDJn.js";
|
|
4
4
|
import "single-spa";
|
|
5
|
-
import { O } from "./OutputDialog-
|
|
5
|
+
import { O } from "./OutputDialog-CNH74LpJ.js";
|
|
6
6
|
import { T as U } from "./TextBoxDialog-Xs-gitZd.js";
|
|
7
7
|
import { f as B, t as I } from "./format-CVeawcIv.js";
|
|
8
8
|
const J = {
|
|
@@ -216,4 +216,4 @@ const Q = /* @__PURE__ */ N(J, [["render", F], ["__scopeId", "data-v-61eec86a"]]
|
|
|
216
216
|
export {
|
|
217
217
|
Q as default
|
|
218
218
|
};
|
|
219
|
-
//# sourceMappingURL=MicroservicesTab-
|
|
219
|
+
//# sourceMappingURL=MicroservicesTab-rxOATXLO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MicroservicesTab-DhisErku.js","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert\n v-model=\"showAlert\"\n dismissible\n transition=\"scale-transition\"\n :type=\"alertType\"\n >{{ alert }}</v-alert\n >\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-list-item-icon>\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_icon","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MicroservicesTab-rxOATXLO.js","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert\n v-model=\"showAlert\"\n dismissible\n transition=\"scale-transition\"\n :type=\"alertType\"\n >{{ alert }}</v-alert\n >\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-list-item-icon>\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_icon","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-
|
|
2
|
-
//# sourceMappingURL=MicroservicesTab-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs"),e=require("vue"),y=require("./CustomIcon-eie3rPKh.cjs");require("single-spa");const k=require("./OutputDialog-QIabyvK1.cjs"),T=require("./TextBoxDialog-DXG7H7kQ.cjs"),d=require("./format-B22VpiOS.cjs"),V={components:{OutputDialog:k.OutputDialog,TextBoxDialog:T.TextBoxDialog},data(){return{microservices:[],microservice_status:{},microservice_id:null,jsonContent:"",dialogTitle:"",showDialog:!1,showError:!1,alert:"",alertType:"success",showAlert:!1,updater:null}},mounted(){this.update(),this.updater=setInterval(()=>{this.update()},2e3)},beforeUnmount(){clearInterval(this.updater),this.updater=null},methods:{update:function(){c.fi.get("/openc3-api/microservice_status/all").then(t=>{this.microservice_status=t.data}),c.fi.get("/openc3-api/microservices/all").then(t=>{let i=[];for(const[r,l]of Object.entries(t.data))i.push(l);i.sort((r,l)=>r.name.localeCompare(l.name)),this.microservices=i})},startMicroservice:function(t){this.$dialog.confirm(`Are you sure you want to restart microservice: ${t}?`,{okText:"Start",cancelText:"Cancel"}).then(i=>{c.fi.post(`/openc3-api/microservices/${t}/start`).then(r=>{this.alert=`Started ${t}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},stopMicroservice:function(t){this.$dialog.confirm(`Are you sure you want to stop microservice: ${t}?`,{okText:"Stop",cancelText:"Cancel"}).then(i=>{c.fi.post(`/openc3-api/microservices/${t}/stop`).then(r=>{this.alert=`Stopped ${t}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},showMicroservice:function(t){c.fi.get(`/openc3-api/microservices/${t}`).then(i=>{this.microservice_id=t,this.dialogTitle=t,this.jsonContent=JSON.stringify(i.data,null," "),this.showDialog=!0})},showMicroserviceError:function(t){this.dialogTitle=t;const i=this.microservice_status[t].error;this.jsonContent=JSON.stringify(i,null," "),this.showError=!0},formatDate(t){return d.format(d.toDate(parseInt(t)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},dialogCallback:function(t){if(this.showDialog=!1,t!==null){let i=JSON.parse(t),r="put",l=`/openc3-api/microservices/${this.microservice_id}`;i.name!==this.microservice_id&&(r="post",l="/openc3-api/microservices"),c.fi[r](l,{data:{json:t}}).then(o=>{this.alert="Modified Microservice",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}}};function S(t,i,r,l,o,n){const h=e.resolveComponent("v-alert"),v=e.resolveComponent("v-list-item-title"),_=e.resolveComponent("v-list-item-subtitle"),a=e.resolveComponent("v-btn"),u=e.resolveComponent("v-list-item-icon"),f=e.resolveComponent("v-list-item"),g=e.resolveComponent("v-divider"),C=e.resolveComponent("v-list"),w=e.resolveComponent("output-dialog"),x=e.resolveComponent("text-box-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(h,{modelValue:o.showAlert,"onUpdate:modelValue":i[0]||(i[0]=s=>o.showAlert=s),dismissible:"",transition:"scale-transition",type:o.alertType},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.alert),1)]),_:1},8,["modelValue","type"]),e.createVNode(C,{class:"list","data-test":"microserviceList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.microservices,s=>(e.openBlock(),e.createElementBlock("div",{key:s},[e.createVNode(f,null,{append:e.withCtx(()=>{var m;return[e.withDirectives(e.createVNode(a,{icon:"mdi-alert",variant:"text",onClick:p=>n.showMicroserviceError(s.name)},null,8,["onClick"]),[[e.vShow,(m=o.microservice_status[s.name])==null?void 0:m.error]]),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Start Microservice",icon:"mdi-play",variant:"text",onClick:p=>n.startMicroservice(s.name)},null,8,["onClick"])]),_:2},1024),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Stop Microservice",icon:"mdi-stop",variant:"text",onClick:p=>n.stopMicroservice(s.name)},null,8,["onClick"])]),_:2},1024),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Show Microservice Details",icon:"mdi-eye",variant:"text",onClick:p=>n.showMicroservice(s.name)},null,8,["onClick"])]),_:2},1024)]}),default:e.withCtx(()=>[e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.name),1)]),_:2},1024),o.microservice_status[s.name]?(e.openBlock(),e.createBlock(_,{key:0},{default:e.withCtx(()=>[e.createTextVNode(" Updated: "+e.toDisplayString(n.formatDate(o.microservice_status[s.name].updated_at))+", State: "+e.toDisplayString(o.microservice_status[s.name].state)+", Enabled: "+e.toDisplayString(s.enabled===!1?"False":"True")+", Count: "+e.toDisplayString(o.microservice_status[s.name].count),1)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(g)]))),128))]),_:1}),o.showDialog?(e.openBlock(),e.createBlock(w,{key:0,modelValue:o.showDialog,"onUpdate:modelValue":i[1]||(i[1]=s=>o.showDialog=s),content:o.jsonContent,type:"Microservice",name:o.dialogTitle,onSubmit:n.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):e.createCommentVNode("",!0),o.showError?(e.openBlock(),e.createBlock(x,{key:1,modelValue:o.showError,"onUpdate:modelValue":i[2]||(i[2]=s=>o.showError=s),text:o.jsonContent,title:o.dialogTitle},null,8,["modelValue","text","title"])):e.createCommentVNode("",!0)])}const D=y._export_sfc(V,[["render",S],["__scopeId","data-v-61eec86a"]]);exports.default=D;
|
|
2
|
+
//# sourceMappingURL=MicroservicesTab-uesXuuM4.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MicroservicesTab-BDkTm3LD.cjs","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert\n v-model=\"showAlert\"\n dismissible\n transition=\"scale-transition\"\n :type=\"alertType\"\n >{{ alert }}</v-alert\n >\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-list-item-icon>\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_icon","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MicroservicesTab-uesXuuM4.cjs","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert\n v-model=\"showAlert\"\n dismissible\n transition=\"scale-transition\"\n :type=\"alertType\"\n >{{ alert }}</v-alert\n >\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-list-item-icon>\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_icon","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
|