@openc3/vue-common 6.7.0 → 6.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArrayWidget-B__t3xOt.cjs → ArrayWidget-DaONH8Iv.cjs} +2 -2
- package/dist/{ArrayWidget-B__t3xOt.cjs.map → ArrayWidget-DaONH8Iv.cjs.map} +1 -1
- package/dist/{ArrayWidget-BSG8KEtf.js → ArrayWidget-j3ncPuPx.js} +4 -4
- package/dist/{ArrayWidget-BSG8KEtf.js.map → ArrayWidget-j3ncPuPx.js.map} +1 -1
- package/dist/{ArrayplotWidget-BduWyJlL.cjs → ArrayplotWidget-DPMVlst7.cjs} +2 -2
- package/dist/{ArrayplotWidget-BduWyJlL.cjs.map → ArrayplotWidget-DPMVlst7.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-WVu76Kqn.js → ArrayplotWidget-DuLaiGa9.js} +3 -3
- package/dist/{ArrayplotWidget-WVu76Kqn.js.map → ArrayplotWidget-DuLaiGa9.js.map} +1 -1
- package/dist/{BarColumn-Cflh9pUz.js → BarColumn-BWJ0Dd4O.js} +3 -3
- package/dist/{BarColumn-Cflh9pUz.js.map → BarColumn-BWJ0Dd4O.js.map} +1 -1
- package/dist/{BarColumn-DVn9f2WO.cjs → BarColumn-CchXr_ex.cjs} +2 -2
- package/dist/{BarColumn-DVn9f2WO.cjs.map → BarColumn-CchXr_ex.cjs.map} +1 -1
- package/dist/{BlockWidget-B7ryWGCq.js → BlockWidget-Bf5Dd6Cr.js} +4 -4
- package/dist/{BlockWidget-B7ryWGCq.js.map → BlockWidget-Bf5Dd6Cr.js.map} +1 -1
- package/dist/{BlockWidget-CRqA09Ve.cjs → BlockWidget-CeDueZQ0.cjs} +2 -2
- package/dist/{BlockWidget-CRqA09Ve.cjs.map → BlockWidget-CeDueZQ0.cjs.map} +1 -1
- package/dist/{ButtonWidget-Bb46aUCR.cjs → ButtonWidget-BZulfQct.cjs} +3 -3
- package/dist/{ButtonWidget-Bb46aUCR.cjs.map → ButtonWidget-BZulfQct.cjs.map} +1 -1
- package/dist/{ButtonWidget-BKih3ix9.js → ButtonWidget-bl_mGFYh.js} +16 -20
- package/dist/{ButtonWidget-BKih3ix9.js.map → ButtonWidget-bl_mGFYh.js.map} +1 -1
- package/dist/{CanvasWidget-DT_vPAoc.cjs → CanvasWidget-DwAXTAyn.cjs} +2 -2
- package/dist/{CanvasWidget-DT_vPAoc.cjs.map → CanvasWidget-DwAXTAyn.cjs.map} +1 -1
- package/dist/{CanvasWidget-DT9xMSfb.js → CanvasWidget-boDemgx1.js} +2 -2
- package/dist/{CanvasWidget-DT9xMSfb.js.map → CanvasWidget-boDemgx1.js.map} +1 -1
- package/dist/{CanvasdotWidget-7H5Hvcn-.js → CanvasdotWidget-BZBbJcER.js} +2 -2
- package/dist/{CanvasdotWidget-7H5Hvcn-.js.map → CanvasdotWidget-BZBbJcER.js.map} +1 -1
- package/dist/{CanvasdotWidget-DNSQriVo.cjs → CanvasdotWidget-ByJp9ZIa.cjs} +2 -2
- package/dist/{CanvasdotWidget-DNSQriVo.cjs.map → CanvasdotWidget-ByJp9ZIa.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-BbWYx6Gj.js → CanvasimageWidget-6ywvT5jd.js} +3 -3
- package/dist/{CanvasimageWidget-BbWYx6Gj.js.map → CanvasimageWidget-6ywvT5jd.js.map} +1 -1
- package/dist/{CanvasimageWidget-CfleScIF.cjs → CanvasimageWidget-BDprHuH3.cjs} +2 -2
- package/dist/{CanvasimageWidget-CfleScIF.cjs.map → CanvasimageWidget-BDprHuH3.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-ouM4DBeD.cjs → CanvasimagevalueWidget-Cl_EuzNC.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-ouM4DBeD.cjs.map → CanvasimagevalueWidget-Cl_EuzNC.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-Blvoe2X4.js → CanvasimagevalueWidget-DjWrA3gX.js} +3 -3
- package/dist/{CanvasimagevalueWidget-Blvoe2X4.js.map → CanvasimagevalueWidget-DjWrA3gX.js.map} +1 -1
- package/dist/{CanvaslabelWidget-BPx_Rm4o.js → CanvaslabelWidget-Bq4V2BQh.js} +2 -2
- package/dist/{CanvaslabelWidget-BPx_Rm4o.js.map → CanvaslabelWidget-Bq4V2BQh.js.map} +1 -1
- package/dist/{CanvaslabelWidget-DB3qox5N.cjs → CanvaslabelWidget-aalWFBxK.cjs} +2 -2
- package/dist/{CanvaslabelWidget-DB3qox5N.cjs.map → CanvaslabelWidget-aalWFBxK.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-DzdWvL0W.js → CanvaslabelvalueWidget-C8oNcFLi.js} +2 -2
- package/dist/{CanvaslabelvalueWidget-DzdWvL0W.js.map → CanvaslabelvalueWidget-C8oNcFLi.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-2k6TjSNj.cjs → CanvaslabelvalueWidget-DIO0fADo.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-2k6TjSNj.cjs.map → CanvaslabelvalueWidget-DIO0fADo.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-oAoznYZP.cjs → CanvaslineWidget-CqNOzV_A.cjs} +2 -2
- package/dist/{CanvaslineWidget-oAoznYZP.cjs.map → CanvaslineWidget-CqNOzV_A.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-CqskilGk.js → CanvaslineWidget-nvbL2GoL.js} +2 -2
- package/dist/{CanvaslineWidget-CqskilGk.js.map → CanvaslineWidget-nvbL2GoL.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-BmyIxGNz.cjs → CanvaslinevalueWidget-D0kOhxXn.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-BmyIxGNz.cjs.map → CanvaslinevalueWidget-D0kOhxXn.cjs.map} +1 -1
- package/dist/{CanvaslinevalueWidget-C0JIKdvZ.js → CanvaslinevalueWidget-ZACQedKx.js} +2 -2
- package/dist/{CanvaslinevalueWidget-C0JIKdvZ.js.map → CanvaslinevalueWidget-ZACQedKx.js.map} +1 -1
- package/dist/{CheckbuttonWidget-C9FbJx2v.js → CheckbuttonWidget-B82UE8AB.js} +2 -2
- package/dist/{CheckbuttonWidget-C9FbJx2v.js.map → CheckbuttonWidget-B82UE8AB.js.map} +1 -1
- package/dist/{CheckbuttonWidget-C548xrRy.cjs → CheckbuttonWidget-L9xyRwfS.cjs} +2 -2
- package/dist/{CheckbuttonWidget-C548xrRy.cjs.map → CheckbuttonWidget-L9xyRwfS.cjs.map} +1 -1
- package/dist/{ClassificationBanners-BTdLBSfy.cjs → ClassificationBanners-ZF9Ab7D0.cjs} +2 -2
- package/dist/{ClassificationBanners-BTdLBSfy.cjs.map → ClassificationBanners-ZF9Ab7D0.cjs.map} +1 -1
- package/dist/{ClassificationBanners-CgJiwgTp.js → ClassificationBanners-jiqWjTAZ.js} +2 -2
- package/dist/{ClassificationBanners-CgJiwgTp.js.map → ClassificationBanners-jiqWjTAZ.js.map} +1 -1
- package/dist/{ComboboxWidget-BbNKT0s8.js → ComboboxWidget-4OFiSkI6.js} +2 -2
- package/dist/{ComboboxWidget-BbNKT0s8.js.map → ComboboxWidget-4OFiSkI6.js.map} +1 -1
- package/dist/{ComboboxWidget-AErojGw0.cjs → ComboboxWidget-6hmnB_mK.cjs} +2 -2
- package/dist/{ComboboxWidget-AErojGw0.cjs.map → ComboboxWidget-6hmnB_mK.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-N06JxCHg.cjs → CriticalCmdDialog-C-UGhtjE.cjs} +2 -2
- package/dist/{CriticalCmdDialog-N06JxCHg.cjs.map → CriticalCmdDialog-C-UGhtjE.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-CF7Sqjdm.js → CriticalCmdDialog-FhXDdBn4.js} +9 -12
- package/dist/{CriticalCmdDialog-CF7Sqjdm.js.map → CriticalCmdDialog-FhXDdBn4.js.map} +1 -1
- package/dist/{DateWidget-CBMsdRUE.js → DateWidget-BmwtdirF.js} +2 -2
- package/dist/{DateWidget-CBMsdRUE.js.map → DateWidget-BmwtdirF.js.map} +1 -1
- package/dist/{DateWidget-CCIkDM9_.cjs → DateWidget-CmSp7svA.cjs} +2 -2
- package/dist/{DateWidget-CCIkDM9_.cjs.map → DateWidget-CmSp7svA.cjs.map} +1 -1
- package/dist/{DetailsDialog-DRVahE5z.js → DetailsDialog-CLKEfU0s.js} +126 -158
- package/dist/{DetailsDialog-DRVahE5z.js.map → DetailsDialog-CLKEfU0s.js.map} +1 -1
- package/dist/DetailsDialog-DEicfRO1.cjs +2 -0
- package/dist/{DetailsDialog-CVYBgZll.cjs.map → DetailsDialog-DEicfRO1.cjs.map} +1 -1
- package/dist/{EventListDialog-DDWL9gIQ.js → EventListDialog-BvSMSn7J.js} +53 -68
- package/dist/{EventListDialog-DDWL9gIQ.js.map → EventListDialog-BvSMSn7J.js.map} +1 -1
- package/dist/EventListDialog-Em1RcH7I.cjs +2 -0
- package/dist/{EventListDialog-CjYLRdkb.cjs.map → EventListDialog-Em1RcH7I.cjs.map} +1 -1
- package/dist/{FormatvalueWidget-BLWsqhIZ.js → FormatvalueWidget-C8exC3bj.js} +3 -3
- package/dist/{FormatvalueWidget-BLWsqhIZ.js.map → FormatvalueWidget-C8exC3bj.js.map} +1 -1
- package/dist/{FormatvalueWidget-BiaqheLJ.cjs → FormatvalueWidget-auKALSPC.cjs} +2 -2
- package/dist/{FormatvalueWidget-BiaqheLJ.cjs.map → FormatvalueWidget-auKALSPC.cjs.map} +1 -1
- package/dist/Graph-BJqtVAaV.cjs +2 -0
- package/dist/Graph-BJqtVAaV.cjs.map +1 -0
- package/dist/{Graph-BiU56Qj2.js → Graph-CWcrowaT.js} +384 -391
- package/dist/Graph-CWcrowaT.js.map +1 -0
- package/dist/{GraphWidget-cfgX_skM.cjs → GraphWidget-BroqS0SO.cjs} +2 -2
- package/dist/{GraphWidget-cfgX_skM.cjs.map → GraphWidget-BroqS0SO.cjs.map} +1 -1
- package/dist/{GraphWidget-Ga0AEfrJ.js → GraphWidget-CvzxZYVx.js} +2 -2
- package/dist/{GraphWidget-Ga0AEfrJ.js.map → GraphWidget-CvzxZYVx.js.map} +1 -1
- package/dist/{HorizontalWidget-CsVhLwZO.js → HorizontalWidget-Ck151zVw.js} +2 -2
- package/dist/{HorizontalWidget-CsVhLwZO.js.map → HorizontalWidget-Ck151zVw.js.map} +1 -1
- package/dist/{HorizontalWidget-i6aqMSRv.cjs → HorizontalWidget-DBeyBZCp.cjs} +2 -2
- package/dist/{HorizontalWidget-i6aqMSRv.cjs.map → HorizontalWidget-DBeyBZCp.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-B_S8mswF.cjs → HorizontalboxWidget-CuWtYdgh.cjs} +2 -2
- package/dist/{HorizontalboxWidget-B_S8mswF.cjs.map → HorizontalboxWidget-CuWtYdgh.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-xC6PADl3.js → HorizontalboxWidget-D3P-cl9V.js} +5 -5
- package/dist/{HorizontalboxWidget-xC6PADl3.js.map → HorizontalboxWidget-D3P-cl9V.js.map} +1 -1
- package/dist/{HorizontallineWidget-NZIxmRVN.js → HorizontallineWidget-BE1TjPU8.js} +2 -2
- package/dist/{HorizontallineWidget-NZIxmRVN.js.map → HorizontallineWidget-BE1TjPU8.js.map} +1 -1
- package/dist/{HorizontallineWidget-Cpys-185.cjs → HorizontallineWidget-QUFjdOSu.cjs} +2 -2
- package/dist/{HorizontallineWidget-Cpys-185.cjs.map → HorizontallineWidget-QUFjdOSu.cjs.map} +1 -1
- package/dist/{IframeWidget-BgzjSfag.js → IframeWidget-BgJCgues.js} +2 -2
- package/dist/{IframeWidget-BgzjSfag.js.map → IframeWidget-BgJCgues.js.map} +1 -1
- package/dist/{IframeWidget-CCdvd8rg.cjs → IframeWidget-DOZ1YyS2.cjs} +2 -2
- package/dist/{IframeWidget-CCdvd8rg.cjs.map → IframeWidget-DOZ1YyS2.cjs.map} +1 -1
- package/dist/{ImageLoader-BIKl6vGc.cjs → ImageLoader-AGF0VbZ5.cjs} +2 -2
- package/dist/{ImageLoader-BIKl6vGc.cjs.map → ImageLoader-AGF0VbZ5.cjs.map} +1 -1
- package/dist/{ImageLoader-DbFVK1Ui.js → ImageLoader-CWn-PLOk.js} +2 -2
- package/dist/{ImageLoader-DbFVK1Ui.js.map → ImageLoader-CWn-PLOk.js.map} +1 -1
- package/dist/{ImageviewerWidget-BnT5m-nw.js → ImageviewerWidget-BlhFZD2f.js} +2 -2
- package/dist/{ImageviewerWidget-BnT5m-nw.js.map → ImageviewerWidget-BlhFZD2f.js.map} +1 -1
- package/dist/{ImageviewerWidget-lnralJZa.cjs → ImageviewerWidget-DnmhYP68.cjs} +2 -2
- package/dist/{ImageviewerWidget-lnralJZa.cjs.map → ImageviewerWidget-DnmhYP68.cjs.map} +1 -1
- package/dist/{InterfacesTab-DjlzjJYG.cjs → InterfacesTab-76UJTIwF.cjs} +2 -2
- package/dist/{InterfacesTab-DjlzjJYG.cjs.map → InterfacesTab-76UJTIwF.cjs.map} +1 -1
- package/dist/{InterfacesTab-Cd_RITVP.js → InterfacesTab-Cwz-zG7j.js} +3 -3
- package/dist/{InterfacesTab-Cd_RITVP.js.map → InterfacesTab-Cwz-zG7j.js.map} +1 -1
- package/dist/{LabelWidget-CRHSFVPT.cjs → LabelWidget-C0DhD9Mn.cjs} +2 -2
- package/dist/{LabelWidget-CRHSFVPT.cjs.map → LabelWidget-C0DhD9Mn.cjs.map} +1 -1
- package/dist/{LabelWidget-DSDYmz6X.js → LabelWidget-Cwosk4x2.js} +2 -2
- package/dist/{LabelWidget-DSDYmz6X.js.map → LabelWidget-Cwosk4x2.js.map} +1 -1
- package/dist/{LabelledWidget-BXf9cTf_.cjs → LabelledWidget-D8-aKfA_.cjs} +2 -2
- package/dist/{LabelledWidget-BXf9cTf_.cjs.map → LabelledWidget-D8-aKfA_.cjs.map} +1 -1
- package/dist/{LabelledWidget-DMb-myxs.js → LabelledWidget-Dl6rAFTQ.js} +4 -4
- package/dist/{LabelledWidget-DMb-myxs.js.map → LabelledWidget-Dl6rAFTQ.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-BNHaAUXq.cjs → LabelprogressbarWidget-DosPhvaY.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-BNHaAUXq.cjs.map → LabelprogressbarWidget-DosPhvaY.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-CkjDJBao.js → LabelprogressbarWidget-MuAKesOz.js} +4 -4
- package/dist/{LabelprogressbarWidget-CkjDJBao.js.map → LabelprogressbarWidget-MuAKesOz.js.map} +1 -1
- package/dist/{LabelsparklineWidget-DBYPFz3Y.js → LabelsparklineWidget-6LA6Ox3d.js} +4 -4
- package/dist/{LabelsparklineWidget-DBYPFz3Y.js.map → LabelsparklineWidget-6LA6Ox3d.js.map} +1 -1
- package/dist/{LabelsparklineWidget-BpHMkt-L.cjs → LabelsparklineWidget-CLU8722I.cjs} +2 -2
- package/dist/{LabelsparklineWidget-BpHMkt-L.cjs.map → LabelsparklineWidget-CLU8722I.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-DlTkJC4i.js → LabelvalueWidget-BxAXx-Tf.js} +4 -4
- package/dist/{LabelvalueWidget-DlTkJC4i.js.map → LabelvalueWidget-BxAXx-Tf.js.map} +1 -1
- package/dist/{LabelvalueWidget-BFHYb64m.cjs → LabelvalueWidget-WP4gK29n.cjs} +2 -2
- package/dist/{LabelvalueWidget-BFHYb64m.cjs.map → LabelvalueWidget-WP4gK29n.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-CUld9MqE.cjs → LabelvaluedescWidget-BQ-6OXHc.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-CUld9MqE.cjs.map → LabelvaluedescWidget-BQ-6OXHc.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-dRqnGZub.js → LabelvaluedescWidget-Dwwlnd1g.js} +5 -5
- package/dist/{LabelvaluedescWidget-dRqnGZub.js.map → LabelvaluedescWidget-Dwwlnd1g.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-CS4NAPJ1.js → LabelvaluelimitsbarWidget-Dv8Qk8kK.js} +4 -4
- package/dist/{LabelvaluelimitsbarWidget-CS4NAPJ1.js.map → LabelvaluelimitsbarWidget-Dv8Qk8kK.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-Br_PXH0r.cjs → LabelvaluelimitsbarWidget-Z_7ARnvo.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-Br_PXH0r.cjs.map → LabelvaluelimitsbarWidget-Z_7ARnvo.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-D9x4Ppv8.js → LabelvaluelimitscolumnWidget-D-_gl6fq.js} +5 -5
- package/dist/{LabelvaluelimitscolumnWidget-D9x4Ppv8.js.map → LabelvaluelimitscolumnWidget-D-_gl6fq.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-DjLG10C5.cjs → LabelvaluelimitscolumnWidget-DiO1b01N.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-DjLG10C5.cjs.map → LabelvaluelimitscolumnWidget-DiO1b01N.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-Dhyng4-n.js → LabelvaluerangebarWidget-B3MKT-3Y.js} +4 -4
- package/dist/{LabelvaluerangebarWidget-Dhyng4-n.js.map → LabelvaluerangebarWidget-B3MKT-3Y.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-CsUfrGAM.cjs → LabelvaluerangebarWidget-DtajHP0b.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-CsUfrGAM.cjs.map → LabelvaluerangebarWidget-DtajHP0b.cjs.map} +1 -1
- package/dist/{Layout-mWR35VAD.js → Layout-Bkb6VP3e.js} +2 -2
- package/dist/{Layout-mWR35VAD.js.map → Layout-Bkb6VP3e.js.map} +1 -1
- package/dist/Layout-CSbYbZWA.cjs +2 -0
- package/dist/{Layout-DDktMnzb.cjs.map → Layout-CSbYbZWA.cjs.map} +1 -1
- package/dist/{LedWidget-D8cq4pUv.js → LedWidget-DOuDD8LI.js} +4 -4
- package/dist/{LedWidget-D8cq4pUv.js.map → LedWidget-DOuDD8LI.js.map} +1 -1
- package/dist/{LedWidget-CCQWCw80.cjs → LedWidget-DeREi8-u.cjs} +2 -2
- package/dist/{LedWidget-CCQWCw80.cjs.map → LedWidget-DeREi8-u.cjs.map} +1 -1
- package/dist/LimitsbarWidget-BHr3IcIx.cjs +2 -0
- package/dist/{LimitsbarWidget-D4O0LWuC.cjs.map → LimitsbarWidget-BHr3IcIx.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-VGJnDuVM.js → LimitsbarWidget-D1U6SvVL.js} +4 -4
- package/dist/{LimitsbarWidget-VGJnDuVM.js.map → LimitsbarWidget-D1U6SvVL.js.map} +1 -1
- package/dist/{LimitscolorWidget-BvxsopUs.cjs → LimitscolorWidget-BUkKRrSL.cjs} +2 -2
- package/dist/{LimitscolorWidget-BvxsopUs.cjs.map → LimitscolorWidget-BUkKRrSL.cjs.map} +1 -1
- package/dist/{LimitscolorWidget-CG6Pqi12.js → LimitscolorWidget-iSMGusqt.js} +2 -2
- package/dist/{LimitscolorWidget-CG6Pqi12.js.map → LimitscolorWidget-iSMGusqt.js.map} +1 -1
- package/dist/{LimitscolumnWidget-Z9JnMlDS.cjs → LimitscolumnWidget-COfNnb6f.cjs} +2 -2
- package/dist/{LimitscolumnWidget-Z9JnMlDS.cjs.map → LimitscolumnWidget-COfNnb6f.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-DjovQdiT.js → LimitscolumnWidget-DjxZTt_r.js} +4 -4
- package/dist/{LimitscolumnWidget-DjovQdiT.js.map → LimitscolumnWidget-DjxZTt_r.js.map} +1 -1
- package/dist/{LinegraphWidget-DSWAhXgZ.js → LinegraphWidget-BHKU6zlT.js} +4 -4
- package/dist/{LinegraphWidget-DSWAhXgZ.js.map → LinegraphWidget-BHKU6zlT.js.map} +1 -1
- package/dist/{LinegraphWidget-B_ECNLzU.cjs → LinegraphWidget-RleSRWKa.cjs} +2 -2
- package/dist/{LinegraphWidget-B_ECNLzU.cjs.map → LinegraphWidget-RleSRWKa.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-C3cuhRxz.js → MatrixbycolumnsWidget-BKO-A2QD.js} +3 -3
- package/dist/{MatrixbycolumnsWidget-C3cuhRxz.js.map → MatrixbycolumnsWidget-BKO-A2QD.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-CPFzRQN5.cjs → MatrixbycolumnsWidget-DWouVj7A.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-CPFzRQN5.cjs.map → MatrixbycolumnsWidget-DWouVj7A.cjs.map} +1 -1
- package/dist/{MicroservicesTab-BGgwT56M.cjs → MicroservicesTab-L6qMAy4x.cjs} +2 -2
- package/dist/{MicroservicesTab-BGgwT56M.cjs.map → MicroservicesTab-L6qMAy4x.cjs.map} +1 -1
- package/dist/{MicroservicesTab-Dbp02UlV.js → MicroservicesTab-xLup6THU.js} +4 -4
- package/dist/{MicroservicesTab-Dbp02UlV.js.map → MicroservicesTab-xLup6THU.js.map} +1 -1
- package/dist/{Openc3Screen-CkdegNDJ.js → Openc3Screen-1rQ_Dbp4.js} +403 -398
- package/dist/Openc3Screen-1rQ_Dbp4.js.map +1 -0
- package/dist/Openc3Screen-BHHnSEoI.cjs +6 -0
- package/dist/Openc3Screen-BHHnSEoI.cjs.map +1 -0
- package/dist/{OutputDialog-2CmOBAEE.cjs → OutputDialog-DgM7aoa-.cjs} +2 -2
- package/dist/{OutputDialog-2CmOBAEE.cjs.map → OutputDialog-DgM7aoa-.cjs.map} +1 -1
- package/dist/{OutputDialog-M5Xc_DqH.js → OutputDialog-Ut5cXGxQ.js} +5 -6
- package/dist/{OutputDialog-M5Xc_DqH.js.map → OutputDialog-Ut5cXGxQ.js.map} +1 -1
- package/dist/{PackagesTab-HQCOIGZK.js → PackagesTab-ChJDyU3Z.js} +30 -36
- package/dist/{PackagesTab-HQCOIGZK.js.map → PackagesTab-ChJDyU3Z.js.map} +1 -1
- package/dist/PackagesTab-jqsRJEcJ.cjs +2 -0
- package/dist/{PackagesTab-Dwp6g8W0.cjs.map → PackagesTab-jqsRJEcJ.cjs.map} +1 -1
- package/dist/{PluginsTab-CZApRILr.js → PluginsTab-CayzDij0.js} +462 -410
- package/dist/PluginsTab-CayzDij0.js.map +1 -0
- package/dist/PluginsTab-DYEv8EPg.cjs +6 -0
- package/dist/PluginsTab-DYEv8EPg.cjs.map +1 -0
- package/dist/{ProgressbarWidget-BADSYuUN.cjs → ProgressbarWidget-Xba7gDbW.cjs} +2 -2
- package/dist/{ProgressbarWidget-BADSYuUN.cjs.map → ProgressbarWidget-Xba7gDbW.cjs.map} +1 -1
- package/dist/{ProgressbarWidget-oCgAEFBO.js → ProgressbarWidget-fbr2qu_N.js} +2 -2
- package/dist/{ProgressbarWidget-oCgAEFBO.js.map → ProgressbarWidget-fbr2qu_N.js.map} +1 -1
- package/dist/{RadiobuttonWidget-Bklx2_Au.cjs → RadiobuttonWidget-CdpKw7jr.cjs} +2 -2
- package/dist/{RadiobuttonWidget-Bklx2_Au.cjs.map → RadiobuttonWidget-CdpKw7jr.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-D4Dak3lc.js → RadiobuttonWidget-DL08zcQT.js} +2 -2
- package/dist/{RadiobuttonWidget-D4Dak3lc.js.map → RadiobuttonWidget-DL08zcQT.js.map} +1 -1
- package/dist/{RadiogroupWidget-Z2S2tgjG.cjs → RadiogroupWidget-DSA8ENmw.cjs} +2 -2
- package/dist/{RadiogroupWidget-Z2S2tgjG.cjs.map → RadiogroupWidget-DSA8ENmw.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-Dbe9T4fp.js → RadiogroupWidget-DW9Xpj3c.js} +2 -2
- package/dist/{RadiogroupWidget-Dbe9T4fp.js.map → RadiogroupWidget-DW9Xpj3c.js.map} +1 -1
- package/dist/{RangebarWidget-C0TpxFDi.cjs → RangebarWidget-B4oRyUwG.cjs} +2 -2
- package/dist/{RangebarWidget-C0TpxFDi.cjs.map → RangebarWidget-B4oRyUwG.cjs.map} +1 -1
- package/dist/{RangebarWidget-CIVrgqrW.js → RangebarWidget-o9q55kjc.js} +4 -4
- package/dist/{RangebarWidget-CIVrgqrW.js.map → RangebarWidget-o9q55kjc.js.map} +1 -1
- package/dist/RedisTab-BGz2ZN9T.js +171 -0
- package/dist/RedisTab-BGz2ZN9T.js.map +1 -0
- package/dist/RedisTab-Uqcfgux1.cjs +2 -0
- package/dist/RedisTab-Uqcfgux1.cjs.map +1 -0
- package/dist/{RollupWidget-BEDf-mfg.cjs → RollupWidget-43v3NX_Z.cjs} +2 -2
- package/dist/{RollupWidget-BEDf-mfg.cjs.map → RollupWidget-43v3NX_Z.cjs.map} +1 -1
- package/dist/{RollupWidget-CH1-XNLV.js → RollupWidget-BHnjj-DF.js} +2 -2
- package/dist/{RollupWidget-CH1-XNLV.js.map → RollupWidget-BHnjj-DF.js.map} +1 -1
- package/dist/{RoutersTab-BA-KlYIm.cjs → RoutersTab-Be53r61Y.cjs} +2 -2
- package/dist/{RoutersTab-BA-KlYIm.cjs.map → RoutersTab-Be53r61Y.cjs.map} +1 -1
- package/dist/{RoutersTab-WKa6K7B8.js → RoutersTab-CCEPlZ_Y.js} +3 -3
- package/dist/{RoutersTab-WKa6K7B8.js.map → RoutersTab-CCEPlZ_Y.js.map} +1 -1
- package/dist/{ScriptChooser-LsboGSgh.cjs → ScriptChooser-B6TGFTBN.cjs} +2 -2
- package/dist/{ScriptChooser-LsboGSgh.cjs.map → ScriptChooser-B6TGFTBN.cjs.map} +1 -1
- package/dist/{ScriptChooser-B5TkGuZ4.js → ScriptChooser-CXjcm3bN.js} +2 -2
- package/dist/{ScriptChooser-B5TkGuZ4.js.map → ScriptChooser-CXjcm3bN.js.map} +1 -1
- package/dist/{ScrollwindowWidget-BwFG6Wn8.js → ScrollwindowWidget-D-QVwztC.js} +3 -3
- package/dist/{ScrollwindowWidget-BwFG6Wn8.js.map → ScrollwindowWidget-D-QVwztC.js.map} +1 -1
- package/dist/{ScrollwindowWidget-DWxDmpFB.cjs → ScrollwindowWidget-D6ZHZr3o.cjs} +2 -2
- package/dist/{ScrollwindowWidget-DWxDmpFB.cjs.map → ScrollwindowWidget-D6ZHZr3o.cjs.map} +1 -1
- package/dist/{SecretsTab-DKX5gLH_.cjs → SecretsTab-DDZ1VoUf.cjs} +2 -2
- package/dist/{SecretsTab-DKX5gLH_.cjs.map → SecretsTab-DDZ1VoUf.cjs.map} +1 -1
- package/dist/{SecretsTab-Vtvbb_1U.js → SecretsTab-vVy356vr.js} +8 -10
- package/dist/{SecretsTab-Vtvbb_1U.js.map → SecretsTab-vVy356vr.js.map} +1 -1
- package/dist/{SettingsTab-DilFIQ3K.js → SettingsTab-CbWrf7U9.js} +261 -315
- package/dist/{SettingsTab-DilFIQ3K.js.map → SettingsTab-CbWrf7U9.js.map} +1 -1
- package/dist/SettingsTab-DsIVE5UL.cjs +3 -0
- package/dist/{SettingsTab-Ch52foLm.cjs.map → SettingsTab-DsIVE5UL.cjs.map} +1 -1
- package/dist/{SignalWidget-Gz2gHrUm.js → SignalWidget-CsWuufdx.js} +2 -2
- package/dist/{SignalWidget-Gz2gHrUm.js.map → SignalWidget-CsWuufdx.js.map} +1 -1
- package/dist/{SignalWidget-1WqQFVq9.cjs → SignalWidget-CysAE9ZG.cjs} +2 -2
- package/dist/{SignalWidget-1WqQFVq9.cjs.map → SignalWidget-CysAE9ZG.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-BwOVWhRY.cjs → SimpleTextDialog-CU6G5CBY.cjs} +2 -2
- package/dist/{SimpleTextDialog-BwOVWhRY.cjs.map → SimpleTextDialog-CU6G5CBY.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-Cmtrmt79.js → SimpleTextDialog-ChV5vRcV.js} +10 -11
- package/dist/{SimpleTextDialog-Cmtrmt79.js.map → SimpleTextDialog-ChV5vRcV.js.map} +1 -1
- package/dist/{SpacerWidget-Bzp3aI40.cjs → SpacerWidget-ChNk5TFU.cjs} +2 -2
- package/dist/{SpacerWidget-Bzp3aI40.cjs.map → SpacerWidget-ChNk5TFU.cjs.map} +1 -1
- package/dist/{SpacerWidget-Bg7VDB0k.js → SpacerWidget-Di9-qunj.js} +2 -2
- package/dist/{SpacerWidget-Bg7VDB0k.js.map → SpacerWidget-Di9-qunj.js.map} +1 -1
- package/dist/{SparklineWidget-D_b5rfJv.js → SparklineWidget-B6-zhdPW.js} +4 -4
- package/dist/{SparklineWidget-D_b5rfJv.js.map → SparklineWidget-B6-zhdPW.js.map} +1 -1
- package/dist/{SparklineWidget-kMWjVDrm.cjs → SparklineWidget-D1tVqSRL.cjs} +2 -2
- package/dist/{SparklineWidget-kMWjVDrm.cjs.map → SparklineWidget-D1tVqSRL.cjs.map} +1 -1
- package/dist/{TabbookWidget-C30f9B6z.js → TabbookWidget-B1E1_mzA.js} +2 -2
- package/dist/{TabbookWidget-C30f9B6z.js.map → TabbookWidget-B1E1_mzA.js.map} +1 -1
- package/dist/{TabbookWidget-DlVrU3wK.cjs → TabbookWidget-Btg-Axid.cjs} +2 -2
- package/dist/{TabbookWidget-DlVrU3wK.cjs.map → TabbookWidget-Btg-Axid.cjs.map} +1 -1
- package/dist/{TargetsTab-CEPId9dL.js → TargetsTab-DbbQcBuK.js} +4 -5
- package/dist/{TargetsTab-CEPId9dL.js.map → TargetsTab-DbbQcBuK.js.map} +1 -1
- package/dist/{TargetsTab-uqjueXlq.cjs → TargetsTab-pbmAAkOA.cjs} +2 -2
- package/dist/{TargetsTab-uqjueXlq.cjs.map → TargetsTab-pbmAAkOA.cjs.map} +1 -1
- package/dist/{TextBoxDialog-BlZ6MBoW.js → TextBoxDialog-CdFHdj5W.js} +4 -5
- package/dist/{TextBoxDialog-BlZ6MBoW.js.map → TextBoxDialog-CdFHdj5W.js.map} +1 -1
- package/dist/{TextBoxDialog--uIDsNPU.cjs → TextBoxDialog-DbD8P4Xc.cjs} +2 -2
- package/dist/{TextBoxDialog--uIDsNPU.cjs.map → TextBoxDialog-DbD8P4Xc.cjs.map} +1 -1
- package/dist/{TextboxWidget-CDqxsgys.js → TextboxWidget-CBVEXPw_.js} +4 -4
- package/dist/{TextboxWidget-CDqxsgys.js.map → TextboxWidget-CBVEXPw_.js.map} +1 -1
- package/dist/{TextboxWidget-BJka_3dT.cjs → TextboxWidget-CHXcR8lA.cjs} +2 -2
- package/dist/{TextboxWidget-BJka_3dT.cjs.map → TextboxWidget-CHXcR8lA.cjs.map} +1 -1
- package/dist/{TextfieldWidget-CAyjKJs6.js → TextfieldWidget-DZMHrtQa.js} +2 -2
- package/dist/{TextfieldWidget-CAyjKJs6.js.map → TextfieldWidget-DZMHrtQa.js.map} +1 -1
- package/dist/{TextfieldWidget-C7_48W7n.cjs → TextfieldWidget-vSJ9CtKs.cjs} +2 -2
- package/dist/{TextfieldWidget-C7_48W7n.cjs.map → TextfieldWidget-vSJ9CtKs.cjs.map} +1 -1
- package/dist/{TimeWidget-WPWiADCI.cjs → TimeWidget-ClkxS_oo.cjs} +2 -2
- package/dist/{TimeWidget-WPWiADCI.cjs.map → TimeWidget-ClkxS_oo.cjs.map} +1 -1
- package/dist/{TimeWidget-BQsP0G2X.js → TimeWidget-K4MNmJ7J.js} +2 -2
- package/dist/{TimeWidget-BQsP0G2X.js.map → TimeWidget-K4MNmJ7J.js.map} +1 -1
- package/dist/{TitleWidget-DXVba53S.js → TitleWidget-8IcwweFE.js} +2 -2
- package/dist/{TitleWidget-DXVba53S.js.map → TitleWidget-8IcwweFE.js.map} +1 -1
- package/dist/{TitleWidget-DavRJ5B5.cjs → TitleWidget-DJJ17ATm.cjs} +2 -2
- package/dist/{TitleWidget-DavRJ5B5.cjs.map → TitleWidget-DJJ17ATm.cjs.map} +1 -1
- package/dist/ToolsTab-BkabqeR_.cjs +7 -0
- package/dist/{ToolsTab-DUwXt5hn.cjs.map → ToolsTab-BkabqeR_.cjs.map} +1 -1
- package/dist/{ToolsTab-CSmjz1H7.js → ToolsTab-tkganPCk.js} +6 -7
- package/dist/{ToolsTab-CSmjz1H7.js.map → ToolsTab-tkganPCk.js.map} +1 -1
- package/dist/{TopBar-D_2lT9RB.js → TopBar-BoI8SRaF.js} +18 -20
- package/dist/{TopBar-D_2lT9RB.js.map → TopBar-BoI8SRaF.js.map} +1 -1
- package/dist/TopBar-zJvwq8pr.cjs +2 -0
- package/dist/{TopBar-C5lQcY1W.cjs.map → TopBar-zJvwq8pr.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-Cvt5MMTj.js → UpgradeToEnterpriseDialog-BYz9YoyY.js} +13 -16
- package/dist/{UpgradeToEnterpriseDialog-Cvt5MMTj.js.map → UpgradeToEnterpriseDialog-BYz9YoyY.js.map} +1 -1
- package/dist/UpgradeToEnterpriseDialog-BxHUptQB.cjs +2 -0
- package/dist/{UpgradeToEnterpriseDialog-BHDDrj0t.cjs.map → UpgradeToEnterpriseDialog-BxHUptQB.cjs.map} +1 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs +1498 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js} +7475 -7319
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js.map +1 -0
- package/dist/VWidget-3ziiUuPM.cjs +2 -0
- package/dist/VWidget-3ziiUuPM.cjs.map +1 -0
- package/dist/VWidget-CoIgX3hM.js +190 -0
- package/dist/VWidget-CoIgX3hM.js.map +1 -0
- package/dist/{ValueWidget-B-TWLPdM.js → ValueWidget-BvT1ASar.js} +4 -4
- package/dist/{ValueWidget-B-TWLPdM.js.map → ValueWidget-BvT1ASar.js.map} +1 -1
- package/dist/{ValueWidget-5ulSOrPw.cjs → ValueWidget-RU-vFOh9.cjs} +2 -2
- package/dist/{ValueWidget-5ulSOrPw.cjs.map → ValueWidget-RU-vFOh9.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-CTFVDwcL.cjs → ValuelimitsbarWidget-B5UtwjJW.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-CTFVDwcL.cjs.map → ValuelimitsbarWidget-B5UtwjJW.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-jsDXdPdC.js → ValuelimitsbarWidget-C5lBnUmB.js} +4 -4
- package/dist/{ValuelimitsbarWidget-jsDXdPdC.js.map → ValuelimitsbarWidget-C5lBnUmB.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-Du3Baz6G.cjs → ValuelimitscolumnWidget-BruOZb26.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-Du3Baz6G.cjs.map → ValuelimitscolumnWidget-BruOZb26.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-I-uwnXM2.js → ValuelimitscolumnWidget-DHYI0WBL.js} +4 -4
- package/dist/{ValuelimitscolumnWidget-I-uwnXM2.js.map → ValuelimitscolumnWidget-DHYI0WBL.js.map} +1 -1
- package/dist/{ValuerangebarWidget-OyhSTScu.js → ValuerangebarWidget-BSszZhlE.js} +4 -4
- package/dist/{ValuerangebarWidget-OyhSTScu.js.map → ValuerangebarWidget-BSszZhlE.js.map} +1 -1
- package/dist/{ValuerangebarWidget-BjXDCLm3.cjs → ValuerangebarWidget-BhQVRHhm.cjs} +2 -2
- package/dist/{ValuerangebarWidget-BjXDCLm3.cjs.map → ValuerangebarWidget-BhQVRHhm.cjs.map} +1 -1
- package/dist/{VerticalWidget-CkFbX1Gq.js → VerticalWidget-1GhgYrC3.js} +2 -2
- package/dist/{VerticalWidget-CkFbX1Gq.js.map → VerticalWidget-1GhgYrC3.js.map} +1 -1
- package/dist/{VerticalWidget-CKDTGmhp.cjs → VerticalWidget-XZrIw9zV.cjs} +2 -2
- package/dist/{VerticalWidget-CKDTGmhp.cjs.map → VerticalWidget-XZrIw9zV.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-D09UbA0I.cjs → VerticalboxWidget-BV-onQ8m.cjs} +2 -2
- package/dist/{VerticalboxWidget-D09UbA0I.cjs.map → VerticalboxWidget-BV-onQ8m.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-FEQgPM9r.js → VerticalboxWidget-DYHJqEzd.js} +5 -5
- package/dist/{VerticalboxWidget-FEQgPM9r.js.map → VerticalboxWidget-DYHJqEzd.js.map} +1 -1
- package/dist/{Widget-C3-TBgP7.js → Widget-B8t93Oid.js} +2 -2
- package/dist/{Widget-C3-TBgP7.js.map → Widget-B8t93Oid.js.map} +1 -1
- package/dist/{Widget-CSBtgNwA.cjs → Widget-Blq-k5SB.cjs} +2 -2
- package/dist/{Widget-CSBtgNwA.cjs.map → Widget-Blq-k5SB.cjs.map} +1 -1
- package/dist/cmdUtilities-BMsSNjt_.js +46 -0
- package/dist/cmdUtilities-BMsSNjt_.js.map +1 -0
- package/dist/cmdUtilities-ChD8v8-7.cjs +2 -0
- package/dist/cmdUtilities-ChD8v8-7.cjs.map +1 -0
- package/dist/components.cjs +3 -3
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +656 -247
- package/dist/components.js.map +1 -1
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +6 -8
- package/dist/plugins.js.map +1 -1
- package/dist/{settings-BboN1VLt.cjs → settings-DyvFSj59.cjs} +2 -2
- package/dist/{settings-BboN1VLt.cjs.map → settings-DyvFSj59.cjs.map} +1 -1
- package/dist/{settings-spKii1fI.js → settings-UZsgbUSr.js} +2 -2
- package/dist/{settings-spKii1fI.js.map → settings-UZsgbUSr.js.map} +1 -1
- package/dist/tools/admin.cjs +2 -2
- package/dist/tools/admin.cjs.map +1 -1
- package/dist/tools/admin.js +75 -98
- package/dist/tools/admin.js.map +1 -1
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.cjs.map +1 -1
- package/dist/tools/base.js +73 -98
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/calendar.cjs +1 -1
- package/dist/tools/calendar.js +1 -1
- package/dist/tools/scriptrunner.cjs +33 -33
- package/dist/tools/scriptrunner.cjs.map +1 -1
- package/dist/tools/scriptrunner.js +852 -834
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/util.cjs +1 -1
- package/dist/util.js +4 -2
- package/dist/util.js.map +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +63 -63
- package/package.json +8 -8
- package/dist/DetailsDialog-CVYBgZll.cjs +0 -2
- package/dist/EventListDialog-CjYLRdkb.cjs +0 -2
- package/dist/Graph-BiU56Qj2.js.map +0 -1
- package/dist/Graph-CWjf71TK.cjs +0 -2
- package/dist/Graph-CWjf71TK.cjs.map +0 -1
- package/dist/Layout-DDktMnzb.cjs +0 -2
- package/dist/LimitsbarWidget-D4O0LWuC.cjs +0 -2
- package/dist/Openc3Screen-BP2oW88G.cjs +0 -6
- package/dist/Openc3Screen-BP2oW88G.cjs.map +0 -1
- package/dist/Openc3Screen-CkdegNDJ.js.map +0 -1
- package/dist/PackagesTab-Dwp6g8W0.cjs +0 -2
- package/dist/PluginsTab-COKDXShE.cjs +0 -6
- package/dist/PluginsTab-COKDXShE.cjs.map +0 -1
- package/dist/PluginsTab-CZApRILr.js.map +0 -1
- package/dist/RedisTab-B8U-vEQZ.js +0 -138
- package/dist/RedisTab-B8U-vEQZ.js.map +0 -1
- package/dist/RedisTab-cgicWb81.cjs +0 -2
- package/dist/RedisTab-cgicWb81.cjs.map +0 -1
- package/dist/SettingsTab-Ch52foLm.cjs +0 -3
- package/dist/ToolsTab-DUwXt5hn.cjs +0 -7
- package/dist/TopBar-C5lQcY1W.cjs +0 -2
- package/dist/UpgradeToEnterpriseDialog-BHDDrj0t.cjs +0 -2
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs +0 -1498
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs.map +0 -1
- package/dist/VWidget-C7V6pKTg.cjs +0 -2
- package/dist/VWidget-C7V6pKTg.cjs.map +0 -1
- package/dist/VWidget-CFTCukCL.js +0 -332
- package/dist/VWidget-CFTCukCL.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalWidget-
|
|
1
|
+
{"version":3,"file":"VerticalWidget-1GhgYrC3.js","sources":["../src/widgets/VerticalWidget.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 ref=\"container\" :style=\"computedStyle\">\n <component\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n v-bind=\"listeners\"\n :key=\"index\"\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 </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nexport default {\n mixins: [Layout],\n created: function () {\n if (this.parameters[0]) {\n let margin = this.parameters[0]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\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","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;AA4CA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,SAAS,WAAY;AACnB,QAAI,KAAK,WAAW,CAAC,GAAG;AACtB,UAAIC,IAAS,KAAK,WAAW,CAAC;AAC9B,WAAK,QAAQ,QAAQ,CAACC,MAAW;AAQ/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;;cAxCEG,EAgBM,OAAA;AAAA,IAhBD,KAAI;AAAA,IAAa,SAAOC,EAAA,aAAa;AAAA;KACxCC,EAAA,EAAA,GAAAF,EAcEG,GAAA,MAAAC,EAZ0BH,EAAA,SAAO,CAAzBH,GAAQO,OAFlBH,EAAA,GAAAI,EAcEC,EAbKT,EAAO,IAAI,GADlBU,EAcE,iBAXQP,EAAA,WAAS;AAAA,MAChB,KAAKI;AAAA,MACL,QAAQP,EAAO;AAAA,MACf,YAAYA,EAAO;AAAA,MACnB,UAAUA,EAAO;AAAA,MACjB,iBAAeG,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA,MAClB,SAASH,EAAO;AAAA,MAChB,MAAMA,EAAO;AAAA,MACb,MAAMA,EAAO;AAAA,MACb,eAAaA,EAAO;AAAA;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Layout-
|
|
2
|
-
//# sourceMappingURL=VerticalWidget-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Layout-CSbYbZWA.cjs"),e=require("vue"),c=require("./CustomIcon-Bop2mEnu.cjs"),l={mixins:[i.Layout],created:function(){if(this.parameters[0]){let r=this.parameters[0];this.widgets.forEach(s=>{s.settings.find(t=>t[0]==="MARGIN"||t[0].startsWith("RAW")&&t[1].toUpperCase().includes("MARGIN"))===void 0&&s.settings.push(["MARGIN",r])})}}};function u(r,s,o,t,p,f){return e.openBlock(),e.createElementBlock("div",{ref:"container",style:e.normalizeStyle(r.computedStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.widgets,(n,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.type),e.mergeProps({ref_for:!0},r.listeners,{key:a,target:n.target,parameters:n.parameters,settings:n.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:n.widgets,name:n.name,line:n.line,"line-number":n.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))),128))],4)}const m=c._export_sfc(l,[["render",u]]);exports.default=m;
|
|
2
|
+
//# sourceMappingURL=VerticalWidget-XZrIw9zV.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalWidget-
|
|
1
|
+
{"version":3,"file":"VerticalWidget-XZrIw9zV.cjs","sources":["../src/widgets/VerticalWidget.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 ref=\"container\" :style=\"computedStyle\">\n <component\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n v-bind=\"listeners\"\n :key=\"index\"\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 </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nexport default {\n mixins: [Layout],\n created: function () {\n if (this.parameters[0]) {\n let margin = this.parameters[0]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\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","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"iLA4CKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,QAAS,UAAY,CACnB,GAAI,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CAEjBA,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,+CAxCEG,EAAAA,mBAgBM,MAAA,CAhBD,IAAI,YAAa,uBAAOC,EAAA,aAAa,KACxCC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAcEG,WAAA,KAAAC,EAAAA,WAZ0BH,EAAA,QAAO,CAAzBH,EAAQO,KAFlBH,EAAAA,UAAA,EAAAI,EAAAA,YAcEC,EAAAA,wBAbKT,EAAO,IAAI,EADlBU,EAAAA,WAcE,aAXQP,EAAA,UAAS,CAChB,IAAKI,EACL,OAAQP,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./LabelWidget-
|
|
2
|
-
//# sourceMappingURL=VerticalboxWidget-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./LabelWidget-C0DhD9Mn.cjs"),l=require("./HorizontallineWidget-QUFjdOSu.cjs"),a=require("./VerticalWidget-XZrIw9zV.cjs"),g=require("./Layout-CSbYbZWA.cjs"),t=require("vue"),c=require("./CustomIcon-Bop2mEnu.cjs"),d={components:{LabelWidget:r.default,HorizontalLineWidget:l.default,VerticalWidget:a.default},mixins:[g.Layout],created(){this.labelSettings=[...this.appliedSettings],this.labelSettings.find(n=>n[0]==="0"&&n[1].startsWith("RAW")&&n[2]==="font-weight")||this.labelSettings.push(["0","RAW__font-weight","font-weight","bold"])}};function u(e,n,m,f,h,w){const i=t.resolveComponent("label-widget"),s=t.resolveComponent("horizontal-line-widget"),o=t.resolveComponent("vertical-widget");return t.openBlock(),t.createElementBlock("div",null,[e.parameters.length>0?(t.openBlock(),t.createBlock(i,{key:0,parameters:e.parameters.slice(0,1),settings:[...e.labelSettings],"widget-index":0},null,8,["parameters","settings"])):t.createCommentVNode("",!0),t.createVNode(s,{settings:[...e.appliedSettings],"widget-index":1},null,8,["settings"]),t.createVNode(o,t.mergeProps(e.listeners,{parameters:e.parameters.slice(1),settings:e.settings,widgets:e.widgets,"screen-values":e.screenValues,"screen-time-zone":e.screenTimeZone}),null,16,["parameters","settings","widgets","screen-values","screen-time-zone"])])}const p=c._export_sfc(d,[["render",u]]);exports.default=p;
|
|
2
|
+
//# sourceMappingURL=VerticalboxWidget-BV-onQ8m.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalboxWidget-
|
|
1
|
+
{"version":3,"file":"VerticalboxWidget-BV-onQ8m.cjs","sources":["../src/widgets/VerticalboxWidget.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 <label-widget\n v-if=\"parameters.length > 0\"\n :parameters=\"parameters.slice(0, 1)\"\n :settings=\"[...labelSettings]\"\n :widget-index=\"0\"\n />\n <horizontal-line-widget\n :settings=\"[...appliedSettings]\"\n :widget-index=\"1\"\n />\n <vertical-widget\n v-bind=\"listeners\"\n :parameters=\"parameters.slice(1)\"\n :settings=\"settings\"\n :widgets=\"widgets\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport HorizontalLineWidget from './HorizontallineWidget.vue'\nimport VerticalWidget from './VerticalWidget.vue'\nimport Layout from './Layout'\n\nexport default {\n components: {\n LabelWidget,\n HorizontalLineWidget,\n VerticalWidget,\n },\n mixins: [Layout],\n created() {\n this.labelSettings = [...this.appliedSettings]\n // Set the font-weight to bold if not already set\n const fontWeightSetting = this.labelSettings.find(\n (setting) =>\n setting[0] === '0' &&\n setting[1].startsWith('RAW') &&\n setting[2] === 'font-weight',\n )\n if (!fontWeightSetting) {\n this.labelSettings.push(['0', 'RAW__font-weight', 'font-weight', 'bold'])\n }\n },\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","HorizontalLineWidget","VerticalWidget","Layout","setting","_createElementBlock","_ctx","_createBlock","_component_label_widget","_createVNode","_component_horizontal_line_widget","_component_vertical_widget","_mergeProps"],"mappings":"qTAmDKA,EAAU,CACb,WAAY,aACVC,EAAAA,QACA,qBAAAC,EAAAA,QACA,eAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CACR,KAAK,cAAgB,CAAC,GAAG,KAAK,eAAe,EAEnB,KAAK,cAAc,KAC1CC,GACCA,EAAQ,CAAC,IAAM,KACfA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC3BA,EAAQ,CAAC,IAAM,aACnB,GAEE,KAAK,cAAc,KAAK,CAAC,IAAK,mBAAoB,cAAe,MAAM,CAAC,CAE5E,CACF,iLAhDEC,qBAmBM,MAAA,KAAA,CAjBIC,EAAA,WAAW,OAAM,iBADzBC,EAAAA,YAKEC,EAAA,OAHC,WAAYF,EAAA,WAAW,MAAK,EAAA,CAAA,EAC5B,aAAcA,EAAA,aAAa,EAC3B,eAAc,kEAEjBG,EAAAA,YAGEC,EAAA,CAFC,aAAcJ,EAAA,eAAe,EAC7B,eAAc,wBAEjBG,EAAAA,YAOEE,EAPFC,aACUN,EAAA,UAAS,CAChB,WAAYA,EAAA,WAAW,MAAK,CAAA,EAC5B,SAAUA,EAAA,SACV,QAASA,EAAA,QACT,gBAAeA,EAAA,aACf,mBAAkBA,EAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import l from "./LabelWidget-
|
|
2
|
-
import g from "./HorizontallineWidget-
|
|
3
|
-
import m from "./VerticalWidget-
|
|
4
|
-
import { L as p } from "./Layout-
|
|
1
|
+
import l from "./LabelWidget-Cwosk4x2.js";
|
|
2
|
+
import g from "./HorizontallineWidget-BE1TjPU8.js";
|
|
3
|
+
import m from "./VerticalWidget-1GhgYrC3.js";
|
|
4
|
+
import { L as p } from "./Layout-Bkb6VP3e.js";
|
|
5
5
|
import { resolveComponent as i, createElementBlock as d, openBlock as n, createBlock as c, createCommentVNode as f, createVNode as s, mergeProps as h } from "vue";
|
|
6
6
|
import { _ as u } from "./CustomIcon-h5X7369N.js";
|
|
7
7
|
const w = {
|
|
@@ -43,4 +43,4 @@ const y = /* @__PURE__ */ u(w, [["render", _]]);
|
|
|
43
43
|
export {
|
|
44
44
|
y as default
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=VerticalboxWidget-
|
|
46
|
+
//# sourceMappingURL=VerticalboxWidget-DYHJqEzd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalboxWidget-
|
|
1
|
+
{"version":3,"file":"VerticalboxWidget-DYHJqEzd.js","sources":["../src/widgets/VerticalboxWidget.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 <label-widget\n v-if=\"parameters.length > 0\"\n :parameters=\"parameters.slice(0, 1)\"\n :settings=\"[...labelSettings]\"\n :widget-index=\"0\"\n />\n <horizontal-line-widget\n :settings=\"[...appliedSettings]\"\n :widget-index=\"1\"\n />\n <vertical-widget\n v-bind=\"listeners\"\n :parameters=\"parameters.slice(1)\"\n :settings=\"settings\"\n :widgets=\"widgets\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n />\n </div>\n</template>\n\n<script>\nimport LabelWidget from './LabelWidget.vue'\nimport HorizontalLineWidget from './HorizontallineWidget.vue'\nimport VerticalWidget from './VerticalWidget.vue'\nimport Layout from './Layout'\n\nexport default {\n components: {\n LabelWidget,\n HorizontalLineWidget,\n VerticalWidget,\n },\n mixins: [Layout],\n created() {\n this.labelSettings = [...this.appliedSettings]\n // Set the font-weight to bold if not already set\n const fontWeightSetting = this.labelSettings.find(\n (setting) =>\n setting[0] === '0' &&\n setting[1].startsWith('RAW') &&\n setting[2] === 'font-weight',\n )\n if (!fontWeightSetting) {\n this.labelSettings.push(['0', 'RAW__font-weight', 'font-weight', 'bold'])\n }\n },\n}\n</script>\n"],"names":["_sfc_main","LabelWidget","HorizontalLineWidget","VerticalWidget","Layout","setting","_createElementBlock","_ctx","_createBlock","_component_label_widget","_createVNode","_component_horizontal_line_widget","_component_vertical_widget","_mergeProps"],"mappings":";;;;;;AAmDA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,aAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,gBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AACR,SAAK,gBAAgB,CAAC,GAAG,KAAK,eAAe,GAEnB,KAAK,cAAc;AAAA,MAC3C,CAACC,MACCA,EAAQ,CAAC,MAAM,OACfA,EAAQ,CAAC,EAAE,WAAW,KAAK,KAC3BA,EAAQ,CAAC,MAAM;AAAA,IACnB,KAEE,KAAK,cAAc,KAAK,CAAC,KAAK,oBAAoB,eAAe,MAAM,CAAC;AAAA,EAE5E;AACF;;;cAhDEC,EAmBM,OAAA,MAAA;AAAA,IAjBIC,EAAA,WAAW,SAAM,UADzBC,EAKEC,GAAA;AAAA;MAHC,YAAYF,EAAA,WAAW,MAAK,GAAA,CAAA;AAAA,MAC5B,cAAcA,EAAA,aAAa;AAAA,MAC3B,gBAAc;AAAA;IAEjBG,EAGEC,GAAA;AAAA,MAFC,cAAcJ,EAAA,eAAe;AAAA,MAC7B,gBAAc;AAAA;IAEjBG,EAOEE,GAPFC,EACUN,EAAA,WAAS;AAAA,MAChB,YAAYA,EAAA,WAAW,MAAK,CAAA;AAAA,MAC5B,UAAUA,EAAA;AAAA,MACV,SAASA,EAAA;AAAA,MACT,iBAAeA,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as p, b as l } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-
|
|
1
|
+
import { W as p, b as l } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js";
|
|
2
2
|
const o = {
|
|
3
3
|
mixins: [p],
|
|
4
4
|
props: {
|
|
@@ -194,4 +194,4 @@ const o = {
|
|
|
194
194
|
export {
|
|
195
195
|
o as W
|
|
196
196
|
};
|
|
197
|
-
//# sourceMappingURL=Widget-
|
|
197
|
+
//# sourceMappingURL=Widget-B8t93Oid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget-C3-TBgP7.js","sources":["../src/widgets/Widget.js"],"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\nimport { ConfigParserError } from '@openc3/js-common/services'\nimport WidgetComponents from './WidgetComponents'\n\nexport default {\n mixins: [WidgetComponents],\n props: {\n widgetIndex: {\n type: Number,\n default: null,\n },\n parameters: {\n type: Array,\n default: () => [],\n },\n settings: {\n type: Array,\n default: () => [],\n },\n screenValues: {\n type: Object,\n default: () => {},\n },\n screenTimeZone: {\n type: String,\n default: 'local',\n },\n namedWidgets: {\n type: Object,\n default: {},\n },\n line: {\n type: String,\n default: '',\n },\n lineNumber: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n // The settings that apply to the current widget based on widgetIndex\n // Calculated in created, updated in setWidth & setHeight and used in computedStyle\n appliedSettings: [],\n // We make style a data attribute so as we recurse through nested\n // widgets we can check to see if style attributes have been applied\n // at any level of the widget, i.e. if LABELVALUE applies a style\n // to the VALUE component then we don't want the VALUE widget to think\n // it doesn't have a style when it renders.\n appliedStyle: {},\n widgetName: null,\n screenId: 'NO_SCREEN', // only used for named widgets - hopefully overwritten by settings value in created()\n }\n },\n computed: {\n computedStyle: function () {\n // Take all the COSMOS settings and create appliedStyle with actual css values\n this.appliedSettings.forEach((setting) => {\n this.applyStyleSetting(setting)\n })\n\n // If nothing has yet defined a width or height then we add flex to the style\n if (\n this.appliedStyle['width'] === undefined &&\n this.appliedStyle['height'] === undefined\n ) {\n // This flex allows for alignment in our widgets\n // The value of '1 1 auto' means allow items to grow and shrink proportionally\n // and by default try to take an equal portion of the parent\n this.appliedStyle['flex'] = '1 1 auto' // flex-grow, flex-shrink, flex-basis\n }\n return this.appliedStyle\n },\n screen: function () {\n // This exists for backwards compatibility of screen definitions since widgets no longer have a reference\n // to the Openc3Screen component instance\n const that = this\n return {\n getNamedWidget: function (widgetName) {\n return that.$store.getters.namedWidget(\n that.toQualifiedWidgetName(widgetName),\n )\n },\n open: function (target, screen) {\n that.$emit('open', target, screen)\n },\n close: function (target, screen) {\n that.$emit('close', target, screen)\n },\n closeAll: function () {\n that.$emit('closeAll')\n },\n }\n },\n listeners: function () {\n // Vue 3 deprecated $listeners, which was used to bubble up events to the Openc3Screen component. The new way is\n // to use v-bind=\"$attrs\", but that also passes the `style` DOM attribute to children, which makes widgets\n // inherit styles from the layout like height and flex.\n // This is a workaround to let us v-bind to just the event listeners (which were previously in the $listeners\n // object in Vue 2).\n return Object.entries(this.$attrs).reduce((listeners, entry) => {\n if (entry[0].startsWith('on')) {\n return {\n ...listeners,\n [entry[0]]: entry[1],\n }\n }\n return listeners\n }, {})\n },\n },\n watch: {\n widgetName: function (newName, oldName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(oldName),\n )\n this.$store.commit('setNamedWidget', {\n [this.toQualifiedWidgetName(newName)]: this,\n })\n },\n },\n created() {\n // Look through the settings and get a reference to the screen\n this.screenId = this.settings\n .find((setting) => setting[0] === '__SCREEN_ID__')\n ?.at(1)\n\n this.widgetName = this.settings\n .find((setting) => setting[0] === 'NAMED_WIDGET')\n ?.at(1)\n\n // Figure out any subsettings that apply\n this.appliedSettings = this.settings\n .map((setting) => {\n const index = parseInt(setting[0])\n // If the first value isn't a number or if there isn't a widgetIndex\n // then it's not a subsetting so just return the setting\n if (isNaN(index) || this.widgetIndex === null) {\n return setting\n }\n // This is our setting so slice off the index and return\n // this effectively promotes the subsetting to a setting\n // on the current widget\n if (this.widgetIndex === index) {\n return setting.slice(1)\n }\n })\n // Remove any settings that we filtered out with null\n .filter((setting) => setting !== undefined)\n },\n beforeUnmount() {\n if (this.widgetName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(this.widgetName),\n )\n }\n },\n methods: {\n applyStyleSetting(setting) {\n switch (setting[0]) {\n case 'TEXTALIGN':\n this.appliedStyle['text-align'] =\n setting[1].toLowerCase() + ' !important'\n this.appliedStyle['--text-align'] = setting[1].toLowerCase()\n break\n case 'PADDING':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['padding'] = setting[1] + ' !important'\n break\n case 'MARGIN':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['margin'] = setting[1] + ' !important'\n break\n case 'BACKCOLOR':\n this.appliedStyle['background-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'TEXTCOLOR':\n this.appliedStyle['color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'BORDERCOLOR':\n this.appliedStyle['border-width'] = '1px!important'\n this.appliedStyle['border-style'] = 'solid!important'\n this.appliedStyle['border-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'WIDTH':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['width'] = setting[1] + ' !important'\n break\n case 'HEIGHT':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['height'] = setting[1] + ' !important'\n break\n default:\n // Handle blank RAW settings as well as our composed RAW__XXX settings\n // See the SETTINGS section in parseDefinition of Openc3Screen.vue\n if (setting[0].startsWith('RAW')) {\n this.appliedStyle[setting[1].toLowerCase()] =\n setting[2] + ' !important'\n }\n break\n }\n },\n verifyNumParams(keyword, min_num_params, max_num_params, usage = '') {\n let parser = {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: keyword,\n parameters: this.parameters,\n }\n\n // This syntax works with 0 because each doesn't return any values\n // for a backwards range\n for (let index = 1; index <= min_num_params; index++) {\n // If the parameter is nil (0 based) then we have a problem\n if (this.parameters[index - 1] === undefined) {\n throw new ConfigParserError(\n parser,\n `Not enough parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n }\n // If they pass null for max_params we don't check for a maximum number\n if (max_num_params !== null && this.parameters.length > max_num_params) {\n throw new ConfigParserError(\n parser,\n `Too many parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n },\n setWidth(width, units = 'px', defaultWidth = '120') {\n // Don't set the width if someone has already set it\n // This is important in PacketViewer which uses the value-widget\n // and passes an explicit width setting to use\n let foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'WIDTH',\n )\n if (foundSetting) {\n return foundSetting['WIDTH']\n } else {\n if (width) {\n this.appliedSettings.push(['WIDTH', `${width}${units}`])\n return parseInt(width)\n } else {\n this.appliedSettings.push(['WIDTH', `${defaultWidth}${units}`])\n return parseInt(defaultWidth)\n }\n }\n },\n setHeight(height, units = 'px', defaultHeight = '20') {\n // Don't set the height if someone has already set it\n let foundSetting = null\n foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'HEIGHT',\n )\n if (foundSetting) {\n return foundSetting['HEIGHT']\n } else {\n if (height) {\n this.appliedSettings.push(['HEIGHT', `${height}${units}`])\n return parseInt(height)\n } else {\n this.appliedSettings.push(['HEIGHT', `${defaultHeight}${units}`])\n return parseInt(defaultHeight)\n }\n }\n },\n // Expects an array, can either be a single color or 3 rgb values\n getColor(setting) {\n switch (setting.length) {\n case 1:\n return setting[0].toLowerCase()\n case 3:\n return `rgb(${setting[0]},${setting[1]},${setting[2]})`\n }\n },\n toQualifiedWidgetName(widgetName) {\n return `${this.screenId}:${widgetName}`\n },\n },\n}\n"],"names":["Widget","WidgetComponents","setting","that","widgetName","target","screen","listeners","entry","newName","oldName","_a","_b","index","keyword","min_num_params","max_num_params","usage","parser","ConfigParserError","width","units","defaultWidth","foundSetting","height","defaultHeight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Widget-B8t93Oid.js","sources":["../src/widgets/Widget.js"],"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\nimport { ConfigParserError } from '@openc3/js-common/services'\nimport WidgetComponents from './WidgetComponents'\n\nexport default {\n mixins: [WidgetComponents],\n props: {\n widgetIndex: {\n type: Number,\n default: null,\n },\n parameters: {\n type: Array,\n default: () => [],\n },\n settings: {\n type: Array,\n default: () => [],\n },\n screenValues: {\n type: Object,\n default: () => {},\n },\n screenTimeZone: {\n type: String,\n default: 'local',\n },\n namedWidgets: {\n type: Object,\n default: {},\n },\n line: {\n type: String,\n default: '',\n },\n lineNumber: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n // The settings that apply to the current widget based on widgetIndex\n // Calculated in created, updated in setWidth & setHeight and used in computedStyle\n appliedSettings: [],\n // We make style a data attribute so as we recurse through nested\n // widgets we can check to see if style attributes have been applied\n // at any level of the widget, i.e. if LABELVALUE applies a style\n // to the VALUE component then we don't want the VALUE widget to think\n // it doesn't have a style when it renders.\n appliedStyle: {},\n widgetName: null,\n screenId: 'NO_SCREEN', // only used for named widgets - hopefully overwritten by settings value in created()\n }\n },\n computed: {\n computedStyle: function () {\n // Take all the COSMOS settings and create appliedStyle with actual css values\n this.appliedSettings.forEach((setting) => {\n this.applyStyleSetting(setting)\n })\n\n // If nothing has yet defined a width or height then we add flex to the style\n if (\n this.appliedStyle['width'] === undefined &&\n this.appliedStyle['height'] === undefined\n ) {\n // This flex allows for alignment in our widgets\n // The value of '1 1 auto' means allow items to grow and shrink proportionally\n // and by default try to take an equal portion of the parent\n this.appliedStyle['flex'] = '1 1 auto' // flex-grow, flex-shrink, flex-basis\n }\n return this.appliedStyle\n },\n screen: function () {\n // This exists for backwards compatibility of screen definitions since widgets no longer have a reference\n // to the Openc3Screen component instance\n const that = this\n return {\n getNamedWidget: function (widgetName) {\n return that.$store.getters.namedWidget(\n that.toQualifiedWidgetName(widgetName),\n )\n },\n open: function (target, screen) {\n that.$emit('open', target, screen)\n },\n close: function (target, screen) {\n that.$emit('close', target, screen)\n },\n closeAll: function () {\n that.$emit('closeAll')\n },\n }\n },\n listeners: function () {\n // Vue 3 deprecated $listeners, which was used to bubble up events to the Openc3Screen component. The new way is\n // to use v-bind=\"$attrs\", but that also passes the `style` DOM attribute to children, which makes widgets\n // inherit styles from the layout like height and flex.\n // This is a workaround to let us v-bind to just the event listeners (which were previously in the $listeners\n // object in Vue 2).\n return Object.entries(this.$attrs).reduce((listeners, entry) => {\n if (entry[0].startsWith('on')) {\n return {\n ...listeners,\n [entry[0]]: entry[1],\n }\n }\n return listeners\n }, {})\n },\n },\n watch: {\n widgetName: function (newName, oldName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(oldName),\n )\n this.$store.commit('setNamedWidget', {\n [this.toQualifiedWidgetName(newName)]: this,\n })\n },\n },\n created() {\n // Look through the settings and get a reference to the screen\n this.screenId = this.settings\n .find((setting) => setting[0] === '__SCREEN_ID__')\n ?.at(1)\n\n this.widgetName = this.settings\n .find((setting) => setting[0] === 'NAMED_WIDGET')\n ?.at(1)\n\n // Figure out any subsettings that apply\n this.appliedSettings = this.settings\n .map((setting) => {\n const index = parseInt(setting[0])\n // If the first value isn't a number or if there isn't a widgetIndex\n // then it's not a subsetting so just return the setting\n if (isNaN(index) || this.widgetIndex === null) {\n return setting\n }\n // This is our setting so slice off the index and return\n // this effectively promotes the subsetting to a setting\n // on the current widget\n if (this.widgetIndex === index) {\n return setting.slice(1)\n }\n })\n // Remove any settings that we filtered out with null\n .filter((setting) => setting !== undefined)\n },\n beforeUnmount() {\n if (this.widgetName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(this.widgetName),\n )\n }\n },\n methods: {\n applyStyleSetting(setting) {\n switch (setting[0]) {\n case 'TEXTALIGN':\n this.appliedStyle['text-align'] =\n setting[1].toLowerCase() + ' !important'\n this.appliedStyle['--text-align'] = setting[1].toLowerCase()\n break\n case 'PADDING':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['padding'] = setting[1] + ' !important'\n break\n case 'MARGIN':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['margin'] = setting[1] + ' !important'\n break\n case 'BACKCOLOR':\n this.appliedStyle['background-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'TEXTCOLOR':\n this.appliedStyle['color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'BORDERCOLOR':\n this.appliedStyle['border-width'] = '1px!important'\n this.appliedStyle['border-style'] = 'solid!important'\n this.appliedStyle['border-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'WIDTH':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['width'] = setting[1] + ' !important'\n break\n case 'HEIGHT':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['height'] = setting[1] + ' !important'\n break\n default:\n // Handle blank RAW settings as well as our composed RAW__XXX settings\n // See the SETTINGS section in parseDefinition of Openc3Screen.vue\n if (setting[0].startsWith('RAW')) {\n this.appliedStyle[setting[1].toLowerCase()] =\n setting[2] + ' !important'\n }\n break\n }\n },\n verifyNumParams(keyword, min_num_params, max_num_params, usage = '') {\n let parser = {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: keyword,\n parameters: this.parameters,\n }\n\n // This syntax works with 0 because each doesn't return any values\n // for a backwards range\n for (let index = 1; index <= min_num_params; index++) {\n // If the parameter is nil (0 based) then we have a problem\n if (this.parameters[index - 1] === undefined) {\n throw new ConfigParserError(\n parser,\n `Not enough parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n }\n // If they pass null for max_params we don't check for a maximum number\n if (max_num_params !== null && this.parameters.length > max_num_params) {\n throw new ConfigParserError(\n parser,\n `Too many parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n },\n setWidth(width, units = 'px', defaultWidth = '120') {\n // Don't set the width if someone has already set it\n // This is important in PacketViewer which uses the value-widget\n // and passes an explicit width setting to use\n let foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'WIDTH',\n )\n if (foundSetting) {\n return foundSetting['WIDTH']\n } else {\n if (width) {\n this.appliedSettings.push(['WIDTH', `${width}${units}`])\n return parseInt(width)\n } else {\n this.appliedSettings.push(['WIDTH', `${defaultWidth}${units}`])\n return parseInt(defaultWidth)\n }\n }\n },\n setHeight(height, units = 'px', defaultHeight = '20') {\n // Don't set the height if someone has already set it\n let foundSetting = null\n foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'HEIGHT',\n )\n if (foundSetting) {\n return foundSetting['HEIGHT']\n } else {\n if (height) {\n this.appliedSettings.push(['HEIGHT', `${height}${units}`])\n return parseInt(height)\n } else {\n this.appliedSettings.push(['HEIGHT', `${defaultHeight}${units}`])\n return parseInt(defaultHeight)\n }\n }\n },\n // Expects an array, can either be a single color or 3 rgb values\n getColor(setting) {\n switch (setting.length) {\n case 1:\n return setting[0].toLowerCase()\n case 3:\n return `rgb(${setting[0]},${setting[1]},${setting[2]})`\n }\n },\n toQualifiedWidgetName(widgetName) {\n return `${this.screenId}:${widgetName}`\n },\n },\n}\n"],"names":["Widget","WidgetComponents","setting","that","widgetName","target","screen","listeners","entry","newName","oldName","_a","_b","index","keyword","min_num_params","max_num_params","usage","parser","ConfigParserError","width","units","defaultWidth","foundSetting","height","defaultHeight"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const l=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-
|
|
2
|
-
//# sourceMappingURL=Widget-
|
|
1
|
+
"use strict";const l=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs"),p={mixins:[l.WidgetComponents],props:{widgetIndex:{type:Number,default:null},parameters:{type:Array,default:()=>[]},settings:{type:Array,default:()=>[]},screenValues:{type:Object,default:()=>{}},screenTimeZone:{type:String,default:"local"},namedWidgets:{type:Object,default:{}},line:{type:String,default:""},lineNumber:{type:Number,default:0}},data(){return{appliedSettings:[],appliedStyle:{},widgetName:null,screenId:"NO_SCREEN"}},computed:{computedStyle:function(){return this.appliedSettings.forEach(e=>{this.applyStyleSetting(e)}),this.appliedStyle.width===void 0&&this.appliedStyle.height===void 0&&(this.appliedStyle.flex="1 1 auto"),this.appliedStyle},screen:function(){const e=this;return{getNamedWidget:function(t){return e.$store.getters.namedWidget(e.toQualifiedWidgetName(t))},open:function(t,i){e.$emit("open",t,i)},close:function(t,i){e.$emit("close",t,i)},closeAll:function(){e.$emit("closeAll")}}},listeners:function(){return Object.entries(this.$attrs).reduce((e,t)=>t[0].startsWith("on")?{...e,[t[0]]:t[1]}:e,{})}},watch:{widgetName:function(e,t){this.$store.commit("clearNamedWidget",this.toQualifiedWidgetName(t)),this.$store.commit("setNamedWidget",{[this.toQualifiedWidgetName(e)]:this})}},created(){var e,t;this.screenId=(e=this.settings.find(i=>i[0]==="__SCREEN_ID__"))==null?void 0:e.at(1),this.widgetName=(t=this.settings.find(i=>i[0]==="NAMED_WIDGET"))==null?void 0:t.at(1),this.appliedSettings=this.settings.map(i=>{const r=parseInt(i[0]);if(isNaN(r)||this.widgetIndex===null)return i;if(this.widgetIndex===r)return i.slice(1)}).filter(i=>i!==void 0)},beforeUnmount(){this.widgetName&&this.$store.commit("clearNamedWidget",this.toQualifiedWidgetName(this.widgetName))},methods:{applyStyleSetting(e){switch(e[0]){case"TEXTALIGN":this.appliedStyle["text-align"]=e[1].toLowerCase()+" !important",this.appliedStyle["--text-align"]=e[1].toLowerCase();break;case"PADDING":isNaN(Number(e[1]))||(e[1]+="px"),this.appliedStyle.padding=e[1]+" !important";break;case"MARGIN":isNaN(Number(e[1]))||(e[1]+="px"),this.appliedStyle.margin=e[1]+" !important";break;case"BACKCOLOR":this.appliedStyle["background-color"]=this.getColor(e.slice(1))+" !important";break;case"TEXTCOLOR":this.appliedStyle.color=this.getColor(e.slice(1))+" !important";break;case"BORDERCOLOR":this.appliedStyle["border-width"]="1px!important",this.appliedStyle["border-style"]="solid!important",this.appliedStyle["border-color"]=this.getColor(e.slice(1))+" !important";break;case"WIDTH":isNaN(Number(e[1]))||(e[1]+="px"),this.appliedStyle.width=e[1]+" !important";break;case"HEIGHT":isNaN(Number(e[1]))||(e[1]+="px"),this.appliedStyle.height=e[1]+" !important";break;default:e[0].startsWith("RAW")&&(this.appliedStyle[e[1].toLowerCase()]=e[2]+" !important");break}},verifyNumParams(e,t,i,r=""){let a={line:this.line,lineNumber:this.lineNumber,keyword:e,parameters:this.parameters};for(let s=1;s<=t;s++)if(this.parameters[s-1]===void 0)throw new l.ut(a,`Not enough parameters for ${e}.`,r,"https://docs.openc3.com/docs/configuration");if(i!==null&&this.parameters.length>i)throw new l.ut(a,`Too many parameters for ${e}.`,r,"https://docs.openc3.com/docs/configuration")},setWidth(e,t="px",i="120"){let r=this.appliedSettings.find(a=>a[0]==="WIDTH");return r?r.WIDTH:e?(this.appliedSettings.push(["WIDTH",`${e}${t}`]),parseInt(e)):(this.appliedSettings.push(["WIDTH",`${i}${t}`]),parseInt(i))},setHeight(e,t="px",i="20"){let r=null;return r=this.appliedSettings.find(a=>a[0]==="HEIGHT"),r?r.HEIGHT:e?(this.appliedSettings.push(["HEIGHT",`${e}${t}`]),parseInt(e)):(this.appliedSettings.push(["HEIGHT",`${i}${t}`]),parseInt(i))},getColor(e){switch(e.length){case 1:return e[0].toLowerCase();case 3:return`rgb(${e[0]},${e[1]},${e[2]})`}},toQualifiedWidgetName(e){return`${this.screenId}:${e}`}}};exports.Widget=p;
|
|
2
|
+
//# sourceMappingURL=Widget-Blq-k5SB.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget-CSBtgNwA.cjs","sources":["../src/widgets/Widget.js"],"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\nimport { ConfigParserError } from '@openc3/js-common/services'\nimport WidgetComponents from './WidgetComponents'\n\nexport default {\n mixins: [WidgetComponents],\n props: {\n widgetIndex: {\n type: Number,\n default: null,\n },\n parameters: {\n type: Array,\n default: () => [],\n },\n settings: {\n type: Array,\n default: () => [],\n },\n screenValues: {\n type: Object,\n default: () => {},\n },\n screenTimeZone: {\n type: String,\n default: 'local',\n },\n namedWidgets: {\n type: Object,\n default: {},\n },\n line: {\n type: String,\n default: '',\n },\n lineNumber: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n // The settings that apply to the current widget based on widgetIndex\n // Calculated in created, updated in setWidth & setHeight and used in computedStyle\n appliedSettings: [],\n // We make style a data attribute so as we recurse through nested\n // widgets we can check to see if style attributes have been applied\n // at any level of the widget, i.e. if LABELVALUE applies a style\n // to the VALUE component then we don't want the VALUE widget to think\n // it doesn't have a style when it renders.\n appliedStyle: {},\n widgetName: null,\n screenId: 'NO_SCREEN', // only used for named widgets - hopefully overwritten by settings value in created()\n }\n },\n computed: {\n computedStyle: function () {\n // Take all the COSMOS settings and create appliedStyle with actual css values\n this.appliedSettings.forEach((setting) => {\n this.applyStyleSetting(setting)\n })\n\n // If nothing has yet defined a width or height then we add flex to the style\n if (\n this.appliedStyle['width'] === undefined &&\n this.appliedStyle['height'] === undefined\n ) {\n // This flex allows for alignment in our widgets\n // The value of '1 1 auto' means allow items to grow and shrink proportionally\n // and by default try to take an equal portion of the parent\n this.appliedStyle['flex'] = '1 1 auto' // flex-grow, flex-shrink, flex-basis\n }\n return this.appliedStyle\n },\n screen: function () {\n // This exists for backwards compatibility of screen definitions since widgets no longer have a reference\n // to the Openc3Screen component instance\n const that = this\n return {\n getNamedWidget: function (widgetName) {\n return that.$store.getters.namedWidget(\n that.toQualifiedWidgetName(widgetName),\n )\n },\n open: function (target, screen) {\n that.$emit('open', target, screen)\n },\n close: function (target, screen) {\n that.$emit('close', target, screen)\n },\n closeAll: function () {\n that.$emit('closeAll')\n },\n }\n },\n listeners: function () {\n // Vue 3 deprecated $listeners, which was used to bubble up events to the Openc3Screen component. The new way is\n // to use v-bind=\"$attrs\", but that also passes the `style` DOM attribute to children, which makes widgets\n // inherit styles from the layout like height and flex.\n // This is a workaround to let us v-bind to just the event listeners (which were previously in the $listeners\n // object in Vue 2).\n return Object.entries(this.$attrs).reduce((listeners, entry) => {\n if (entry[0].startsWith('on')) {\n return {\n ...listeners,\n [entry[0]]: entry[1],\n }\n }\n return listeners\n }, {})\n },\n },\n watch: {\n widgetName: function (newName, oldName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(oldName),\n )\n this.$store.commit('setNamedWidget', {\n [this.toQualifiedWidgetName(newName)]: this,\n })\n },\n },\n created() {\n // Look through the settings and get a reference to the screen\n this.screenId = this.settings\n .find((setting) => setting[0] === '__SCREEN_ID__')\n ?.at(1)\n\n this.widgetName = this.settings\n .find((setting) => setting[0] === 'NAMED_WIDGET')\n ?.at(1)\n\n // Figure out any subsettings that apply\n this.appliedSettings = this.settings\n .map((setting) => {\n const index = parseInt(setting[0])\n // If the first value isn't a number or if there isn't a widgetIndex\n // then it's not a subsetting so just return the setting\n if (isNaN(index) || this.widgetIndex === null) {\n return setting\n }\n // This is our setting so slice off the index and return\n // this effectively promotes the subsetting to a setting\n // on the current widget\n if (this.widgetIndex === index) {\n return setting.slice(1)\n }\n })\n // Remove any settings that we filtered out with null\n .filter((setting) => setting !== undefined)\n },\n beforeUnmount() {\n if (this.widgetName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(this.widgetName),\n )\n }\n },\n methods: {\n applyStyleSetting(setting) {\n switch (setting[0]) {\n case 'TEXTALIGN':\n this.appliedStyle['text-align'] =\n setting[1].toLowerCase() + ' !important'\n this.appliedStyle['--text-align'] = setting[1].toLowerCase()\n break\n case 'PADDING':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['padding'] = setting[1] + ' !important'\n break\n case 'MARGIN':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['margin'] = setting[1] + ' !important'\n break\n case 'BACKCOLOR':\n this.appliedStyle['background-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'TEXTCOLOR':\n this.appliedStyle['color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'BORDERCOLOR':\n this.appliedStyle['border-width'] = '1px!important'\n this.appliedStyle['border-style'] = 'solid!important'\n this.appliedStyle['border-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'WIDTH':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['width'] = setting[1] + ' !important'\n break\n case 'HEIGHT':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['height'] = setting[1] + ' !important'\n break\n default:\n // Handle blank RAW settings as well as our composed RAW__XXX settings\n // See the SETTINGS section in parseDefinition of Openc3Screen.vue\n if (setting[0].startsWith('RAW')) {\n this.appliedStyle[setting[1].toLowerCase()] =\n setting[2] + ' !important'\n }\n break\n }\n },\n verifyNumParams(keyword, min_num_params, max_num_params, usage = '') {\n let parser = {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: keyword,\n parameters: this.parameters,\n }\n\n // This syntax works with 0 because each doesn't return any values\n // for a backwards range\n for (let index = 1; index <= min_num_params; index++) {\n // If the parameter is nil (0 based) then we have a problem\n if (this.parameters[index - 1] === undefined) {\n throw new ConfigParserError(\n parser,\n `Not enough parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n }\n // If they pass null for max_params we don't check for a maximum number\n if (max_num_params !== null && this.parameters.length > max_num_params) {\n throw new ConfigParserError(\n parser,\n `Too many parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n },\n setWidth(width, units = 'px', defaultWidth = '120') {\n // Don't set the width if someone has already set it\n // This is important in PacketViewer which uses the value-widget\n // and passes an explicit width setting to use\n let foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'WIDTH',\n )\n if (foundSetting) {\n return foundSetting['WIDTH']\n } else {\n if (width) {\n this.appliedSettings.push(['WIDTH', `${width}${units}`])\n return parseInt(width)\n } else {\n this.appliedSettings.push(['WIDTH', `${defaultWidth}${units}`])\n return parseInt(defaultWidth)\n }\n }\n },\n setHeight(height, units = 'px', defaultHeight = '20') {\n // Don't set the height if someone has already set it\n let foundSetting = null\n foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'HEIGHT',\n )\n if (foundSetting) {\n return foundSetting['HEIGHT']\n } else {\n if (height) {\n this.appliedSettings.push(['HEIGHT', `${height}${units}`])\n return parseInt(height)\n } else {\n this.appliedSettings.push(['HEIGHT', `${defaultHeight}${units}`])\n return parseInt(defaultHeight)\n }\n }\n },\n // Expects an array, can either be a single color or 3 rgb values\n getColor(setting) {\n switch (setting.length) {\n case 1:\n return setting[0].toLowerCase()\n case 3:\n return `rgb(${setting[0]},${setting[1]},${setting[2]})`\n }\n },\n toQualifiedWidgetName(widgetName) {\n return `${this.screenId}:${widgetName}`\n },\n },\n}\n"],"names":["Widget","WidgetComponents","setting","that","widgetName","target","screen","listeners","entry","newName","oldName","_a","_b","index","keyword","min_num_params","max_num_params","usage","parser","ConfigParserError","width","units","defaultWidth","foundSetting","height","defaultHeight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Widget-Blq-k5SB.cjs","sources":["../src/widgets/Widget.js"],"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\nimport { ConfigParserError } from '@openc3/js-common/services'\nimport WidgetComponents from './WidgetComponents'\n\nexport default {\n mixins: [WidgetComponents],\n props: {\n widgetIndex: {\n type: Number,\n default: null,\n },\n parameters: {\n type: Array,\n default: () => [],\n },\n settings: {\n type: Array,\n default: () => [],\n },\n screenValues: {\n type: Object,\n default: () => {},\n },\n screenTimeZone: {\n type: String,\n default: 'local',\n },\n namedWidgets: {\n type: Object,\n default: {},\n },\n line: {\n type: String,\n default: '',\n },\n lineNumber: {\n type: Number,\n default: 0,\n },\n },\n data() {\n return {\n // The settings that apply to the current widget based on widgetIndex\n // Calculated in created, updated in setWidth & setHeight and used in computedStyle\n appliedSettings: [],\n // We make style a data attribute so as we recurse through nested\n // widgets we can check to see if style attributes have been applied\n // at any level of the widget, i.e. if LABELVALUE applies a style\n // to the VALUE component then we don't want the VALUE widget to think\n // it doesn't have a style when it renders.\n appliedStyle: {},\n widgetName: null,\n screenId: 'NO_SCREEN', // only used for named widgets - hopefully overwritten by settings value in created()\n }\n },\n computed: {\n computedStyle: function () {\n // Take all the COSMOS settings and create appliedStyle with actual css values\n this.appliedSettings.forEach((setting) => {\n this.applyStyleSetting(setting)\n })\n\n // If nothing has yet defined a width or height then we add flex to the style\n if (\n this.appliedStyle['width'] === undefined &&\n this.appliedStyle['height'] === undefined\n ) {\n // This flex allows for alignment in our widgets\n // The value of '1 1 auto' means allow items to grow and shrink proportionally\n // and by default try to take an equal portion of the parent\n this.appliedStyle['flex'] = '1 1 auto' // flex-grow, flex-shrink, flex-basis\n }\n return this.appliedStyle\n },\n screen: function () {\n // This exists for backwards compatibility of screen definitions since widgets no longer have a reference\n // to the Openc3Screen component instance\n const that = this\n return {\n getNamedWidget: function (widgetName) {\n return that.$store.getters.namedWidget(\n that.toQualifiedWidgetName(widgetName),\n )\n },\n open: function (target, screen) {\n that.$emit('open', target, screen)\n },\n close: function (target, screen) {\n that.$emit('close', target, screen)\n },\n closeAll: function () {\n that.$emit('closeAll')\n },\n }\n },\n listeners: function () {\n // Vue 3 deprecated $listeners, which was used to bubble up events to the Openc3Screen component. The new way is\n // to use v-bind=\"$attrs\", but that also passes the `style` DOM attribute to children, which makes widgets\n // inherit styles from the layout like height and flex.\n // This is a workaround to let us v-bind to just the event listeners (which were previously in the $listeners\n // object in Vue 2).\n return Object.entries(this.$attrs).reduce((listeners, entry) => {\n if (entry[0].startsWith('on')) {\n return {\n ...listeners,\n [entry[0]]: entry[1],\n }\n }\n return listeners\n }, {})\n },\n },\n watch: {\n widgetName: function (newName, oldName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(oldName),\n )\n this.$store.commit('setNamedWidget', {\n [this.toQualifiedWidgetName(newName)]: this,\n })\n },\n },\n created() {\n // Look through the settings and get a reference to the screen\n this.screenId = this.settings\n .find((setting) => setting[0] === '__SCREEN_ID__')\n ?.at(1)\n\n this.widgetName = this.settings\n .find((setting) => setting[0] === 'NAMED_WIDGET')\n ?.at(1)\n\n // Figure out any subsettings that apply\n this.appliedSettings = this.settings\n .map((setting) => {\n const index = parseInt(setting[0])\n // If the first value isn't a number or if there isn't a widgetIndex\n // then it's not a subsetting so just return the setting\n if (isNaN(index) || this.widgetIndex === null) {\n return setting\n }\n // This is our setting so slice off the index and return\n // this effectively promotes the subsetting to a setting\n // on the current widget\n if (this.widgetIndex === index) {\n return setting.slice(1)\n }\n })\n // Remove any settings that we filtered out with null\n .filter((setting) => setting !== undefined)\n },\n beforeUnmount() {\n if (this.widgetName) {\n this.$store.commit(\n 'clearNamedWidget',\n this.toQualifiedWidgetName(this.widgetName),\n )\n }\n },\n methods: {\n applyStyleSetting(setting) {\n switch (setting[0]) {\n case 'TEXTALIGN':\n this.appliedStyle['text-align'] =\n setting[1].toLowerCase() + ' !important'\n this.appliedStyle['--text-align'] = setting[1].toLowerCase()\n break\n case 'PADDING':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['padding'] = setting[1] + ' !important'\n break\n case 'MARGIN':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['margin'] = setting[1] + ' !important'\n break\n case 'BACKCOLOR':\n this.appliedStyle['background-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'TEXTCOLOR':\n this.appliedStyle['color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'BORDERCOLOR':\n this.appliedStyle['border-width'] = '1px!important'\n this.appliedStyle['border-style'] = 'solid!important'\n this.appliedStyle['border-color'] =\n this.getColor(setting.slice(1)) + ' !important'\n break\n case 'WIDTH':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['width'] = setting[1] + ' !important'\n break\n case 'HEIGHT':\n if (!isNaN(Number(setting[1]))) {\n setting[1] += 'px'\n }\n this.appliedStyle['height'] = setting[1] + ' !important'\n break\n default:\n // Handle blank RAW settings as well as our composed RAW__XXX settings\n // See the SETTINGS section in parseDefinition of Openc3Screen.vue\n if (setting[0].startsWith('RAW')) {\n this.appliedStyle[setting[1].toLowerCase()] =\n setting[2] + ' !important'\n }\n break\n }\n },\n verifyNumParams(keyword, min_num_params, max_num_params, usage = '') {\n let parser = {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: keyword,\n parameters: this.parameters,\n }\n\n // This syntax works with 0 because each doesn't return any values\n // for a backwards range\n for (let index = 1; index <= min_num_params; index++) {\n // If the parameter is nil (0 based) then we have a problem\n if (this.parameters[index - 1] === undefined) {\n throw new ConfigParserError(\n parser,\n `Not enough parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n }\n // If they pass null for max_params we don't check for a maximum number\n if (max_num_params !== null && this.parameters.length > max_num_params) {\n throw new ConfigParserError(\n parser,\n `Too many parameters for ${keyword}.`,\n usage,\n 'https://docs.openc3.com/docs/configuration',\n )\n }\n },\n setWidth(width, units = 'px', defaultWidth = '120') {\n // Don't set the width if someone has already set it\n // This is important in PacketViewer which uses the value-widget\n // and passes an explicit width setting to use\n let foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'WIDTH',\n )\n if (foundSetting) {\n return foundSetting['WIDTH']\n } else {\n if (width) {\n this.appliedSettings.push(['WIDTH', `${width}${units}`])\n return parseInt(width)\n } else {\n this.appliedSettings.push(['WIDTH', `${defaultWidth}${units}`])\n return parseInt(defaultWidth)\n }\n }\n },\n setHeight(height, units = 'px', defaultHeight = '20') {\n // Don't set the height if someone has already set it\n let foundSetting = null\n foundSetting = this.appliedSettings.find(\n (setting) => setting[0] === 'HEIGHT',\n )\n if (foundSetting) {\n return foundSetting['HEIGHT']\n } else {\n if (height) {\n this.appliedSettings.push(['HEIGHT', `${height}${units}`])\n return parseInt(height)\n } else {\n this.appliedSettings.push(['HEIGHT', `${defaultHeight}${units}`])\n return parseInt(defaultHeight)\n }\n }\n },\n // Expects an array, can either be a single color or 3 rgb values\n getColor(setting) {\n switch (setting.length) {\n case 1:\n return setting[0].toLowerCase()\n case 3:\n return `rgb(${setting[0]},${setting[1]},${setting[2]})`\n }\n },\n toQualifiedWidgetName(widgetName) {\n return `${this.screenId}:${widgetName}`\n },\n },\n}\n"],"names":["Widget","WidgetComponents","setting","that","widgetName","target","screen","listeners","entry","newName","oldName","_a","_b","index","keyword","min_num_params","max_num_params","usage","parser","ConfigParserError","width","units","defaultWidth","foundSetting","height","defaultHeight"],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const s = {
|
|
2
|
+
methods: {
|
|
3
|
+
isFloat(t) {
|
|
4
|
+
return !!(/^\s*[-+]?\d*\.\d+\s*$/.test(t) || /^\s*[-+]?(\d+((\.\d+)?)|(\.\d+))[eE][-+]?\d+\s*$/.test(t));
|
|
5
|
+
},
|
|
6
|
+
isInt(t) {
|
|
7
|
+
return !!(/^\s*[-+]?\d+\s*$/.test(t) || /^\s*0[xX][\dabcdefABCDEF]+\s*$/.test(t));
|
|
8
|
+
},
|
|
9
|
+
isArray(t) {
|
|
10
|
+
return /^\s*\[.*\]\s*$/.test(t);
|
|
11
|
+
},
|
|
12
|
+
removeQuotes(t) {
|
|
13
|
+
if (t.length < 2)
|
|
14
|
+
return t;
|
|
15
|
+
let e = t.charAt(0);
|
|
16
|
+
if (e !== '"' && e !== "'")
|
|
17
|
+
return t;
|
|
18
|
+
let i = t.charAt(t.length - 1);
|
|
19
|
+
return e !== i ? t : t.slice(1, -1);
|
|
20
|
+
},
|
|
21
|
+
convertToString(t) {
|
|
22
|
+
let e = "";
|
|
23
|
+
if (Object.prototype.toString.call(t).slice(8, -1) === "Array") {
|
|
24
|
+
let i = t.length;
|
|
25
|
+
e = "[ ";
|
|
26
|
+
for (let r = 0; r < i; r++)
|
|
27
|
+
Object.prototype.toString.call(t[r]).slice(8, -1) === "String" ? e += '"' + t[r] + '"' : e += t[r], r !== i - 1 && (e += ", ");
|
|
28
|
+
e += " ]";
|
|
29
|
+
} else if (Object.prototype.toString.call(t).slice(8, -1) === "Object")
|
|
30
|
+
if (t.json_class === "String" && t.raw) {
|
|
31
|
+
e = "0x";
|
|
32
|
+
for (let i of t.raw) {
|
|
33
|
+
let r = i.toString(16).toUpperCase();
|
|
34
|
+
r.length < 2 && (r = "0" + r), e += r;
|
|
35
|
+
}
|
|
36
|
+
} else t.json_class === "Float" && t.raw && (e = t.raw);
|
|
37
|
+
else
|
|
38
|
+
e = String(t);
|
|
39
|
+
return e;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
export {
|
|
44
|
+
s as C
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=cmdUtilities-BMsSNjt_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmdUtilities-BMsSNjt_.js","sources":["../src/util/cmdUtilities.js"],"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\nexport default {\n methods: {\n isFloat(str) {\n // Regex to identify a string as a floating point number\n if (/^\\s*[-+]?\\d*\\.\\d+\\s*$/.test(str)) {\n return true\n }\n // Regex to identify a string as a floating point number in scientific notation.\n if (/^\\s*[-+]?(\\d+((\\.\\d+)?)|(\\.\\d+))[eE][-+]?\\d+\\s*$/.test(str)) {\n return true\n }\n return false\n },\n\n isInt(str) {\n // Regular expression to identify a String as an integer\n if (/^\\s*[-+]?\\d+\\s*$/.test(str)) {\n return true\n }\n\n // # Regular expression to identify a String as an integer in hexadecimal format\n if (/^\\s*0[xX][\\dabcdefABCDEF]+\\s*$/.test(str)) {\n return true\n }\n return false\n },\n\n isArray(str) {\n // Regular expression to identify a String as an Array\n return /^\\s*\\[.*\\]\\s*$/.test(str)\n },\n\n removeQuotes(str) {\n // Return the string with leading and trailing quotes removed\n if (str.length < 2) {\n return str\n }\n let firstChar = str.charAt(0)\n if (firstChar !== '\"' && firstChar !== \"'\") {\n return str\n }\n let lastChar = str.charAt(str.length - 1)\n if (firstChar !== lastChar) {\n return str\n }\n return str.slice(1, -1)\n },\n\n convertToString(value) {\n let returnValue = ''\n if (Object.prototype.toString.call(value).slice(8, -1) === 'Array') {\n let arrayLength = value.length\n returnValue = '[ '\n for (let i = 0; i < arrayLength; i++) {\n if (\n Object.prototype.toString.call(value[i]).slice(8, -1) === 'String'\n ) {\n returnValue += '\"' + value[i] + '\"'\n } else {\n returnValue += value[i]\n }\n if (i !== arrayLength - 1) {\n returnValue += ', '\n }\n }\n returnValue += ' ]'\n } else if (\n Object.prototype.toString.call(value).slice(8, -1) === 'Object'\n ) {\n if (value.json_class === 'String' && value.raw) {\n // This is binary data, display in hex.\n returnValue = '0x'\n for (let part of value.raw) {\n let nibble = part.toString(16).toUpperCase()\n if (nibble.length < 2) {\n nibble = '0' + nibble\n }\n returnValue += nibble\n }\n } else if (value.json_class === 'Float' && value.raw) {\n returnValue = value.raw\n }\n } else {\n returnValue = String(value)\n }\n return returnValue\n },\n },\n}\n"],"names":["CmdUtilities","str","firstChar","lastChar","value","returnValue","arrayLength","i","part","nibble"],"mappings":"AAsBA,MAAAA,IAAe;AAAA,EACb,SAAS;AAAA,IACP,QAAQC,GAAK;AAMX,aAJI,2BAAwB,KAAKA,CAAG,KAIhC,mDAAmD,KAAKA,CAAG;AAAA,IAIjE;AAAA,IAEA,MAAMA,GAAK;AAOT,aALI,sBAAmB,KAAKA,CAAG,KAK3B,iCAAiC,KAAKA,CAAG;AAAA,IAI/C;AAAA,IAEA,QAAQA,GAAK;AAEX,aAAO,iBAAiB,KAAKA,CAAG;AAAA,IAClC;AAAA,IAEA,aAAaA,GAAK;AAEhB,UAAIA,EAAI,SAAS;AACf,eAAOA;AAET,UAAIC,IAAYD,EAAI,OAAO,CAAC;AAC5B,UAAIC,MAAc,OAAOA,MAAc;AACrC,eAAOD;AAET,UAAIE,IAAWF,EAAI,OAAOA,EAAI,SAAS,CAAC;AACxC,aAAIC,MAAcC,IACTF,IAEFA,EAAI,MAAM,GAAG,EAAE;AAAA,IACxB;AAAA,IAEA,gBAAgBG,GAAO;AACrB,UAAIC,IAAc;AAClB,UAAI,OAAO,UAAU,SAAS,KAAKD,CAAK,EAAE,MAAM,GAAG,EAAE,MAAM,SAAS;AAClE,YAAIE,IAAcF,EAAM;AACxB,QAAAC,IAAc;AACd,iBAASE,IAAI,GAAGA,IAAID,GAAaC;AAC/B,UACE,OAAO,UAAU,SAAS,KAAKH,EAAMG,CAAC,CAAC,EAAE,MAAM,GAAG,EAAE,MAAM,WAE1DF,KAAe,MAAMD,EAAMG,CAAC,IAAI,MAEhCF,KAAeD,EAAMG,CAAC,GAEpBA,MAAMD,IAAc,MACtBD,KAAe;AAGnB,QAAAA,KAAe;AAAA,MACjB,WACE,OAAO,UAAU,SAAS,KAAKD,CAAK,EAAE,MAAM,GAAG,EAAE,MAAM;AAEvD,YAAIA,EAAM,eAAe,YAAYA,EAAM,KAAK;AAE9C,UAAAC,IAAc;AACd,mBAASG,KAAQJ,EAAM,KAAK;AAC1B,gBAAIK,IAASD,EAAK,SAAS,EAAE,EAAE,YAAW;AAC1C,YAAIC,EAAO,SAAS,MAClBA,IAAS,MAAMA,IAEjBJ,KAAeI;AAAA,UACjB;AAAA,QACF,MAAO,CAAIL,EAAM,eAAe,WAAWA,EAAM,QAC/CC,IAAcD,EAAM;AAAA;AAGtB,QAAAC,IAAc,OAAOD,CAAK;AAE5B,aAAOC;AAAA,IACT;AAAA,EACJ;AACA;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s={methods:{isFloat(t){return!!(/^\s*[-+]?\d*\.\d+\s*$/.test(t)||/^\s*[-+]?(\d+((\.\d+)?)|(\.\d+))[eE][-+]?\d+\s*$/.test(t))},isInt(t){return!!(/^\s*[-+]?\d+\s*$/.test(t)||/^\s*0[xX][\dabcdefABCDEF]+\s*$/.test(t))},isArray(t){return/^\s*\[.*\]\s*$/.test(t)},removeQuotes(t){if(t.length<2)return t;let e=t.charAt(0);if(e!=='"'&&e!=="'")return t;let i=t.charAt(t.length-1);return e!==i?t:t.slice(1,-1)},convertToString(t){let e="";if(Object.prototype.toString.call(t).slice(8,-1)==="Array"){let i=t.length;e="[ ";for(let r=0;r<i;r++)Object.prototype.toString.call(t[r]).slice(8,-1)==="String"?e+='"'+t[r]+'"':e+=t[r],r!==i-1&&(e+=", ");e+=" ]"}else if(Object.prototype.toString.call(t).slice(8,-1)==="Object")if(t.json_class==="String"&&t.raw){e="0x";for(let i of t.raw){let r=i.toString(16).toUpperCase();r.length<2&&(r="0"+r),e+=r}}else t.json_class==="Float"&&t.raw&&(e=t.raw);else e=String(t);return e}}};exports.CmdUtilities=s;
|
|
2
|
+
//# sourceMappingURL=cmdUtilities-ChD8v8-7.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmdUtilities-ChD8v8-7.cjs","sources":["../src/util/cmdUtilities.js"],"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\nexport default {\n methods: {\n isFloat(str) {\n // Regex to identify a string as a floating point number\n if (/^\\s*[-+]?\\d*\\.\\d+\\s*$/.test(str)) {\n return true\n }\n // Regex to identify a string as a floating point number in scientific notation.\n if (/^\\s*[-+]?(\\d+((\\.\\d+)?)|(\\.\\d+))[eE][-+]?\\d+\\s*$/.test(str)) {\n return true\n }\n return false\n },\n\n isInt(str) {\n // Regular expression to identify a String as an integer\n if (/^\\s*[-+]?\\d+\\s*$/.test(str)) {\n return true\n }\n\n // # Regular expression to identify a String as an integer in hexadecimal format\n if (/^\\s*0[xX][\\dabcdefABCDEF]+\\s*$/.test(str)) {\n return true\n }\n return false\n },\n\n isArray(str) {\n // Regular expression to identify a String as an Array\n return /^\\s*\\[.*\\]\\s*$/.test(str)\n },\n\n removeQuotes(str) {\n // Return the string with leading and trailing quotes removed\n if (str.length < 2) {\n return str\n }\n let firstChar = str.charAt(0)\n if (firstChar !== '\"' && firstChar !== \"'\") {\n return str\n }\n let lastChar = str.charAt(str.length - 1)\n if (firstChar !== lastChar) {\n return str\n }\n return str.slice(1, -1)\n },\n\n convertToString(value) {\n let returnValue = ''\n if (Object.prototype.toString.call(value).slice(8, -1) === 'Array') {\n let arrayLength = value.length\n returnValue = '[ '\n for (let i = 0; i < arrayLength; i++) {\n if (\n Object.prototype.toString.call(value[i]).slice(8, -1) === 'String'\n ) {\n returnValue += '\"' + value[i] + '\"'\n } else {\n returnValue += value[i]\n }\n if (i !== arrayLength - 1) {\n returnValue += ', '\n }\n }\n returnValue += ' ]'\n } else if (\n Object.prototype.toString.call(value).slice(8, -1) === 'Object'\n ) {\n if (value.json_class === 'String' && value.raw) {\n // This is binary data, display in hex.\n returnValue = '0x'\n for (let part of value.raw) {\n let nibble = part.toString(16).toUpperCase()\n if (nibble.length < 2) {\n nibble = '0' + nibble\n }\n returnValue += nibble\n }\n } else if (value.json_class === 'Float' && value.raw) {\n returnValue = value.raw\n }\n } else {\n returnValue = String(value)\n }\n return returnValue\n },\n },\n}\n"],"names":["CmdUtilities","str","firstChar","lastChar","value","returnValue","arrayLength","i","part","nibble"],"mappings":"aAsBA,MAAAA,EAAe,CACb,QAAS,CACP,QAAQC,EAAK,CAMX,MAJI,2BAAwB,KAAKA,CAAG,GAIhC,mDAAmD,KAAKA,CAAG,EAIjE,EAEA,MAAMA,EAAK,CAOT,MALI,sBAAmB,KAAKA,CAAG,GAK3B,iCAAiC,KAAKA,CAAG,EAI/C,EAEA,QAAQA,EAAK,CAEX,MAAO,iBAAiB,KAAKA,CAAG,CAClC,EAEA,aAAaA,EAAK,CAEhB,GAAIA,EAAI,OAAS,EACf,OAAOA,EAET,IAAIC,EAAYD,EAAI,OAAO,CAAC,EAC5B,GAAIC,IAAc,KAAOA,IAAc,IACrC,OAAOD,EAET,IAAIE,EAAWF,EAAI,OAAOA,EAAI,OAAS,CAAC,EACxC,OAAIC,IAAcC,EACTF,EAEFA,EAAI,MAAM,EAAG,EAAE,CACxB,EAEA,gBAAgBG,EAAO,CACrB,IAAIC,EAAc,GAClB,GAAI,OAAO,UAAU,SAAS,KAAKD,CAAK,EAAE,MAAM,EAAG,EAAE,IAAM,QAAS,CAClE,IAAIE,EAAcF,EAAM,OACxBC,EAAc,KACd,QAASE,EAAI,EAAGA,EAAID,EAAaC,IAE7B,OAAO,UAAU,SAAS,KAAKH,EAAMG,CAAC,CAAC,EAAE,MAAM,EAAG,EAAE,IAAM,SAE1DF,GAAe,IAAMD,EAAMG,CAAC,EAAI,IAEhCF,GAAeD,EAAMG,CAAC,EAEpBA,IAAMD,EAAc,IACtBD,GAAe,MAGnBA,GAAe,IACjB,SACE,OAAO,UAAU,SAAS,KAAKD,CAAK,EAAE,MAAM,EAAG,EAAE,IAAM,SAEvD,GAAIA,EAAM,aAAe,UAAYA,EAAM,IAAK,CAE9CC,EAAc,KACd,QAASG,KAAQJ,EAAM,IAAK,CAC1B,IAAIK,EAASD,EAAK,SAAS,EAAE,EAAE,YAAW,EACtCC,EAAO,OAAS,IAClBA,EAAS,IAAMA,GAEjBJ,GAAeI,CACjB,CACF,MAAWL,EAAM,aAAe,SAAWA,EAAM,MAC/CC,EAAcD,EAAM,UAGtBC,EAAc,OAAOD,CAAK,EAE5B,OAAOC,CACT,CACJ,CACA"}
|
package/dist/components.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./OutputDialog-2CmOBAEE.cjs"),D=require("./TopBar-C5lQcY1W.cjs"),C=require("./Openc3Screen-BP2oW88G.cjs"),u=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs"),e=require("vue"),x=require("./CustomIcon-Bop2mEnu.cjs"),E=require("./CriticalCmdDialog-N06JxCHg.cjs"),k=require("./DetailsDialog-CVYBgZll.cjs"),S=require("./ScriptChooser-LsboGSgh.cjs"),V=require("./Graph-CWjf71TK.cjs"),w=require("./icons.cjs"),T=require("./timeFilters-CJFxfjqN.cjs"),R=require("./format-B22VpiOS.cjs"),I=require("single-spa"),O=require("./SimpleTextDialog-BwOVWhRY.cjs"),A=require("./TextBoxDialog--uIDsNPU.cjs"),U=require("./UpgradeToEnterpriseDialog-BHDDrj0t.cjs"),B={data:{configKey:"",dontSaveDefaultConfig:!1},methods:{loadDefaultConfig:function(){return localStorage[`${this.configKey}__default`]?JSON.parse(localStorage[`${this.configKey}__default`]):{}},saveDefaultConfig:function(o){this.dontSaveDefaultConfig!==!0&&(localStorage[`${this.configKey}__default`]=JSON.stringify(o))},openConfigBase:function(o,t=!1,s=null){new u.di().load_config(this.configKey,o).then(a=>{a?(this.$notify.normal({title:"Loading configuration",body:o}),s&&s(JSON.parse(a)),t||this.$route.fullPath.includes(o)||this.$router.push({query:{config:o}})):this.$notify.caution({title:"Unknown configuration",body:o})}).catch(a=>{a&&this.$notify.serious({title:`Error opening configuration: ${o}`,body:a})})},saveConfigBase:function(o,t){new u.di().save_config(this.configKey,o,JSON.stringify(t)).then(()=>{this.$notify.normal({title:"Saved configuration",body:o})}).catch(s=>{s&&this.$notify.serious({title:`Error saving configuration: ${o}`,body:s})})},resetConfigBase:function(){localStorage.removeItem(`${this.configKey}__default`);const o={...this.$route.query};delete o.config,this.$router.replace({query:o})}}},L={props:{configKey:String,modelValue:Boolean},data(){return{configs:[],headers:[{title:"Configuration",value:"config"},{title:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedRows:[]}},computed:{selectedItem:function(){return this.selectedRows.length?this.configs.find(o=>o.configId===this.selectedRows[0]):null},error:function(){return this.selectedItem===""||this.selectedItem===null?"Must select a config":null},show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}}},mounted(){let o=-1;new u.di().list_configs(this.configKey).then(t=>{this.configs=t.map(s=>(o+=1,{configId:o,config:s}))}).catch(t=>{this.$emit("warning",`Failed to connect to OpenC3. ${t}`)})},methods:{selectRow:function(o){this.selectedRows=[o.item.configId]},success:function(){this.selectedItem&&(this.$emit("success",this.selectedItem.config),this.show=!1,this.search=null,this.selectedRows=[])},cancel:function(){this.show=!1,this.search=null,this.selectedRows=[]},deleteConfig:function(o){this.$dialog.confirm(`Are you sure you want to delete: ${o.config}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{var s;((s=this.selectedItem)==null?void 0:s.config)===o.config&&(this.selectedRows=[]),this.configs.splice(this.configs.indexOf(o),1),new u.di().delete_config(this.configKey,o.config)}).catch(t=>{t!==!0&&this.$emit("warning",`Failed to delete config ${o.config} Error: ${t}`)})}}},q={class:"mt-4 pa-3"},F=["textContent"];function K(o,t,s,a,i,n){const c=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-toolbar"),f=e.resolveComponent("v-text-field"),h=e.resolveComponent("v-row"),d=e.resolveComponent("v-btn"),p=e.resolveComponent("v-data-table"),g=e.resolveComponent("v-card-text"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[4]||(t[4]=l=>n.show=l),width:"600",onKeydown:e.withKeys(n.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(r,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:t[3]||(t[3]=e.withModifiers((...l)=>n.success&&n.success(...l),["prevent"]))},[e.createVNode(m,{height:"24"},{default:e.withCtx(()=>[e.createVNode(c),t[5]||(t[5]=e.createElementVNode("span",null,"Open Configuration",-1)),e.createVNode(c)]),_:1,__:[5]}),e.createVNode(g,null,{default:e.withCtx(()=>[e.createElementVNode("div",q,[e.createVNode(h,{dense:""},{default:e.withCtx(()=>[e.createVNode(f,{modelValue:i.search,"onUpdate:modelValue":t[0]||(t[0]=l=>i.search=l),label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline",autofocus:"","single-line":"","hide-details":"","data-test":"search"},null,8,["modelValue"])]),_:1}),e.createVNode(p,{modelValue:i.selectedRows,"onUpdate:modelValue":t[1]||(t[1]=l=>i.selectedRows=l),"show-select":"","select-strategy":"single","item-value":"configId",search:i.search,headers:i.headers,items:i.configs,"items-per-page":5,"items-per-page-options":[5],"onClick:row":t[2]||(t[2]=(l,_)=>n.selectRow(_))},{"item.actions":e.withCtx(({item:l})=>[e.createVNode(d,{class:"mt-1",icon:"mdi-delete",variant:"text","data-test":"item-delete",onClick:_=>n.deleteConfig(l)},null,8,["onClick"])]),_:1},8,["modelValue","search","headers","items"]),e.createVNode(h,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.error)},null,8,F),[[e.vShow,n.error]])]),_:1})])]),_:1}),e.createVNode(v,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(c),e.createVNode(d,{variant:"outlined","data-test":"open-config-cancel-btn",onClick:n.cancel},{default:e.withCtx(()=>t[6]||(t[6]=[e.createTextVNode(" Cancel ",-1)])),_:1,__:[6]},8,["onClick"]),e.createVNode(d,{variant:"flat",type:"submit","data-test":"open-config-submit-btn",disabled:!!n.error,onClick:e.withModifiers(n.success,["prevent"])},{default:e.withCtx(()=>t[7]||(t[7]=[e.createTextVNode(" Ok ",-1)])),_:1,__:[7]},8,["disabled","onClick"])]),_:1})],32)]),_:1})]),_:1},8,["modelValue","onKeydown"])}const M=x._export_sfc(L,[["render",K]]),G={props:{configKey:String,modelValue:Boolean},data(){return{configName:"",configs:[],headers:[{title:"Configuration",value:"config"},{title:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedRows:[]}},computed:{selectedItem:function(){return this.selectedRows.length?this.configs.find(o=>o.configId===this.selectedRows[0]):null},error:function(){return this.configName?null:"Config must have a name"},show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}}},watch:{selectedItem:function(o){o&&(this.configName=o.config)}},mounted(){let o=-1;new u.di().list_configs(this.configKey).then(t=>{this.configs=t.map(s=>(o+=1,{configId:o,config:s}))}).catch(t=>{this.$emit("warning",`Failed to connect to OpenC3. ${t}`)})},methods:{selectRow:function(o){this.selectedRows=[o.item.configId]},success:function(){this.$emit("success",this.configName),this.show=!1,this.search=null,this.selectedRows=[],this.configName=""},cancel:function(){this.show=!1,this.search=null,this.selectedRows=[],this.configName=""},deleteConfig:function(o){this.$dialog.confirm(`Are you sure you want to delete: ${o.config}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{var s;((s=this.selectedItem)==null?void 0:s.config)===o.config&&(this.selectedRows=[],this.configName=""),this.configs.splice(this.configs.indexOf(o),1),new u.di().delete_config(this.configKey,o.config)}).catch(t=>{t!==!0&&this.$emit("warning",`Failed to delete config ${o.config} Error: ${t}`)})}}},$={class:"mt-4 pa-3"},P=["textContent"];function j(o,t,s,a,i,n){const c=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-toolbar"),f=e.resolveComponent("v-text-field"),h=e.resolveComponent("v-row"),d=e.resolveComponent("v-btn"),p=e.resolveComponent("v-data-table"),g=e.resolveComponent("v-card-text"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[5]||(t[5]=l=>n.show=l),width:"600",onKeydown:e.withKeys(n.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(r,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:t[4]||(t[4]=e.withModifiers((...l)=>n.success&&n.success(...l),["prevent"]))},[e.createVNode(m,{height:"24"},{default:e.withCtx(()=>[e.createVNode(c),t[6]||(t[6]=e.createElementVNode("span",null,"Save Configuration",-1)),e.createVNode(c)]),_:1,__:[6]}),e.createVNode(g,null,{default:e.withCtx(()=>[e.createElementVNode("div",$,[e.createVNode(h,{dense:""},{default:e.withCtx(()=>[e.createVNode(f,{modelValue:i.search,"onUpdate:modelValue":t[0]||(t[0]=l=>i.search=l),label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline","single-line":"","hide-details":"","data-test":"search"},null,8,["modelValue"])]),_:1}),e.createVNode(p,{modelValue:i.selectedRows,"onUpdate:modelValue":t[1]||(t[1]=l=>i.selectedRows=l),"show-select":"","select-strategy":"single","item-value":"configId",search:i.search,headers:i.headers,items:i.configs,"items-per-page":5,"items-per-page-options":[5],"onClick:row":t[2]||(t[2]=(l,_)=>n.selectRow(_))},{"item.actions":e.withCtx(({item:l})=>[e.createVNode(d,{class:"mt-1",icon:"mdi-delete",variant:"text","data-test":"item-delete",onClick:_=>n.deleteConfig(l)},null,8,["onClick"])]),_:1},8,["modelValue","search","headers","items"]),e.createVNode(h,{dense:""},{default:e.withCtx(()=>[e.createVNode(f,{modelValue:i.configName,"onUpdate:modelValue":t[3]||(t[3]=l=>i.configName=l),"hide-details":"",autofocus:"",disabled:!!n.selectedItem,label:"Configuration Name","data-test":"name-input-save-config-dialog"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(h,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(n.error)},null,8,P),[[e.vShow,n.error]])]),_:1})])]),_:1}),e.createVNode(v,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(c),e.createVNode(d,{variant:"outlined",onClick:n.cancel},{default:e.withCtx(()=>t[7]||(t[7]=[e.createTextVNode(" Cancel ",-1)])),_:1,__:[7]},8,["onClick"]),e.createVNode(d,{variant:"flat",type:"submit","data-test":"save-config-submit-btn",disabled:!!n.error,onClick:e.withModifiers(n.success,["prevent"])},{default:e.withCtx(()=>t[8]||(t[8]=[e.createTextVNode(" Ok ",-1)])),_:1,__:[8]},8,["disabled","onClick"])]),_:1})],32)]),_:1})]),_:1},8,["modelValue","onKeydown"])}const H=x._export_sfc(G,[["render",j]]),J={mixins:[T.TimeFilters],props:{historyCount:{type:Number,default:200},timeZone:{type:String,default:"local"}},data(){return{AstroStatusColors:w.AstroStatusColors,data:[],shownData:[],logLevels:["DEBUG","INFO","WARN","ERROR","FATAL"],logLevel:"INFO",search:"",headers:[{title:"Time",value:"timestamp",nowrap:!0},{title:"Level",value:"level"},{title:"Source",value:"microservice_name"},{title:"Message",value:"message"}],cable:new u.ui,subscription:null,paused:!1}},computed:{buttonIcon:function(){return this.paused?"mdi-play":"mdi-pause"}},watch:{logLevel:function(o,t){this.createSubscription()}},created(){this.createSubscription()},unmounted(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{pause:function(){this.paused=!this.paused},createSubscription(){this.subscription&&(this.subscription.unsubscribe(),this.data=[],this.shownData=this.data),this.cable.createSubscription("MessagesChannel",window.openc3Scope,{received:o=>{this.cable.recordPing(),o.length>this.historyCount&&o.splice(0,o.length-this.historyCount),o=o.filter(t=>{switch(this.logLevel){case"DEBUG":return!0;case"INFO":if(t.level!=="DEBUG")return!0;break;case"WARN":if(t.level!=="DEBUG"&&t.level!=="INFO")return!0;break;case"ERROR":if(t.level!=="DEBUG"&&t.level!=="INFO"&&t.level!=="WARN")return!0;break;case"FATAL":if(t.level!=="DEBUG"&&t.level!=="INFO"&&t.level!=="WARN"&&t.level!=="ERROR")return!0;break}return!1}),o.map(t=>{if(t.timestamp=this.formatTimestamp(t["@timestamp"],this.timeZone),t.message.raw&&t.message.json_class==="String"){let s="0x";for(let a=0;a<t.message.raw.length;a++){let i=t.message.raw[a].toString(16).toUpperCase();i.length<2&&(i="0"+i),s+=i}t.message=s}else t.message=t.message.replaceAll("\\n",`
|
|
2
|
-
`)}),this.data=o.reverse().concat(this.data),this.data.length>this.historyCount&&(this.data.length=this.historyCount),this.paused||(this.shownData=this.data)}},{history_count:this.historyCount,types:["log","notification","alert"]}).then(o=>{this.subscription=o})},getColor(o){return
|
|
3
|
-
`),t=new Blob([o],{type:"text/plain"}),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("./OutputDialog-DgM7aoa-.cjs"),k=require("./TopBar-zJvwq8pr.cjs"),N=require("./Openc3Screen-BHHnSEoI.cjs"),g=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs"),e=require("vue"),w=require("./CustomIcon-Bop2mEnu.cjs"),V=require("./Graph-BJqtVAaV.cjs"),I=require("./cmdUtilities-ChD8v8-7.cjs"),T=require("./DetailsDialog-DEicfRO1.cjs"),B=require("./CriticalCmdDialog-C-UGhtjE.cjs"),R=require("./ScriptChooser-B6TGFTBN.cjs"),y=require("./icons.cjs"),U=require("./timeFilters-CJFxfjqN.cjs"),A=require("./format-B22VpiOS.cjs"),S=require("single-spa"),M=require("./SimpleTextDialog-CU6G5CBY.cjs"),P=require("./TextBoxDialog-DbD8P4Xc.cjs"),F=require("./UpgradeToEnterpriseDialog-BxHUptQB.cjs"),L={data:{configKey:"",dontSaveDefaultConfig:!1},methods:{loadDefaultConfig:function(){return localStorage[`${this.configKey}__default`]?JSON.parse(localStorage[`${this.configKey}__default`]):{}},saveDefaultConfig:function(o){this.dontSaveDefaultConfig!==!0&&(localStorage[`${this.configKey}__default`]=JSON.stringify(o))},openConfigBase:function(o,t=!1,i=null){new g.di().load_config(this.configKey,o).then(s=>{s?(this.$notify.normal({title:"Loading configuration",body:o}),i&&i(JSON.parse(s)),t||this.$route.fullPath.includes(o)||this.$router.push({query:{config:o}})):this.$notify.caution({title:"Unknown configuration",body:o})}).catch(s=>{s&&this.$notify.serious({title:`Error opening configuration: ${o}`,body:s})})},saveConfigBase:function(o,t){new g.di().save_config(this.configKey,o,JSON.stringify(t)).then(()=>{this.$notify.normal({title:"Saved configuration",body:o})}).catch(i=>{i&&this.$notify.serious({title:`Error saving configuration: ${o}`,body:i})})},resetConfigBase:function(){localStorage.removeItem(`${this.configKey}__default`);const o={...this.$route.query};delete o.config,this.$router.replace({query:o})}}},q={props:{configKey:String,modelValue:Boolean},data(){return{configs:[],headers:[{title:"Configuration",value:"config"},{title:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedRows:[]}},computed:{selectedItem:function(){return this.selectedRows.length?this.configs.find(o=>o.configId===this.selectedRows[0]):null},error:function(){return this.selectedItem===""||this.selectedItem===null?"Must select a config":null},show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}}},mounted(){let o=-1;new g.di().list_configs(this.configKey).then(t=>{this.configs=t.map(i=>(o+=1,{configId:o,config:i}))}).catch(t=>{this.$emit("warning",`Failed to connect to OpenC3. ${t}`)})},methods:{selectRow:function(o){this.selectedRows=[o.item.configId]},success:function(){this.selectedItem&&(this.$emit("success",this.selectedItem.config),this.show=!1,this.search=null,this.selectedRows=[])},cancel:function(){this.show=!1,this.search=null,this.selectedRows=[]},deleteConfig:function(o){this.$dialog.confirm(`Are you sure you want to delete: ${o.config}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{var i;((i=this.selectedItem)==null?void 0:i.config)===o.config&&(this.selectedRows=[]),this.configs.splice(this.configs.indexOf(o),1),new g.di().delete_config(this.configKey,o.config)}).catch(t=>{t!==!0&&this.$emit("warning",`Failed to delete config ${o.config} Error: ${t}`)})}}},K={class:"mt-4 pa-3"},G=["textContent"];function $(o,t,i,s,n,a){const c=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-text-field"),r=e.resolveComponent("v-row"),h=e.resolveComponent("v-btn"),v=e.resolveComponent("v-data-table"),f=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-card-actions"),d=e.resolveComponent("v-card"),x=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(x,{modelValue:a.show,"onUpdate:modelValue":t[4]||(t[4]=l=>a.show=l),width:"600",onKeydown:e.withKeys(a.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:t[3]||(t[3]=e.withModifiers((...l)=>a.success&&a.success(...l),["prevent"]))},[e.createVNode(p,{height:"24"},{default:e.withCtx(()=>[e.createVNode(c),t[5]||(t[5]=e.createElementVNode("span",null,"Open Configuration",-1)),e.createVNode(c)]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",K,[e.createVNode(r,{dense:""},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:n.search,"onUpdate:modelValue":t[0]||(t[0]=l=>n.search=l),label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline",autofocus:"","single-line":"","hide-details":"","data-test":"search"},null,8,["modelValue"])]),_:1}),e.createVNode(v,{modelValue:n.selectedRows,"onUpdate:modelValue":t[1]||(t[1]=l=>n.selectedRows=l),"show-select":"","select-strategy":"single","item-value":"configId",search:n.search,headers:n.headers,items:n.configs,"items-per-page":5,"items-per-page-options":[5],"onClick:row":t[2]||(t[2]=(l,C)=>a.selectRow(C))},{"item.actions":e.withCtx(({item:l})=>[e.createVNode(h,{class:"mt-1",icon:"mdi-delete",variant:"text","data-test":"item-delete",onClick:C=>a.deleteConfig(l)},null,8,["onClick"])]),_:1},8,["modelValue","search","headers","items"]),e.createVNode(r,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(a.error)},null,8,G),[[e.vShow,a.error]])]),_:1})])]),_:1}),e.createVNode(_,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(c),e.createVNode(h,{variant:"outlined","data-test":"open-config-cancel-btn",onClick:a.cancel},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(h,{variant:"flat",type:"submit","data-test":"open-config-submit-btn",disabled:!!a.error,onClick:e.withModifiers(a.success,["prevent"])},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})],32)]),_:1})]),_:1},8,["modelValue","onKeydown"])}const j=w._export_sfc(q,[["render",$]]),H={props:{configKey:String,modelValue:Boolean},data(){return{configName:"",configs:[],headers:[{title:"Configuration",value:"config"},{title:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedRows:[]}},computed:{selectedItem:function(){return this.selectedRows.length?this.configs.find(o=>o.configId===this.selectedRows[0]):null},error:function(){return this.configName?null:"Config must have a name"},show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}}},watch:{selectedItem:function(o){o&&(this.configName=o.config)}},mounted(){let o=-1;new g.di().list_configs(this.configKey).then(t=>{this.configs=t.map(i=>(o+=1,{configId:o,config:i}))}).catch(t=>{this.$emit("warning",`Failed to connect to OpenC3. ${t}`)})},methods:{selectRow:function(o){this.selectedRows=[o.item.configId]},success:function(){this.$emit("success",this.configName),this.show=!1,this.search=null,this.selectedRows=[],this.configName=""},cancel:function(){this.show=!1,this.search=null,this.selectedRows=[],this.configName=""},deleteConfig:function(o){this.$dialog.confirm(`Are you sure you want to delete: ${o.config}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{var i;((i=this.selectedItem)==null?void 0:i.config)===o.config&&(this.selectedRows=[],this.configName=""),this.configs.splice(this.configs.indexOf(o),1),new g.di().delete_config(this.configKey,o.config)}).catch(t=>{t!==!0&&this.$emit("warning",`Failed to delete config ${o.config} Error: ${t}`)})}}},z={class:"mt-4 pa-3"},W=["textContent"];function J(o,t,i,s,n,a){const c=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),m=e.resolveComponent("v-text-field"),r=e.resolveComponent("v-row"),h=e.resolveComponent("v-btn"),v=e.resolveComponent("v-data-table"),f=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-card-actions"),d=e.resolveComponent("v-card"),x=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(x,{modelValue:a.show,"onUpdate:modelValue":t[5]||(t[5]=l=>a.show=l),width:"600",onKeydown:e.withKeys(a.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createElementVNode("form",{onSubmit:t[4]||(t[4]=e.withModifiers((...l)=>a.success&&a.success(...l),["prevent"]))},[e.createVNode(p,{height:"24"},{default:e.withCtx(()=>[e.createVNode(c),t[6]||(t[6]=e.createElementVNode("span",null,"Save Configuration",-1)),e.createVNode(c)]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",z,[e.createVNode(r,{dense:""},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:n.search,"onUpdate:modelValue":t[0]||(t[0]=l=>n.search=l),label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","clear-icon":"mdi-close-circle-outline","single-line":"","hide-details":"","data-test":"search"},null,8,["modelValue"])]),_:1}),e.createVNode(v,{modelValue:n.selectedRows,"onUpdate:modelValue":t[1]||(t[1]=l=>n.selectedRows=l),"show-select":"","select-strategy":"single","item-value":"configId",search:n.search,headers:n.headers,items:n.configs,"items-per-page":5,"items-per-page-options":[5],"onClick:row":t[2]||(t[2]=(l,C)=>a.selectRow(C))},{"item.actions":e.withCtx(({item:l})=>[e.createVNode(h,{class:"mt-1",icon:"mdi-delete",variant:"text","data-test":"item-delete",onClick:C=>a.deleteConfig(l)},null,8,["onClick"])]),_:1},8,["modelValue","search","headers","items"]),e.createVNode(r,{dense:""},{default:e.withCtx(()=>[e.createVNode(m,{modelValue:n.configName,"onUpdate:modelValue":t[3]||(t[3]=l=>n.configName=l),"hide-details":"",autofocus:"",disabled:!!a.selectedItem,label:"Configuration Name","data-test":"name-input-save-config-dialog"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(r,{dense:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:"ma-2 text-red",textContent:e.toDisplayString(a.error)},null,8,W),[[e.vShow,a.error]])]),_:1})])]),_:1}),e.createVNode(_,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(c),e.createVNode(h,{variant:"outlined",onClick:a.cancel},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(h,{variant:"flat",type:"submit","data-test":"save-config-submit-btn",disabled:!!a.error,onClick:e.withModifiers(a.success,["prevent"])},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})],32)]),_:1})]),_:1},8,["modelValue","onKeydown"])}const Z=w._export_sfc(H,[["render",J]]),X={name:"CommandParameterEditor",mixins:[I.CmdUtilities],props:{modelValue:{type:[String,Number],default:void 0},states:{type:Object,default:()=>null},statesInHex:{type:Boolean,default:!1}},emits:["update:modelValue"],computed:{textFieldValue(){return this.convertToString(this.modelValue)},stateValue(){return this.statesInHex?"0x"+this.modelValue.toString(16):this.modelValue},selectValue(){return this.modelValue===""?null:this.modelValue},stateOptions(){return this.states?Object.keys(this.states).map(o=>({label:o,...this.states[o]})):null},hazardous(){var o,t;return((t=(o=Object.entries(this.states).find(([i,s])=>s.value===this.modelValue))==null?void 0:o.at(1))==null?void 0:t.hazardous)!==void 0},stateClass(){return this.hazardous?"hazardous mr-4":"mr-4"}},methods:{handleChange(o){this.$emit("update:modelValue",o)}}},Y={key:1,class:"d-flex align-center"};function Q(o,t,i,s,n,a){const c=e.resolveComponent("v-text-field"),p=e.resolveComponent("v-select");return e.openBlock(),e.createElementBlock("div",null,[i.states?(e.openBlock(),e.createElementBlock("div",Y,[e.createVNode(p,{items:a.stateOptions,"model-value":a.selectValue,"item-title":"label",class:e.normalizeClass(a.stateClass),"hide-details":"",density:"compact",variant:"outlined",placeholder:"Select...","min-width":"120px","data-test":"cmd-param-select","onUpdate:modelValue":a.handleChange},null,8,["items","model-value","class","onUpdate:modelValue"]),e.createVNode(c,{"model-value":a.stateValue,disabled:"","hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value"},null,8,["model-value"])])):(e.openBlock(),e.createBlock(c,{key:0,"model-value":a.textFieldValue,"hide-details":"",density:"compact",variant:"filled","data-test":"cmd-param-value","onUpdate:modelValue":a.handleChange},null,8,["model-value","onUpdate:modelValue"]))])}const O=w._export_sfc(X,[["render",Q],["__scopeId","data-v-b38d5e7f"]]),ee={name:"CommandEditor",components:{TargetPacketItemChooser:V.TargetPacketItemChooser,CommandParameterEditor:O,DetailsDialog:T.DetailsDialog},mixins:[I.CmdUtilities],props:{initialTargetName:{type:String,default:null},initialPacketName:{type:String,default:null},cmdString:{type:String,default:null},sendDisabled:{type:Boolean,default:!1},statesInHex:{type:Boolean,default:!1},showIgnoredParams:{type:Boolean,default:!1},cmdRaw:{type:Boolean,default:!1},showCommandButton:{type:Boolean,default:!0}},emits:["command-changed","build-cmd"],data(){return{search:"",headers:[{title:"Name",value:"parameter_name"},{title:"Value or State",value:"val"},{title:"Units",value:"units"},{title:"Range",value:"range"},{title:"Description",value:"description"}],api:null,targetName:"",commandName:"",commandDescription:"",ignoredParams:[],computedRows:[],reservedItemNames:["PACKET_TIMESECONDS","PACKET_TIMEFORMATTED","RECEIVED_TIMESECONDS","RECEIVED_TIMEFORMATTED","RECEIVED_COUNT"],contextMenuShown:!1,viewDetails:!1,parameterName:"",x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}}]}},created(){this.api=new g.di,this.cmdString?this.processCmdString():(this.targetName=this.initialTargetName,this.commandName=this.initialPacketName,this.updateCmdParams())},methods:{commandChanged(o){(this.targetName!==o.targetName||this.commandName!==o.packetName)&&(this.targetName=o.targetName,this.commandName=o.packetName,this.updateCmdParams()),this.$emit("command-changed",o)},buildCmd(o){this.$emit("build-cmd",o)},showContextMenu(o,t){o.preventDefault(),this.parameterName=t.item.parameter_name,this.contextMenuShown=!1,this.x=o.clientX,this.y=o.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})},updateCmdParams(){this.ignoredParams=[],this.computedRows=[],this.targetName&&this.commandName&&this.api.get_target(this.targetName).then(o=>(this.ignoredParams=o.ignored_parameters,this.api.get_cmd(this.targetName,this.commandName)),o=>{console.error("Error getting ignored parameters:",o)}).then(o=>{o&&(o.items.forEach(t=>{if(!this.reservedItemNames.includes(t.name)&&(!this.ignoredParams.includes(t.name)||this.showIgnoredParams)){let i=t.default;!t.states&&t.data_type==="STRING"&&typeof t.default=="string"&&(i=`'${i}'`),t.required&&(i=null),t.format_string&&t.default&&(i=sprintf(t.format_string,t.default));let s="N/A";t.minimum!=null&&t.maximum!=null&&(t.data_type==="FLOAT"&&(t.minimum<-1e6&&Number.isSafeInteger(t.minimum)&&(t.minimum=t.minimum.toExponential(3)),t.maximum>1e6&&Number.isSafeInteger(t.maximum)&&(t.maximum=t.maximum.toExponential(3))),s=`${t.minimum}..${t.maximum}`),this.computedRows.push({parameter_name:t.name,val:i,states:t.states,description:t.description,range:s,units:t.units,type:t.data_type})}}),this.commandDescription=o.description,this.populateParametersFromParsed())},o=>{console.error("Error getting command parameters:",o)})},triggerUpdateCmdParams(){this.updateCmdParams()},getRows(){return this.computedRows},getCmdString(){let o=`${this.targetName} ${this.commandName}`;if(this.computedRows.length===0)return o;o+=" with ";for(const t of this.computedRows){if(t.val===null)throw new Error(`Required parameter ${t.parameter_name} not set`);if(t.val!==null&&t.val!==void 0&&t.val!==""){if(t.states){const s=Object.entries(t.states).find(([,n])=>n.value===t.val);if(s){o+=` ${t.parameter_name} '${s[0]}',`;continue}}let i=this.convertToString(t.val);i.includes(" ")&&!this.isArray(i)?o+=` ${t.parameter_name} '${i}',`:o+=` ${t.parameter_name} ${i},`}}return o.slice(0,-1)},parseCmdString(o){const t=o.split(" ");if(t.length<2)return{target:"",command:"",params:{}};if(t.length===2)return{target:t[0],command:t[1],params:{}};if(t[2]!=="with")return{target:"",command:"",params:{}};const i=t[0],s=t[1];let n={};const a=o.split(" with ")[1];let c=[],p=0,m="";for(let r of a)r==="["?(p++,m+=r):r==="]"?(p--,m+=r):r===","&&p===0?(c.push(m.trim()),m=""):m+=r;m.trim()!==""&&c.push(m.trim());for(let r of c){let h=r.indexOf(" ");if(h>0){let v=r.substring(0,h).trim(),f=r.substring(h+1).trim();n[v]=f}}return{target:i,command:s,params:n}},processCmdString(){const o=this.parseCmdString(this.cmdString);o.target&&o.command&&(this.targetName=o.target,this.commandName=o.command,this.parsedParameters=o.params,this.updateCmdParams())},populateParametersFromParsed(){!this.parsedParameters||Object.keys(this.parsedParameters).length===0||this.$nextTick(()=>{setTimeout(()=>{this.computedRows.forEach(o=>{if(this.parsedParameters.hasOwnProperty(o.parameter_name)){const t=this.parsedParameters[o.parameter_name];if(o.states&&typeof t=="string"){const i=Object.keys(o.states).find(s=>s===t||s.toLowerCase()===t.toLowerCase());i?o.val=o.states[i].value:o.val=t}else o.type==="STRING"&&typeof t=="string"?o.val=t.startsWith("'")||t.startsWith('"')?t:`'${t}'`:o.val=t}})},100)})}}},te={style:{padding:"10px"}};function oe(o,t,i,s,n,a){const c=e.resolveComponent("target-packet-item-chooser"),p=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-text-field"),r=e.resolveComponent("v-card-title"),h=e.resolveComponent("command-parameter-editor"),v=e.resolveComponent("v-data-table"),f=e.resolveComponent("v-card"),_=e.resolveComponent("v-list-item-title"),d=e.resolveComponent("v-list-item"),x=e.resolveComponent("v-list"),l=e.resolveComponent("v-menu"),C=e.resolveComponent("details-dialog");return e.openBlock(),e.createBlock(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",te,[e.createVNode(c,{"initial-target-name":n.targetName,"initial-packet-name":n.commandName,disabled:i.sendDisabled,"button-text":i.showCommandButton?"Send":null,mode:"cmd",onOnSet:t[0]||(t[0]=u=>a.commandChanged(u)),onAddItem:t[1]||(t[1]=u=>a.buildCmd(u))},null,8,["initial-target-name","initial-packet-name","disabled","button-text"])]),n.computedRows.length!==0?(e.openBlock(),e.createBlock(f,{key:0},{default:e.withCtx(()=>[e.createVNode(r,{class:"d-flex align-center justify-content-space-between"},{default:e.withCtx(()=>[t[5]||(t[5]=e.createTextVNode(" Parameters ",-1)),e.createVNode(p),e.createVNode(m,{modelValue:n.search,"onUpdate:modelValue":t[2]||(t[2]=u=>n.search=u),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),e.createVNode(v,{headers:n.headers,items:n.computedRows,search:n.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact","onContextmenu:row":a.showContextMenu},{"item.val":e.withCtx(({item:u})=>[e.renderSlot(o.$slots,"parameter-editor",{item:u,statesInHex:i.statesInHex},()=>[e.createVNode(h,{modelValue:u.val,"onUpdate:modelValue":b=>u.val=b,states:u.states,"states-in-hex":i.statesInHex},null,8,["modelValue","onUpdate:modelValue","states","states-in-hex"])])]),_:3},8,["headers","items","search","onContextmenu:row"])]),_:3})):e.createCommentVNode("",!0),e.createVNode(l,{modelValue:n.contextMenuShown,"onUpdate:modelValue":t[3]||(t[3]=u=>n.contextMenuShown=u),target:[n.x,n.y]},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.contextMenuOptions,(u,b)=>(e.openBlock(),e.createBlock(d,{key:b,onClick:e.withModifiers(u.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),e.createVNode(C,{modelValue:n.viewDetails,"onUpdate:modelValue":t[4]||(t[4]=u=>n.viewDetails=u),"target-name":n.targetName,"packet-name":n.commandName,"item-name":n.parameterName,type:"cmd"},null,8,["modelValue","target-name","packet-name","item-name"])]),_:3})}const ne=w._export_sfc(ee,[["render",oe]]),ie={mixins:[U.TimeFilters],props:{historyCount:{type:Number,default:200},timeZone:{type:String,default:"local"}},data(){return{AstroStatusColors:y.AstroStatusColors,data:[],shownData:[],logLevels:["DEBUG","INFO","WARN","ERROR","FATAL"],logLevel:"INFO",search:"",headers:[{title:"Time",value:"timestamp",nowrap:!0},{title:"Level",value:"level"},{title:"Source",value:"microservice_name"},{title:"Message",value:"message"}],cable:new g.ui,subscription:null,paused:!1}},computed:{buttonIcon:function(){return this.paused?"mdi-play":"mdi-pause"}},watch:{logLevel:function(o,t){this.createSubscription()}},created(){this.createSubscription()},unmounted(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{pause:function(){this.paused=!this.paused},createSubscription(){this.subscription&&(this.subscription.unsubscribe(),this.data=[],this.shownData=this.data),this.cable.createSubscription("MessagesChannel",window.openc3Scope,{received:o=>{this.cable.recordPing(),o.length>this.historyCount&&o.splice(0,o.length-this.historyCount),o=o.filter(t=>{switch(this.logLevel){case"DEBUG":return!0;case"INFO":if(t.level!=="DEBUG")return!0;break;case"WARN":if(t.level!=="DEBUG"&&t.level!=="INFO")return!0;break;case"ERROR":if(t.level!=="DEBUG"&&t.level!=="INFO"&&t.level!=="WARN")return!0;break;case"FATAL":if(t.level!=="DEBUG"&&t.level!=="INFO"&&t.level!=="WARN"&&t.level!=="ERROR")return!0;break}return!1}),o.map(t=>{if(t.timestamp=this.formatTimestamp(t["@timestamp"],this.timeZone),t.message.raw&&t.message.json_class==="String"){let i="0x";for(let s=0;s<t.message.raw.length;s++){let n=t.message.raw[s].toString(16).toUpperCase();n.length<2&&(n="0"+n),i+=n}t.message=i}else t.message=t.message.replaceAll("\\n",`
|
|
2
|
+
`)}),this.data=o.reverse().concat(this.data),this.data.length>this.historyCount&&(this.data.length=this.historyCount),this.paused||(this.shownData=this.data)}},{history_count:this.historyCount,types:["log","notification","alert"]}).then(o=>{this.subscription=o})},getColor(o){return y.AstroStatusColors[y.UnknownToAstroStatus[o]]},getStatus(o){return y.UnknownToAstroStatus[o]},downloadLog(){const o=this.shownData.map(s=>`${s.timestamp} | ${s.level} | ${s.microservice_name} | ${s.message}`).join(`
|
|
3
|
+
`),t=new Blob([o],{type:"text/plain"}),i=document.createElement("a");i.href=URL.createObjectURL(t),i.setAttribute("download",A.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_message_log.txt"),i.click()},clearLog:function(){this.$dialog.confirm("Are you sure you want to clear the log?",{okText:"Clear",cancelText:"Cancel"}).then(o=>{this.data=[],this.shownData=[]}).catch(function(o){})}}},ae={class:"d-flex align-baseline"},se=["title","datetime"],le={style:{"white-space":"pre-wrap"}};function re(o,t,i,s,n,a){const c=e.resolveComponent("v-btn"),p=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-select"),r=e.resolveComponent("v-text-field"),h=e.resolveComponent("v-card-title"),v=e.resolveComponent("rux-status"),f=e.resolveComponent("v-data-table"),_=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(_,null,{default:e.withCtx(()=>[e.createVNode(h,{class:"d-flex align-center justify-content-space-between"},{default:e.withCtx(()=>[e.createElementVNode("div",ae,[e.createVNode(c,{icon:"mdi-download",variant:"text",size:"small",class:"mr-2","data-test":"download-log",onClick:a.downloadLog},null,8,["onClick"]),t[2]||(t[2]=e.createElementVNode("span",null," Log Messages ",-1)),e.createVNode(c,{icon:a.buttonIcon,variant:"text","data-test":"pause",onClick:a.pause},null,8,["icon","onClick"])]),e.createVNode(p),e.createVNode(m,{modelValue:n.logLevel,"onUpdate:modelValue":t[0]||(t[0]=d=>n.logLevel=d),label:"Filter by log level","hide-details":"",variant:"outlined",density:"compact",items:n.logLevels,class:"mr-2",style:{"max-width":"150px"},"data-test":"log-messages-level"},null,8,["modelValue","items"]),e.createVNode(p),e.createVNode(r,{modelValue:n.search,"onUpdate:modelValue":t[1]||(t[1]=d=>n.search=d),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",style:{"max-width":"300px"},class:"search","data-test":"search-log-messages"},null,8,["modelValue"]),e.createVNode(c,{icon:"mdi-delete-sweep",variant:"text",class:"ml-2","data-test":"clear-log",onClick:a.clearLog},null,8,["onClick"])]),_:1}),e.createVNode(f,{headers:n.headers,items:n.shownData,search:n.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact",sticky:"",hover:"","data-test":"log-messages"},{"item.timestamp":e.withCtx(({item:d})=>[e.createElementVNode("time",{title:d.timestamp,datetime:d.timestamp},e.toDisplayString(d.timestamp),9,se)]),"item.level":e.withCtx(({item:d})=>[e.createElementVNode("span",{style:e.normalizeStyle("display: inline-flex; color:"+a.getColor(d.level))},[e.createVNode(v,{class:"mr-1",status:a.getStatus(d.level)},null,8,["status"]),e.createTextVNode(" "+e.toDisplayString(d.level),1)],4)]),"item.message":e.withCtx(({item:d})=>[e.createElementVNode("div",le,e.toDisplayString(d.message),1)]),_:1},8,["headers","items","search"])]),_:1})}const ce=w._export_sfc(ie,[["render",re],["__scopeId","data-v-081e936f"]]),de=50,me=2e3,E="single-spa:app-change",ue={data(){return{appsMounted:!1,show:!1,hideSpinner:!1,pollInterval:null}},computed:{showSpinner:function(){return!this.hideSpinner&&!this.show}},created(){window.addEventListener(E,this.handleAppChange)},mounted(){this.pollForMountedApps(),setTimeout(()=>{this.appsMounted||(this.show=!0,this.pollInterval&&clearInterval(this.pollInterval))},me)},unmounted(){window.removeEventListener(E,this.handleAppChange),this.pollInterval&&clearInterval(this.pollInterval)},methods:{handleAppChange:function(o){this.show=!o.detail.appsByNewStatus.MOUNTED},pollForMountedApps:function(){this.pollInterval=setInterval(()=>{this.appsMounted=S.getMountedApps().length>0,S.getMountedApps().length>0&&(this.hideSpinner=!0,clearInterval(this.pollInterval))},de)}}},pe={class:"mx-1"},he={key:1,class:"d-flex justify-center align-center"};function fe(o,t,i,s,n,a){const c=e.resolveComponent("v-card-title"),p=e.resolveComponent("v-card-text"),m=e.resolveComponent("v-card"),r=e.resolveComponent("v-progress-circular");return e.openBlock(),e.createElementBlock(e.Fragment,null,[n.show?(e.openBlock(),e.createBlock(m,{key:0},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[...t[0]||(t[0]=[e.createTextVNode(" 404 Not Found ",-1)])]),_:1}),e.createVNode(p,{class:"d-flex align-center mt-3"},{default:e.withCtx(()=>[t[1]||(t[1]=e.createTextVNode(" The requested URL ",-1)),e.createElementVNode("code",pe,e.toDisplayString(o.$route.fullPath),1),t[2]||(t[2]=e.createTextVNode(" was not routable. ",-1)),t[3]||(t[3]=e.createElementVNode("span",{class:"text-h3 mx-1"}," 🦄 ",-1))]),_:1})]),_:1})):e.createCommentVNode("",!0),a.showSpinner?(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(r,{indeterminate:""})])):e.createCommentVNode("",!0)],64)}const ge=w._export_sfc(ue,[["render",fe]]);exports.AceEditorModes=D.AceEditorModes;exports.OutputDialog=D.OutputDialog;exports.AceEditorUtils=k.AceEditorUtils;exports.TopBar=k.TopBar;exports.EditScreenDialog=N.EditScreenDialog;exports.EnvironmentDialog=N.EnvironmentDialog;exports.FileOpenSaveDialog=N.FileOpenSaveDialog;exports.Openc3Screen=N.Openc3Screen;exports.ScreenCompleter=N.ScreenCompleter;exports.DataViewerComponent=g.DataViewerComponent;exports.DataViewerHistoryComponent=g.DataViewerHistoryComponent;exports.Graph=V.Graph;exports.GraphEditDialog=V.GraphEditDialog;exports.GraphEditItemDialog=V.GraphEditItemDialog;exports.TargetPacketItemChooser=V.TargetPacketItemChooser;exports.DetailsDialog=T.DetailsDialog;exports.CriticalCmdDialog=B.CriticalCmdDialog;exports.EnvironmentChooser=R.EnvironmentChooser;exports.ScriptChooser=R.ScriptChooser;exports.SimpleTextDialog=M.SimpleTextDialog;exports.TextBoxDialog=P.TextBoxDialog;exports.UpgradeToEnterpriseDialog=F.UpgradeToEnterpriseDialog;exports.CommandEditor=ne;exports.CommandParameterEditor=O;exports.Config=L;exports.LogMessages=ce;exports.NotFound=ge;exports.OpenConfigDialog=j;exports.SaveConfigDialog=Z;
|
|
4
4
|
//# sourceMappingURL=components.cjs.map
|