@openc3/vue-common 6.8.1 → 6.9.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-CiW5R8HE.cjs → ArrayWidget-DJkuPBFS.cjs} +2 -2
- package/dist/{ArrayWidget-CiW5R8HE.cjs.map → ArrayWidget-DJkuPBFS.cjs.map} +1 -1
- package/dist/{ArrayWidget-FGjLmPfG.js → ArrayWidget-DLfNWDzN.js} +4 -4
- package/dist/{ArrayWidget-FGjLmPfG.js.map → ArrayWidget-DLfNWDzN.js.map} +1 -1
- package/dist/{ArrayplotWidget-V5C4JRhx.cjs → ArrayplotWidget-COGxmBEP.cjs} +2 -2
- package/dist/{ArrayplotWidget-V5C4JRhx.cjs.map → ArrayplotWidget-COGxmBEP.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-Cfo18TYm.js → ArrayplotWidget-CoRsUxHG.js} +3 -3
- package/dist/{ArrayplotWidget-Cfo18TYm.js.map → ArrayplotWidget-CoRsUxHG.js.map} +1 -1
- package/dist/{BarColumn-B4naVXS_.cjs → BarColumn-BaPaYtki.cjs} +2 -2
- package/dist/{BarColumn-B4naVXS_.cjs.map → BarColumn-BaPaYtki.cjs.map} +1 -1
- package/dist/{BarColumn-BuJ6MTYG.js → BarColumn-DHP-zQ4R.js} +3 -3
- package/dist/{BarColumn-BuJ6MTYG.js.map → BarColumn-DHP-zQ4R.js.map} +1 -1
- package/dist/{BlockWidget-B_JwY8-N.js → BlockWidget-BmHSFvOq.js} +4 -4
- package/dist/{BlockWidget-B_JwY8-N.js.map → BlockWidget-BmHSFvOq.js.map} +1 -1
- package/dist/{BlockWidget-BJWENVXd.cjs → BlockWidget-DLncsLLX.cjs} +2 -2
- package/dist/{BlockWidget-BJWENVXd.cjs.map → BlockWidget-DLncsLLX.cjs.map} +1 -1
- package/dist/{ButtonWidget-C2IS6q9D.cjs → ButtonWidget-BLePbTf_.cjs} +2 -2
- package/dist/{ButtonWidget-C2IS6q9D.cjs.map → ButtonWidget-BLePbTf_.cjs.map} +1 -1
- package/dist/{ButtonWidget-Cd4M3aBD.js → ButtonWidget-C3ZWRjZZ.js} +4 -4
- package/dist/{ButtonWidget-Cd4M3aBD.js.map → ButtonWidget-C3ZWRjZZ.js.map} +1 -1
- package/dist/{CanvasWidget-BIIhyH_l.cjs → CanvasWidget-C8Sy9t9G.cjs} +2 -2
- package/dist/{CanvasWidget-BIIhyH_l.cjs.map → CanvasWidget-C8Sy9t9G.cjs.map} +1 -1
- package/dist/{CanvasWidget-CpKdOgTG.js → CanvasWidget-CL-XzPF4.js} +2 -2
- package/dist/{CanvasWidget-CpKdOgTG.js.map → CanvasWidget-CL-XzPF4.js.map} +1 -1
- package/dist/{CanvasdotWidget-BVlIdbvL.cjs → CanvasdotWidget-6MPKD5iZ.cjs} +2 -2
- package/dist/{CanvasdotWidget-BVlIdbvL.cjs.map → CanvasdotWidget-6MPKD5iZ.cjs.map} +1 -1
- package/dist/{CanvasdotWidget-zYbI5LAw.js → CanvasdotWidget-D8Y9DgVE.js} +2 -2
- package/dist/{CanvasdotWidget-zYbI5LAw.js.map → CanvasdotWidget-D8Y9DgVE.js.map} +1 -1
- package/dist/{CanvasimageWidget--ORQEPj6.js → CanvasimageWidget-DHSGK_tD.js} +3 -3
- package/dist/{CanvasimageWidget--ORQEPj6.js.map → CanvasimageWidget-DHSGK_tD.js.map} +1 -1
- package/dist/{CanvasimageWidget-SNXRh4TB.cjs → CanvasimageWidget-DYUaf3zy.cjs} +2 -2
- package/dist/{CanvasimageWidget-SNXRh4TB.cjs.map → CanvasimageWidget-DYUaf3zy.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-CtAtYHRm.js → CanvasimagevalueWidget-Btt_fQfC.js} +3 -3
- package/dist/{CanvasimagevalueWidget-CtAtYHRm.js.map → CanvasimagevalueWidget-Btt_fQfC.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-DcXjMEYO.cjs → CanvasimagevalueWidget-Bu1ECOWl.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-DcXjMEYO.cjs.map → CanvasimagevalueWidget-Bu1ECOWl.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-DWoROb6o.js → CanvaslabelWidget-BF_8RTjv.js} +2 -2
- package/dist/{CanvaslabelWidget-DWoROb6o.js.map → CanvaslabelWidget-BF_8RTjv.js.map} +1 -1
- package/dist/{CanvaslabelWidget-8MMfV594.cjs → CanvaslabelWidget-Dik-ld55.cjs} +2 -2
- package/dist/{CanvaslabelWidget-8MMfV594.cjs.map → CanvaslabelWidget-Dik-ld55.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-hDxHrErw.cjs → CanvaslabelvalueWidget-BBlKBoZO.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-hDxHrErw.cjs.map → CanvaslabelvalueWidget-BBlKBoZO.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-A4UbtwEc.js → CanvaslabelvalueWidget-scbwaujI.js} +2 -2
- package/dist/{CanvaslabelvalueWidget-A4UbtwEc.js.map → CanvaslabelvalueWidget-scbwaujI.js.map} +1 -1
- package/dist/{CanvaslineWidget-grGKrpPw.cjs → CanvaslineWidget-DN0ojc37.cjs} +2 -2
- package/dist/{CanvaslineWidget-grGKrpPw.cjs.map → CanvaslineWidget-DN0ojc37.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-BBGi0nrb.js → CanvaslineWidget-gRvm_-TT.js} +2 -2
- package/dist/{CanvaslineWidget-BBGi0nrb.js.map → CanvaslineWidget-gRvm_-TT.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-C_9OkL7f.js → CanvaslinevalueWidget-CljziRek.js} +2 -2
- package/dist/{CanvaslinevalueWidget-C_9OkL7f.js.map → CanvaslinevalueWidget-CljziRek.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-DMIWLqT-.cjs → CanvaslinevalueWidget-Cz1XYp0r.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-DMIWLqT-.cjs.map → CanvaslinevalueWidget-Cz1XYp0r.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-BMYkeGyw.cjs → CheckbuttonWidget-B5jOzhZ4.cjs} +2 -2
- package/dist/{CheckbuttonWidget-BMYkeGyw.cjs.map → CheckbuttonWidget-B5jOzhZ4.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-CTJg8Ypg.js → CheckbuttonWidget-BOabI_jE.js} +2 -2
- package/dist/{CheckbuttonWidget-CTJg8Ypg.js.map → CheckbuttonWidget-BOabI_jE.js.map} +1 -1
- package/dist/{ClassificationBanners-Dz5-_h_0.js → ClassificationBanners-BGDnMx4r.js} +2 -2
- package/dist/{ClassificationBanners-Dz5-_h_0.js.map → ClassificationBanners-BGDnMx4r.js.map} +1 -1
- package/dist/{ClassificationBanners-De_CDp9I.cjs → ClassificationBanners-CbcQDr3v.cjs} +2 -2
- package/dist/{ClassificationBanners-De_CDp9I.cjs.map → ClassificationBanners-CbcQDr3v.cjs.map} +1 -1
- package/dist/{ComboboxWidget-DWiMZZk8.js → ComboboxWidget-BLXNYFiY.js} +2 -2
- package/dist/{ComboboxWidget-DWiMZZk8.js.map → ComboboxWidget-BLXNYFiY.js.map} +1 -1
- package/dist/{ComboboxWidget-CZMUsBRC.cjs → ComboboxWidget-_lxTm8Wb.cjs} +2 -2
- package/dist/{ComboboxWidget-CZMUsBRC.cjs.map → ComboboxWidget-_lxTm8Wb.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-CD72VN-P.js → CriticalCmdDialog-CnNlsHRX.js} +2 -2
- package/dist/{CriticalCmdDialog-CD72VN-P.js.map → CriticalCmdDialog-CnNlsHRX.js.map} +1 -1
- package/dist/{CriticalCmdDialog-ByiHBnFL.cjs → CriticalCmdDialog-niBmkudw.cjs} +2 -2
- package/dist/{CriticalCmdDialog-ByiHBnFL.cjs.map → CriticalCmdDialog-niBmkudw.cjs.map} +1 -1
- package/dist/{DateWidget-C7GSh68_.js → DateWidget-BTqLCtLS.js} +2 -2
- package/dist/{DateWidget-C7GSh68_.js.map → DateWidget-BTqLCtLS.js.map} +1 -1
- package/dist/{DateWidget-CR4OfvjB.cjs → DateWidget-BvabEAhO.cjs} +2 -2
- package/dist/{DateWidget-CR4OfvjB.cjs.map → DateWidget-BvabEAhO.cjs.map} +1 -1
- package/dist/{DetailsDialog-B2l0BNc2.js → DetailsDialog-BNCS3QAe.js} +2 -2
- package/dist/{DetailsDialog-B2l0BNc2.js.map → DetailsDialog-BNCS3QAe.js.map} +1 -1
- package/dist/{DetailsDialog-CrfaoIk5.cjs → DetailsDialog-DgN9Jcio.cjs} +2 -2
- package/dist/{DetailsDialog-CrfaoIk5.cjs.map → DetailsDialog-DgN9Jcio.cjs.map} +1 -1
- package/dist/EventListDialog-B8rnN9Zi.cjs +2 -0
- package/dist/EventListDialog-B8rnN9Zi.cjs.map +1 -0
- package/dist/{EventListDialog-1NXp1MLg.js → EventListDialog-C2pwmD0d.js} +554 -389
- package/dist/EventListDialog-C2pwmD0d.js.map +1 -0
- package/dist/{FormatvalueWidget-CZJdsUAq.js → FormatvalueWidget-CLYx8qbg.js} +3 -3
- package/dist/{FormatvalueWidget-CZJdsUAq.js.map → FormatvalueWidget-CLYx8qbg.js.map} +1 -1
- package/dist/{FormatvalueWidget-zoY5Fzwr.cjs → FormatvalueWidget-ulLzg1E-.cjs} +2 -2
- package/dist/{FormatvalueWidget-zoY5Fzwr.cjs.map → FormatvalueWidget-ulLzg1E-.cjs.map} +1 -1
- package/dist/{Graph-DZBpdSgR.js → Graph-BliBYJxD.js} +486 -1050
- package/dist/Graph-BliBYJxD.js.map +1 -0
- package/dist/Graph-DxC2MPYf.cjs +2 -0
- package/dist/Graph-DxC2MPYf.cjs.map +1 -0
- package/dist/{GraphWidget-CHm4bhMI.js → GraphWidget-Cb6Ozf54.js} +2 -2
- package/dist/GraphWidget-Cb6Ozf54.js.map +1 -0
- package/dist/{GraphWidget-P-EUkwbI.cjs → GraphWidget-g-0vO4_S.cjs} +2 -2
- package/dist/GraphWidget-g-0vO4_S.cjs.map +1 -0
- package/dist/{HorizontalWidget-B2skpV1m.js → HorizontalWidget-AY2M01qP.js} +2 -2
- package/dist/{HorizontalWidget-B2skpV1m.js.map → HorizontalWidget-AY2M01qP.js.map} +1 -1
- package/dist/{HorizontalWidget-1Gd93-D7.cjs → HorizontalWidget-BiEZZpZQ.cjs} +2 -2
- package/dist/{HorizontalWidget-1Gd93-D7.cjs.map → HorizontalWidget-BiEZZpZQ.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-BI0WZP5M.js → HorizontalboxWidget-2MEKvq_C.js} +5 -5
- package/dist/{HorizontalboxWidget-BI0WZP5M.js.map → HorizontalboxWidget-2MEKvq_C.js.map} +1 -1
- package/dist/{HorizontalboxWidget-CHFz7lCJ.cjs → HorizontalboxWidget-CWq4ej6k.cjs} +2 -2
- package/dist/{HorizontalboxWidget-CHFz7lCJ.cjs.map → HorizontalboxWidget-CWq4ej6k.cjs.map} +1 -1
- package/dist/{HorizontallineWidget-AmxVeXcU.js → HorizontallineWidget-DgpOPA7q.js} +2 -2
- package/dist/{HorizontallineWidget-AmxVeXcU.js.map → HorizontallineWidget-DgpOPA7q.js.map} +1 -1
- package/dist/{HorizontallineWidget-CCuEqHsc.cjs → HorizontallineWidget-Dm5G1l4A.cjs} +2 -2
- package/dist/{HorizontallineWidget-CCuEqHsc.cjs.map → HorizontallineWidget-Dm5G1l4A.cjs.map} +1 -1
- package/dist/{IframeWidget-DG7yUYb3.cjs → IframeWidget-DDw5t7eV.cjs} +2 -2
- package/dist/IframeWidget-DDw5t7eV.cjs.map +1 -0
- package/dist/{IframeWidget-DcqRMhyW.js → IframeWidget-UKKUl7k5.js} +2 -2
- package/dist/IframeWidget-UKKUl7k5.js.map +1 -0
- package/dist/{ImageLoader-BaDVKIBu.cjs → ImageLoader-9TCd0KxL.cjs} +2 -2
- package/dist/{ImageLoader-BaDVKIBu.cjs.map → ImageLoader-9TCd0KxL.cjs.map} +1 -1
- package/dist/{ImageLoader-ly4zoGpO.js → ImageLoader-C-CIL4YD.js} +2 -2
- package/dist/{ImageLoader-ly4zoGpO.js.map → ImageLoader-C-CIL4YD.js.map} +1 -1
- package/dist/{ImageviewerWidget-cmDHcmW4.js → ImageviewerWidget-DhuQH5Io.js} +2 -2
- package/dist/{ImageviewerWidget-cmDHcmW4.js.map → ImageviewerWidget-DhuQH5Io.js.map} +1 -1
- package/dist/{ImageviewerWidget-BgMpAFvG.cjs → ImageviewerWidget-DpXzLOpF.cjs} +2 -2
- package/dist/{ImageviewerWidget-BgMpAFvG.cjs.map → ImageviewerWidget-DpXzLOpF.cjs.map} +1 -1
- package/dist/{InterfacesTab-K7odu5gi.cjs → InterfacesTab-CiVfsUia.cjs} +2 -2
- package/dist/{InterfacesTab-K7odu5gi.cjs.map → InterfacesTab-CiVfsUia.cjs.map} +1 -1
- package/dist/{InterfacesTab-BSCFzmW1.js → InterfacesTab-Dq3oAKqz.js} +3 -3
- package/dist/{InterfacesTab-BSCFzmW1.js.map → InterfacesTab-Dq3oAKqz.js.map} +1 -1
- package/dist/{LabelWidget-D6B4JzLR.cjs → LabelWidget-D-m2gFIZ.cjs} +2 -2
- package/dist/{LabelWidget-D6B4JzLR.cjs.map → LabelWidget-D-m2gFIZ.cjs.map} +1 -1
- package/dist/{LabelWidget-Bemw8Erq.js → LabelWidget-SO9zqcNN.js} +2 -2
- package/dist/{LabelWidget-Bemw8Erq.js.map → LabelWidget-SO9zqcNN.js.map} +1 -1
- package/dist/{LabelledWidget-Dg1pZiON.cjs → LabelledWidget-BFfsD2wz.cjs} +2 -2
- package/dist/{LabelledWidget-Dg1pZiON.cjs.map → LabelledWidget-BFfsD2wz.cjs.map} +1 -1
- package/dist/{LabelledWidget-Cb7EvtUG.js → LabelledWidget-DWoM5AJ5.js} +4 -4
- package/dist/{LabelledWidget-Cb7EvtUG.js.map → LabelledWidget-DWoM5AJ5.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-DrVVuiXa.cjs → LabelprogressbarWidget-B8x5YimU.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-DrVVuiXa.cjs.map → LabelprogressbarWidget-B8x5YimU.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-qYgrGqLY.js → LabelprogressbarWidget-D3vnkvQZ.js} +4 -4
- package/dist/{LabelprogressbarWidget-qYgrGqLY.js.map → LabelprogressbarWidget-D3vnkvQZ.js.map} +1 -1
- package/dist/{LabelsparklineWidget-CMklq9-f.js → LabelsparklineWidget-DO0T-Jot.js} +4 -4
- package/dist/{LabelsparklineWidget-CMklq9-f.js.map → LabelsparklineWidget-DO0T-Jot.js.map} +1 -1
- package/dist/{LabelsparklineWidget-Bht80Ncq.cjs → LabelsparklineWidget-DyPaUfc9.cjs} +2 -2
- package/dist/{LabelsparklineWidget-Bht80Ncq.cjs.map → LabelsparklineWidget-DyPaUfc9.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-NjCMgiYL.js → LabelvalueWidget-B6BbNFnk.js} +4 -4
- package/dist/{LabelvalueWidget-NjCMgiYL.js.map → LabelvalueWidget-B6BbNFnk.js.map} +1 -1
- package/dist/{LabelvalueWidget-DKx6dV8b.cjs → LabelvalueWidget-cTPG6Xqi.cjs} +2 -2
- package/dist/{LabelvalueWidget-DKx6dV8b.cjs.map → LabelvalueWidget-cTPG6Xqi.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-D8N6KdzA.cjs → LabelvaluedescWidget-C4sIZ0md.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-D8N6KdzA.cjs.map → LabelvaluedescWidget-C4sIZ0md.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-Dflulqm7.js → LabelvaluedescWidget-CxfL-H9C.js} +5 -5
- package/dist/{LabelvaluedescWidget-Dflulqm7.js.map → LabelvaluedescWidget-CxfL-H9C.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-M34NDk2S.js → LabelvaluelimitsbarWidget-BT5k9mHv.js} +4 -4
- package/dist/{LabelvaluelimitsbarWidget-M34NDk2S.js.map → LabelvaluelimitsbarWidget-BT5k9mHv.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-DbwVdsfd.cjs → LabelvaluelimitsbarWidget-CBnU6Afl.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-DbwVdsfd.cjs.map → LabelvaluelimitsbarWidget-CBnU6Afl.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-1LXrtBFT.cjs → LabelvaluelimitscolumnWidget-CwoMfO0P.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-1LXrtBFT.cjs.map → LabelvaluelimitscolumnWidget-CwoMfO0P.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-Cchaw_-k.js → LabelvaluelimitscolumnWidget-DUbmxh4p.js} +5 -5
- package/dist/{LabelvaluelimitscolumnWidget-Cchaw_-k.js.map → LabelvaluelimitscolumnWidget-DUbmxh4p.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-Ca6lJAZV.cjs → LabelvaluerangebarWidget-DB4gw6Rd.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-Ca6lJAZV.cjs.map → LabelvaluerangebarWidget-DB4gw6Rd.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-7pEykAm3.js → LabelvaluerangebarWidget-DexAc2UB.js} +4 -4
- package/dist/{LabelvaluerangebarWidget-7pEykAm3.js.map → LabelvaluerangebarWidget-DexAc2UB.js.map} +1 -1
- package/dist/{Layout-BNvQKlyy.js → Layout-Dd6dRf3R.js} +2 -2
- package/dist/{Layout-BNvQKlyy.js.map → Layout-Dd6dRf3R.js.map} +1 -1
- package/dist/Layout-DvBekli8.cjs +2 -0
- package/dist/{Layout-CXwcgFxa.cjs.map → Layout-DvBekli8.cjs.map} +1 -1
- package/dist/{LedWidget-_EA7ZKM8.js → LedWidget-D1RwHb_V.js} +4 -4
- package/dist/{LedWidget-_EA7ZKM8.js.map → LedWidget-D1RwHb_V.js.map} +1 -1
- package/dist/{LedWidget-CafSb6jG.cjs → LedWidget-a99ygZOA.cjs} +2 -2
- package/dist/{LedWidget-CafSb6jG.cjs.map → LedWidget-a99ygZOA.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-DdoQf46y.js → LimitsbarWidget-ClOmoV50.js} +2 -2
- package/dist/{LimitsbarWidget-DdoQf46y.js.map → LimitsbarWidget-ClOmoV50.js.map} +1 -1
- package/dist/{LimitsbarWidget-B4E6eQgY.cjs → LimitsbarWidget-DaHpj-rM.cjs} +2 -2
- package/dist/{LimitsbarWidget-B4E6eQgY.cjs.map → LimitsbarWidget-DaHpj-rM.cjs.map} +1 -1
- package/dist/{LimitscolorWidget-Cv0umnVo.js → LimitscolorWidget-CBUoEYKp.js} +2 -2
- package/dist/{LimitscolorWidget-Cv0umnVo.js.map → LimitscolorWidget-CBUoEYKp.js.map} +1 -1
- package/dist/{LimitscolorWidget-B-ESO_oy.cjs → LimitscolorWidget-D4nPHQlI.cjs} +2 -2
- package/dist/{LimitscolorWidget-B-ESO_oy.cjs.map → LimitscolorWidget-D4nPHQlI.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-CnCQtxim.js → LimitscolumnWidget-hsHkmY-_.js} +2 -2
- package/dist/{LimitscolumnWidget-CnCQtxim.js.map → LimitscolumnWidget-hsHkmY-_.js.map} +1 -1
- package/dist/{LimitscolumnWidget-PbEe5NP1.cjs → LimitscolumnWidget-wIx0L9hb.cjs} +2 -2
- package/dist/{LimitscolumnWidget-PbEe5NP1.cjs.map → LimitscolumnWidget-wIx0L9hb.cjs.map} +1 -1
- package/dist/{LinegraphWidget-Bto_2lSc.cjs → LinegraphWidget-BRnwhfEQ.cjs} +2 -2
- package/dist/{LinegraphWidget-Bto_2lSc.cjs.map → LinegraphWidget-BRnwhfEQ.cjs.map} +1 -1
- package/dist/{LinegraphWidget-ekyQoR7x.js → LinegraphWidget-CXrKtxOo.js} +4 -4
- package/dist/{LinegraphWidget-ekyQoR7x.js.map → LinegraphWidget-CXrKtxOo.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-bMjMlQYz.cjs → MatrixbycolumnsWidget-3jldaS14.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-bMjMlQYz.cjs.map → MatrixbycolumnsWidget-3jldaS14.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-IBUcGNF7.js → MatrixbycolumnsWidget-CsogVU9c.js} +3 -3
- package/dist/{MatrixbycolumnsWidget-IBUcGNF7.js.map → MatrixbycolumnsWidget-CsogVU9c.js.map} +1 -1
- package/dist/{MicroservicesTab-BXb4TPjR.cjs → MicroservicesTab-3pNZZ5I0.cjs} +2 -2
- package/dist/{MicroservicesTab-BXb4TPjR.cjs.map → MicroservicesTab-3pNZZ5I0.cjs.map} +1 -1
- package/dist/{MicroservicesTab-CUqp5uFH.js → MicroservicesTab-DzEvbxlM.js} +3 -3
- package/dist/{MicroservicesTab-CUqp5uFH.js.map → MicroservicesTab-DzEvbxlM.js.map} +1 -1
- package/dist/{Openc3Screen-ByRi15VK.cjs → Openc3Screen-CD3C_EUo.cjs} +2 -2
- package/dist/{Openc3Screen-ByRi15VK.cjs.map → Openc3Screen-CD3C_EUo.cjs.map} +1 -1
- package/dist/{Openc3Screen-B31-mKUZ.js → Openc3Screen-Cqm5Xtd-.js} +3 -3
- package/dist/{Openc3Screen-B31-mKUZ.js.map → Openc3Screen-Cqm5Xtd-.js.map} +1 -1
- package/dist/{OutputDialog-wBy-sg3k.js → OutputDialog-7M4L50tA.js} +2 -2
- package/dist/{OutputDialog-wBy-sg3k.js.map → OutputDialog-7M4L50tA.js.map} +1 -1
- package/dist/{OutputDialog-CXQ5-PgU.cjs → OutputDialog-CnDQxHTZ.cjs} +2 -2
- package/dist/{OutputDialog-CXQ5-PgU.cjs.map → OutputDialog-CnDQxHTZ.cjs.map} +1 -1
- package/dist/{PackagesTab-oOtpCEIX.cjs → PackagesTab-DPPXZvoV.cjs} +2 -2
- package/dist/{PackagesTab-oOtpCEIX.cjs.map → PackagesTab-DPPXZvoV.cjs.map} +1 -1
- package/dist/{PackagesTab-BSVPTVe7.js → PackagesTab-N4SD1Pxj.js} +3 -3
- package/dist/{PackagesTab-BSVPTVe7.js.map → PackagesTab-N4SD1Pxj.js.map} +1 -1
- package/dist/{PluginsTab-DShjzJVP.js → PluginsTab-C7PH2Wym.js} +4 -4
- package/dist/{PluginsTab-DShjzJVP.js.map → PluginsTab-C7PH2Wym.js.map} +1 -1
- package/dist/{PluginsTab-D2-nxcCZ.cjs → PluginsTab-xzPlEMYj.cjs} +2 -2
- package/dist/{PluginsTab-D2-nxcCZ.cjs.map → PluginsTab-xzPlEMYj.cjs.map} +1 -1
- package/dist/{ProgressbarWidget-CnveFZVh.js → ProgressbarWidget-CO6CEkxP.js} +2 -2
- package/dist/{ProgressbarWidget-CnveFZVh.js.map → ProgressbarWidget-CO6CEkxP.js.map} +1 -1
- package/dist/{ProgressbarWidget-KBhRifXc.cjs → ProgressbarWidget-CPeGR-Az.cjs} +2 -2
- package/dist/{ProgressbarWidget-KBhRifXc.cjs.map → ProgressbarWidget-CPeGR-Az.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-hWLrCb8W.js → RadiobuttonWidget-DrxUclws.js} +2 -2
- package/dist/{RadiobuttonWidget-hWLrCb8W.js.map → RadiobuttonWidget-DrxUclws.js.map} +1 -1
- package/dist/{RadiobuttonWidget-Dt1lTgs1.cjs → RadiobuttonWidget-DucgkAYD.cjs} +2 -2
- package/dist/{RadiobuttonWidget-Dt1lTgs1.cjs.map → RadiobuttonWidget-DucgkAYD.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-CT4otlQS.cjs → RadiogroupWidget-C7oVFRf3.cjs} +2 -2
- package/dist/{RadiogroupWidget-CT4otlQS.cjs.map → RadiogroupWidget-C7oVFRf3.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-DK1fphkh.js → RadiogroupWidget-DN9C38cg.js} +2 -2
- package/dist/{RadiogroupWidget-DK1fphkh.js.map → RadiogroupWidget-DN9C38cg.js.map} +1 -1
- package/dist/{RangebarWidget-vspY8CGV.js → RangebarWidget-5uQTfLMP.js} +2 -2
- package/dist/{RangebarWidget-vspY8CGV.js.map → RangebarWidget-5uQTfLMP.js.map} +1 -1
- package/dist/{RangebarWidget-DquzegM5.cjs → RangebarWidget-Da9S3KMB.cjs} +2 -2
- package/dist/{RangebarWidget-DquzegM5.cjs.map → RangebarWidget-Da9S3KMB.cjs.map} +1 -1
- package/dist/{RedisTab-DBbLlP9e.cjs → RedisTab-BFTaPNRc.cjs} +2 -2
- package/dist/{RedisTab-DBbLlP9e.cjs.map → RedisTab-BFTaPNRc.cjs.map} +1 -1
- package/dist/{RedisTab-B28s52_T.js → RedisTab-Cyrr_g9k.js} +2 -2
- package/dist/{RedisTab-B28s52_T.js.map → RedisTab-Cyrr_g9k.js.map} +1 -1
- package/dist/{RollupWidget-07pNcXQV.js → RollupWidget-B0DCULnu.js} +2 -2
- package/dist/{RollupWidget-07pNcXQV.js.map → RollupWidget-B0DCULnu.js.map} +1 -1
- package/dist/{RollupWidget-CoxNKLcv.cjs → RollupWidget-DK0eFASs.cjs} +2 -2
- package/dist/{RollupWidget-CoxNKLcv.cjs.map → RollupWidget-DK0eFASs.cjs.map} +1 -1
- package/dist/{RoutersTab-DEtxUph7.cjs → RoutersTab-B8JIxjdI.cjs} +2 -2
- package/dist/{RoutersTab-DEtxUph7.cjs.map → RoutersTab-B8JIxjdI.cjs.map} +1 -1
- package/dist/{RoutersTab-DX_r6FEQ.js → RoutersTab-BAfpG8k3.js} +3 -3
- package/dist/{RoutersTab-DX_r6FEQ.js.map → RoutersTab-BAfpG8k3.js.map} +1 -1
- package/dist/ScriptChooser-ahp4Tu3O.js +573 -0
- package/dist/ScriptChooser-ahp4Tu3O.js.map +1 -0
- package/dist/ScriptChooser-ma6P0WuM.cjs +2 -0
- package/dist/ScriptChooser-ma6P0WuM.cjs.map +1 -0
- package/dist/{ScrollwindowWidget-BcbyrYUo.js → ScrollwindowWidget-BOkZQgtf.js} +3 -3
- package/dist/{ScrollwindowWidget-BcbyrYUo.js.map → ScrollwindowWidget-BOkZQgtf.js.map} +1 -1
- package/dist/{ScrollwindowWidget-Djvcd1yX.cjs → ScrollwindowWidget-xM_R_Arq.cjs} +2 -2
- package/dist/{ScrollwindowWidget-Djvcd1yX.cjs.map → ScrollwindowWidget-xM_R_Arq.cjs.map} +1 -1
- package/dist/{SecretsTab-BNFEqrT1.js → SecretsTab-D5RxHYVp.js} +2 -2
- package/dist/{SecretsTab-BNFEqrT1.js.map → SecretsTab-D5RxHYVp.js.map} +1 -1
- package/dist/{SecretsTab-cG1U2SyL.cjs → SecretsTab-DoHYppoO.cjs} +2 -2
- package/dist/{SecretsTab-cG1U2SyL.cjs.map → SecretsTab-DoHYppoO.cjs.map} +1 -1
- package/dist/{SettingsTab-C4T8ecIZ.js → SettingsTab-CKGQEwd_.js} +137 -121
- package/dist/SettingsTab-CKGQEwd_.js.map +1 -0
- package/dist/{SettingsTab-DvUFxNoM.cjs → SettingsTab-Dvnzqzdp.cjs} +3 -3
- package/dist/SettingsTab-Dvnzqzdp.cjs.map +1 -0
- package/dist/{SignalWidget-9IqQEM4M.cjs → SignalWidget-BWKgNMdV.cjs} +2 -2
- package/dist/{SignalWidget-9IqQEM4M.cjs.map → SignalWidget-BWKgNMdV.cjs.map} +1 -1
- package/dist/{SignalWidget-BDp5sUHj.js → SignalWidget-Cis0Xkea.js} +2 -2
- package/dist/{SignalWidget-BDp5sUHj.js.map → SignalWidget-Cis0Xkea.js.map} +1 -1
- package/dist/{SimpleTextDialog-C1trfMSJ.cjs → SimpleTextDialog-BCNn5FZh.cjs} +2 -2
- package/dist/{SimpleTextDialog-C1trfMSJ.cjs.map → SimpleTextDialog-BCNn5FZh.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-LQJdcAXX.js → SimpleTextDialog-D2mEDvGY.js} +2 -2
- package/dist/{SimpleTextDialog-LQJdcAXX.js.map → SimpleTextDialog-D2mEDvGY.js.map} +1 -1
- package/dist/{SpacerWidget-DcOnQ1yI.js → SpacerWidget-CLcqC2Qk.js} +2 -2
- package/dist/{SpacerWidget-DcOnQ1yI.js.map → SpacerWidget-CLcqC2Qk.js.map} +1 -1
- package/dist/{SpacerWidget-BS_oBLMC.cjs → SpacerWidget-_daU5QnM.cjs} +2 -2
- package/dist/{SpacerWidget-BS_oBLMC.cjs.map → SpacerWidget-_daU5QnM.cjs.map} +1 -1
- package/dist/{SparklineWidget-CVglnlAm.js → SparklineWidget-CTp83eZ-.js} +4 -4
- package/dist/{SparklineWidget-CVglnlAm.js.map → SparklineWidget-CTp83eZ-.js.map} +1 -1
- package/dist/{SparklineWidget-CciCNv5R.cjs → SparklineWidget-qRnlPzJ_.cjs} +2 -2
- package/dist/{SparklineWidget-CciCNv5R.cjs.map → SparklineWidget-qRnlPzJ_.cjs.map} +1 -1
- package/dist/{TabbookWidget-hCZ5AcLk.cjs → TabbookWidget-C0Fvv-o5.cjs} +2 -2
- package/dist/{TabbookWidget-hCZ5AcLk.cjs.map → TabbookWidget-C0Fvv-o5.cjs.map} +1 -1
- package/dist/{TabbookWidget-p51Oa7Ru.js → TabbookWidget-uucd-zsX.js} +2 -2
- package/dist/{TabbookWidget-p51Oa7Ru.js.map → TabbookWidget-uucd-zsX.js.map} +1 -1
- package/dist/TargetPacketItemChooser-CAl-fNql.cjs +2 -0
- package/dist/TargetPacketItemChooser-CAl-fNql.cjs.map +1 -0
- package/dist/TargetPacketItemChooser-CXpSx-eA.js +572 -0
- package/dist/TargetPacketItemChooser-CXpSx-eA.js.map +1 -0
- package/dist/{TargetsTab-CBagO3CX.js → TargetsTab-CM4ABe5y.js} +3 -3
- package/dist/{TargetsTab-CBagO3CX.js.map → TargetsTab-CM4ABe5y.js.map} +1 -1
- package/dist/{TargetsTab-CTzQTnuk.cjs → TargetsTab-Ixql3xzm.cjs} +2 -2
- package/dist/{TargetsTab-CTzQTnuk.cjs.map → TargetsTab-Ixql3xzm.cjs.map} +1 -1
- package/dist/{TextboxWidget-DM-XX97e.js → TextboxWidget-C2n38ti5.js} +4 -4
- package/dist/{TextboxWidget-DM-XX97e.js.map → TextboxWidget-C2n38ti5.js.map} +1 -1
- package/dist/{TextboxWidget-BhtvlFuj.cjs → TextboxWidget-DrdMC0EB.cjs} +2 -2
- package/dist/{TextboxWidget-BhtvlFuj.cjs.map → TextboxWidget-DrdMC0EB.cjs.map} +1 -1
- package/dist/{TextfieldWidget-7cYHAgH8.js → TextfieldWidget--HTv9ddk.js} +2 -2
- package/dist/{TextfieldWidget-7cYHAgH8.js.map → TextfieldWidget--HTv9ddk.js.map} +1 -1
- package/dist/{TextfieldWidget-ChH9glbY.cjs → TextfieldWidget-VeOem1w3.cjs} +2 -2
- package/dist/{TextfieldWidget-ChH9glbY.cjs.map → TextfieldWidget-VeOem1w3.cjs.map} +1 -1
- package/dist/{TimeWidget-CUm-LMyL.cjs → TimeWidget-C9ltUWFh.cjs} +2 -2
- package/dist/{TimeWidget-CUm-LMyL.cjs.map → TimeWidget-C9ltUWFh.cjs.map} +1 -1
- package/dist/{TimeWidget-EvQJyu6x.js → TimeWidget-CPNVZaUM.js} +2 -2
- package/dist/{TimeWidget-EvQJyu6x.js.map → TimeWidget-CPNVZaUM.js.map} +1 -1
- package/dist/{TitleWidget-6ddfJuqd.js → TitleWidget-Cp0cb6V8.js} +2 -2
- package/dist/{TitleWidget-6ddfJuqd.js.map → TitleWidget-Cp0cb6V8.js.map} +1 -1
- package/dist/{TitleWidget-Es1lfe61.cjs → TitleWidget-IuUVZkLh.cjs} +2 -2
- package/dist/{TitleWidget-Es1lfe61.cjs.map → TitleWidget-IuUVZkLh.cjs.map} +1 -1
- package/dist/ToolsTab-Bgrj0eGr.cjs +7 -0
- package/dist/ToolsTab-Bgrj0eGr.cjs.map +1 -0
- package/dist/{ToolsTab-ClJNvp8z.js → ToolsTab-DGjyBWkp.js} +5 -5
- package/dist/ToolsTab-DGjyBWkp.js.map +1 -0
- package/dist/{TopBar-CmP-ZyVe.js → TopBar-B48yYbtR.js} +79 -65
- package/dist/{TopBar-CmP-ZyVe.js.map → TopBar-B48yYbtR.js.map} +1 -1
- package/dist/TopBar-DLz-U85G.cjs +2 -0
- package/dist/{TopBar-xyBcJsNc.cjs.map → TopBar-DLz-U85G.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-DpWUa84S.js → UpgradeToEnterpriseDialog-C2Ggr_Xd.js} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-DpWUa84S.js.map → UpgradeToEnterpriseDialog-C2Ggr_Xd.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-CViAJs_M.cjs → UpgradeToEnterpriseDialog-DtckZO3_.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-CViAJs_M.cjs.map → UpgradeToEnterpriseDialog-DtckZO3_.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-NN0zFL7Z.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B1Hzjyj0.cjs} +39 -39
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B1Hzjyj0.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BuwHe3dn.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-JEZNdnan.js} +2272 -2208
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-JEZNdnan.js.map +1 -0
- package/dist/{VWidget-3jbGZ8Dh.cjs → VWidget-Cf9MXbCl.cjs} +2 -2
- package/dist/{VWidget-3jbGZ8Dh.cjs.map → VWidget-Cf9MXbCl.cjs.map} +1 -1
- package/dist/{VWidget-P-X9ffkl.js → VWidget-DQGJRgAk.js} +3 -3
- package/dist/{VWidget-P-X9ffkl.js.map → VWidget-DQGJRgAk.js.map} +1 -1
- package/dist/{ValueWidget-DAUGuQ9f.js → ValueWidget-Bk1RFjks.js} +4 -4
- package/dist/{ValueWidget-DAUGuQ9f.js.map → ValueWidget-Bk1RFjks.js.map} +1 -1
- package/dist/{ValueWidget-D3yaN8DJ.cjs → ValueWidget-BmXm9dYt.cjs} +2 -2
- package/dist/{ValueWidget-D3yaN8DJ.cjs.map → ValueWidget-BmXm9dYt.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-DmLUXw0I.js → ValuelimitsbarWidget-C0HIBYh2.js} +4 -4
- package/dist/{ValuelimitsbarWidget-DmLUXw0I.js.map → ValuelimitsbarWidget-C0HIBYh2.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-DGwtzXt6.cjs → ValuelimitsbarWidget-PjCpjhsr.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-DGwtzXt6.cjs.map → ValuelimitsbarWidget-PjCpjhsr.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-BRYnKfQk.cjs → ValuelimitscolumnWidget-BGiDDUI_.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-BRYnKfQk.cjs.map → ValuelimitscolumnWidget-BGiDDUI_.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-DDmo8wHJ.js → ValuelimitscolumnWidget-BTT90uyX.js} +4 -4
- package/dist/{ValuelimitscolumnWidget-DDmo8wHJ.js.map → ValuelimitscolumnWidget-BTT90uyX.js.map} +1 -1
- package/dist/{ValuerangebarWidget-CbzWSWq3.js → ValuerangebarWidget-CcQw_XK9.js} +4 -4
- package/dist/{ValuerangebarWidget-CbzWSWq3.js.map → ValuerangebarWidget-CcQw_XK9.js.map} +1 -1
- package/dist/{ValuerangebarWidget-hi5jZvo8.cjs → ValuerangebarWidget-ClmX-qH_.cjs} +2 -2
- package/dist/{ValuerangebarWidget-hi5jZvo8.cjs.map → ValuerangebarWidget-ClmX-qH_.cjs.map} +1 -1
- package/dist/{VerticalWidget-CRFI8Dq6.cjs → VerticalWidget-BeDWsvP6.cjs} +2 -2
- package/dist/{VerticalWidget-CRFI8Dq6.cjs.map → VerticalWidget-BeDWsvP6.cjs.map} +1 -1
- package/dist/{VerticalWidget-BuKinn_c.js → VerticalWidget-CNtFQv3R.js} +2 -2
- package/dist/{VerticalWidget-BuKinn_c.js.map → VerticalWidget-CNtFQv3R.js.map} +1 -1
- package/dist/{VerticalboxWidget-1qp7u87Q.cjs → VerticalboxWidget-DlokKDBD.cjs} +2 -2
- package/dist/{VerticalboxWidget-1qp7u87Q.cjs.map → VerticalboxWidget-DlokKDBD.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-C0zD5h0O.js → VerticalboxWidget-Yxmz1SnU.js} +5 -5
- package/dist/{VerticalboxWidget-C0zD5h0O.js.map → VerticalboxWidget-Yxmz1SnU.js.map} +1 -1
- package/dist/{Widget-wEcPyNXg.cjs → Widget-HC1_yuQg.cjs} +2 -2
- package/dist/{Widget-wEcPyNXg.cjs.map → Widget-HC1_yuQg.cjs.map} +1 -1
- package/dist/{Widget-BIXl-Pk5.js → Widget-LsyjS7ZS.js} +2 -2
- package/dist/{Widget-BIXl-Pk5.js.map → Widget-LsyjS7ZS.js.map} +1 -1
- package/dist/addMonths-BtG7uZLJ.js.map +1 -1
- package/dist/addMonths-n1tnl3ab.cjs.map +1 -1
- package/dist/components.cjs +3 -3
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +229 -622
- package/dist/components.js.map +1 -1
- package/dist/format-B22VpiOS.cjs.map +1 -1
- package/dist/format-CVeawcIv.js.map +1 -1
- package/dist/getDefaultOptions-Batab9o8.cjs.map +1 -1
- package/dist/getDefaultOptions-BhSDk-Jo.js.map +1 -1
- package/dist/index-DS1ACWVr.js.map +1 -1
- package/dist/index-Nd4O4kac.cjs.map +1 -1
- package/dist/parse-DnkEsW-3.js.map +1 -1
- package/dist/parse-DwfgQboe.cjs.map +1 -1
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +87 -83
- package/dist/plugins.js.map +1 -1
- package/dist/purify.es-GHnZTJ9O.cjs +3 -0
- package/dist/purify.es-GHnZTJ9O.cjs.map +1 -0
- package/dist/purify.es-eYFoHPwR.js +529 -0
- package/dist/purify.es-eYFoHPwR.js.map +1 -0
- package/dist/{settings-DToCplG_.js → settings-DCxXjkio.js} +2 -2
- package/dist/{settings-DToCplG_.js.map → settings-DCxXjkio.js.map} +1 -1
- package/dist/{settings-CUg4_VNE.cjs → settings-zRw8EylV.cjs} +2 -2
- package/dist/{settings-CUg4_VNE.cjs.map → settings-zRw8EylV.cjs.map} +1 -1
- package/dist/timeFilters-BKnCM4rv.js.map +1 -1
- package/dist/timeFilters-CJFxfjqN.cjs.map +1 -1
- package/dist/tools/admin.cjs +1 -1
- package/dist/tools/admin.cjs.map +1 -1
- package/dist/tools/admin.js +12 -12
- 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 +324 -320
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/calendar.cjs +1 -1
- package/dist/tools/calendar.js +1 -1
- package/dist/tools/scriptrunner.cjs +8 -7
- package/dist/tools/scriptrunner.cjs.map +1 -1
- package/dist/tools/scriptrunner.js +1467 -1258
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +63 -63
- package/package.json +5 -2
- package/dist/EventListDialog-1NXp1MLg.js.map +0 -1
- package/dist/EventListDialog-BwSJXEhw.cjs +0 -2
- package/dist/EventListDialog-BwSJXEhw.cjs.map +0 -1
- package/dist/Graph-BuKXPKyK.cjs +0 -2
- package/dist/Graph-BuKXPKyK.cjs.map +0 -1
- package/dist/Graph-DZBpdSgR.js.map +0 -1
- package/dist/GraphWidget-CHm4bhMI.js.map +0 -1
- package/dist/GraphWidget-P-EUkwbI.cjs.map +0 -1
- package/dist/IframeWidget-DG7yUYb3.cjs.map +0 -1
- package/dist/IframeWidget-DcqRMhyW.js.map +0 -1
- package/dist/Layout-CXwcgFxa.cjs +0 -2
- package/dist/ScriptChooser-BZMnm4SX.cjs +0 -2
- package/dist/ScriptChooser-BZMnm4SX.cjs.map +0 -1
- package/dist/ScriptChooser-Ci_3uZDo.js +0 -176
- package/dist/ScriptChooser-Ci_3uZDo.js.map +0 -1
- package/dist/SettingsTab-C4T8ecIZ.js.map +0 -1
- package/dist/SettingsTab-DvUFxNoM.cjs.map +0 -1
- package/dist/ToolsTab-ClJNvp8z.js.map +0 -1
- package/dist/ToolsTab-PKUy_HaM.cjs +0 -7
- package/dist/ToolsTab-PKUy_HaM.cjs.map +0 -1
- package/dist/TopBar-xyBcJsNc.cjs +0 -2
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BuwHe3dn.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-NN0zFL7Z.cjs.map +0 -1
|
@@ -0,0 +1,573 @@
|
|
|
1
|
+
import { g as D, h as O } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-JEZNdnan.js";
|
|
2
|
+
import { T as R } from "./TargetPacketItemChooser-CXpSx-eA.js";
|
|
3
|
+
import { C as S } from "./cmdUtilities-BMsSNjt_.js";
|
|
4
|
+
import { resolveComponent as i, createElementBlock as v, openBlock as h, createBlock as y, createVNode as l, normalizeClass as U, withCtx as g, createElementVNode as f, createCommentVNode as M, createTextVNode as N, renderSlot as B, Fragment as b, renderList as E, withModifiers as $, toDisplayString as A } from "vue";
|
|
5
|
+
import { _ as C } from "./CustomIcon-h5X7369N.js";
|
|
6
|
+
import { D as F } from "./DetailsDialog-BNCS3QAe.js";
|
|
7
|
+
const j = {
|
|
8
|
+
name: "CommandParameterEditor",
|
|
9
|
+
mixins: [S],
|
|
10
|
+
props: {
|
|
11
|
+
modelValue: {
|
|
12
|
+
type: [String, Number],
|
|
13
|
+
default: void 0
|
|
14
|
+
},
|
|
15
|
+
states: {
|
|
16
|
+
type: Object,
|
|
17
|
+
default: () => null
|
|
18
|
+
},
|
|
19
|
+
statesInHex: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: !1
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
emits: ["update:modelValue"],
|
|
25
|
+
computed: {
|
|
26
|
+
textFieldValue() {
|
|
27
|
+
return this.convertToString(this.modelValue);
|
|
28
|
+
},
|
|
29
|
+
stateValue() {
|
|
30
|
+
return this.statesInHex ? "0x" + this.modelValue.toString(16) : this.modelValue;
|
|
31
|
+
},
|
|
32
|
+
selectValue() {
|
|
33
|
+
return this.modelValue === "" ? null : this.modelValue;
|
|
34
|
+
},
|
|
35
|
+
stateOptions() {
|
|
36
|
+
return this.states ? Object.keys(this.states).map((t) => ({
|
|
37
|
+
label: t,
|
|
38
|
+
...this.states[t]
|
|
39
|
+
})) : null;
|
|
40
|
+
},
|
|
41
|
+
hazardous() {
|
|
42
|
+
var t, e;
|
|
43
|
+
return ((e = (t = Object.entries(this.states).find(([s, m]) => m.value === this.modelValue)) == null ? void 0 : t.at(1)) == null ? void 0 : e.hazardous) !== void 0;
|
|
44
|
+
},
|
|
45
|
+
stateClass() {
|
|
46
|
+
return this.hazardous ? "hazardous mr-4" : "mr-4";
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
methods: {
|
|
50
|
+
handleChange(t) {
|
|
51
|
+
this.$emit("update:modelValue", t);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}, L = {
|
|
55
|
+
key: 1,
|
|
56
|
+
class: "d-flex align-center"
|
|
57
|
+
};
|
|
58
|
+
function H(t, e, s, m, a, o) {
|
|
59
|
+
const u = i("v-text-field"), c = i("v-select");
|
|
60
|
+
return h(), v("div", null, [
|
|
61
|
+
s.states ? (h(), v("div", L, [
|
|
62
|
+
l(c, {
|
|
63
|
+
items: o.stateOptions,
|
|
64
|
+
"model-value": o.selectValue,
|
|
65
|
+
"item-title": "label",
|
|
66
|
+
class: U(o.stateClass),
|
|
67
|
+
"hide-details": "",
|
|
68
|
+
density: "compact",
|
|
69
|
+
variant: "outlined",
|
|
70
|
+
placeholder: "Select...",
|
|
71
|
+
"min-width": "120px",
|
|
72
|
+
"data-test": "cmd-param-select",
|
|
73
|
+
"onUpdate:modelValue": o.handleChange
|
|
74
|
+
}, null, 8, ["items", "model-value", "class", "onUpdate:modelValue"]),
|
|
75
|
+
l(u, {
|
|
76
|
+
"model-value": o.stateValue,
|
|
77
|
+
disabled: "",
|
|
78
|
+
"hide-details": "",
|
|
79
|
+
density: "compact",
|
|
80
|
+
variant: "outlined",
|
|
81
|
+
"min-width": "60px",
|
|
82
|
+
"data-test": "cmd-param-value"
|
|
83
|
+
}, null, 8, ["model-value"])
|
|
84
|
+
])) : (h(), y(u, {
|
|
85
|
+
key: 0,
|
|
86
|
+
"model-value": o.textFieldValue,
|
|
87
|
+
"hide-details": "",
|
|
88
|
+
density: "compact",
|
|
89
|
+
variant: "filled",
|
|
90
|
+
"data-test": "cmd-param-value",
|
|
91
|
+
"onUpdate:modelValue": o.handleChange
|
|
92
|
+
}, null, 8, ["model-value", "onUpdate:modelValue"]))
|
|
93
|
+
]);
|
|
94
|
+
}
|
|
95
|
+
const q = /* @__PURE__ */ C(j, [["render", H], ["__scopeId", "data-v-b38d5e7f"]]), z = {
|
|
96
|
+
name: "CommandEditor",
|
|
97
|
+
components: {
|
|
98
|
+
TargetPacketItemChooser: R,
|
|
99
|
+
CommandParameterEditor: q,
|
|
100
|
+
DetailsDialog: F
|
|
101
|
+
},
|
|
102
|
+
mixins: [S],
|
|
103
|
+
props: {
|
|
104
|
+
initialTargetName: {
|
|
105
|
+
type: String,
|
|
106
|
+
default: null
|
|
107
|
+
},
|
|
108
|
+
initialPacketName: {
|
|
109
|
+
type: String,
|
|
110
|
+
default: null
|
|
111
|
+
},
|
|
112
|
+
cmdString: {
|
|
113
|
+
type: String,
|
|
114
|
+
default: null
|
|
115
|
+
},
|
|
116
|
+
sendDisabled: {
|
|
117
|
+
type: Boolean,
|
|
118
|
+
default: !1
|
|
119
|
+
},
|
|
120
|
+
statesInHex: {
|
|
121
|
+
type: Boolean,
|
|
122
|
+
default: !1
|
|
123
|
+
},
|
|
124
|
+
showIgnoredParams: {
|
|
125
|
+
type: Boolean,
|
|
126
|
+
default: !1
|
|
127
|
+
},
|
|
128
|
+
cmdRaw: {
|
|
129
|
+
type: Boolean,
|
|
130
|
+
default: !1
|
|
131
|
+
},
|
|
132
|
+
showCommandButton: {
|
|
133
|
+
type: Boolean,
|
|
134
|
+
default: !0
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
emits: ["command-changed", "build-cmd"],
|
|
138
|
+
data() {
|
|
139
|
+
return {
|
|
140
|
+
search: "",
|
|
141
|
+
headers: [
|
|
142
|
+
{ title: "Name", value: "parameter_name" },
|
|
143
|
+
{ title: "Value or State", value: "val" },
|
|
144
|
+
{ title: "Units", value: "units" },
|
|
145
|
+
{ title: "Range", value: "range" },
|
|
146
|
+
{ title: "Description", value: "description" }
|
|
147
|
+
],
|
|
148
|
+
api: null,
|
|
149
|
+
targetName: "",
|
|
150
|
+
commandName: "",
|
|
151
|
+
commandDescription: "",
|
|
152
|
+
ignoredParams: [],
|
|
153
|
+
computedRows: [],
|
|
154
|
+
reservedItemNames: [
|
|
155
|
+
"PACKET_TIMESECONDS",
|
|
156
|
+
"PACKET_TIMEFORMATTED",
|
|
157
|
+
"RECEIVED_TIMESECONDS",
|
|
158
|
+
"RECEIVED_TIMEFORMATTED",
|
|
159
|
+
"RECEIVED_COUNT"
|
|
160
|
+
],
|
|
161
|
+
contextMenuShown: !1,
|
|
162
|
+
viewDetails: !1,
|
|
163
|
+
parameterName: "",
|
|
164
|
+
x: 0,
|
|
165
|
+
y: 0,
|
|
166
|
+
contextMenuOptions: [
|
|
167
|
+
{
|
|
168
|
+
title: "Details",
|
|
169
|
+
action: () => {
|
|
170
|
+
this.contextMenuShown = !1, this.viewDetails = !0;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
};
|
|
175
|
+
},
|
|
176
|
+
created() {
|
|
177
|
+
this.api = new D(), this.cmdString ? this.processCmdString() : (this.targetName = this.initialTargetName, this.commandName = this.initialPacketName, this.updateCmdParams());
|
|
178
|
+
},
|
|
179
|
+
methods: {
|
|
180
|
+
commandChanged(t) {
|
|
181
|
+
(this.targetName !== t.targetName || this.commandName !== t.packetName) && (this.targetName = t.targetName, this.commandName = t.packetName, this.updateCmdParams()), this.$emit("command-changed", t);
|
|
182
|
+
},
|
|
183
|
+
buildCmd(t) {
|
|
184
|
+
this.$emit("build-cmd", t);
|
|
185
|
+
},
|
|
186
|
+
showContextMenu(t, e) {
|
|
187
|
+
t.preventDefault(), this.parameterName = e.item.parameter_name, this.contextMenuShown = !1, this.x = t.clientX, this.y = t.clientY, this.$nextTick(() => {
|
|
188
|
+
this.contextMenuShown = !0;
|
|
189
|
+
});
|
|
190
|
+
},
|
|
191
|
+
updateCmdParams() {
|
|
192
|
+
this.ignoredParams = [], this.computedRows = [], this.targetName && this.commandName && this.api.get_target(this.targetName).then(
|
|
193
|
+
(t) => (this.ignoredParams = t.ignored_parameters, this.api.get_cmd(this.targetName, this.commandName)),
|
|
194
|
+
(t) => {
|
|
195
|
+
console.error("Error getting ignored parameters:", t);
|
|
196
|
+
}
|
|
197
|
+
).then(
|
|
198
|
+
(t) => {
|
|
199
|
+
t && (t.items.forEach((e) => {
|
|
200
|
+
if (!this.reservedItemNames.includes(e.name) && (!this.ignoredParams.includes(e.name) || this.showIgnoredParams)) {
|
|
201
|
+
let s = e.default;
|
|
202
|
+
!e.states && e.data_type === "STRING" && typeof e.default == "string" && (s = `'${s}'`), e.required && (s = null), e.format_string && e.default && (s = sprintf(e.format_string, e.default));
|
|
203
|
+
let m = "N/A";
|
|
204
|
+
e.minimum != null && e.maximum != null && (e.data_type === "FLOAT" && (e.minimum < -1e6 && Number.isSafeInteger(e.minimum) && (e.minimum = e.minimum.toExponential(3)), e.maximum > 1e6 && Number.isSafeInteger(e.maximum) && (e.maximum = e.maximum.toExponential(3))), m = `${e.minimum}..${e.maximum}`), this.computedRows.push({
|
|
205
|
+
parameter_name: e.name,
|
|
206
|
+
val: s,
|
|
207
|
+
states: e.states,
|
|
208
|
+
description: e.description,
|
|
209
|
+
range: m,
|
|
210
|
+
units: e.units,
|
|
211
|
+
type: e.data_type
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
}), this.commandDescription = t.description, this.populateParametersFromParsed());
|
|
215
|
+
},
|
|
216
|
+
(t) => {
|
|
217
|
+
console.error("Error getting command parameters:", t);
|
|
218
|
+
}
|
|
219
|
+
);
|
|
220
|
+
},
|
|
221
|
+
triggerUpdateCmdParams() {
|
|
222
|
+
this.updateCmdParams();
|
|
223
|
+
},
|
|
224
|
+
getRows() {
|
|
225
|
+
return this.computedRows;
|
|
226
|
+
},
|
|
227
|
+
getCmdString() {
|
|
228
|
+
let t = `${this.targetName} ${this.commandName}`;
|
|
229
|
+
if (this.computedRows.length === 0) return t;
|
|
230
|
+
t += " with";
|
|
231
|
+
for (const e of this.computedRows) {
|
|
232
|
+
if (e.val === null)
|
|
233
|
+
throw new Error(`Required parameter ${e.parameter_name} not set`);
|
|
234
|
+
if (e.val !== null && e.val !== void 0 && e.val !== "") {
|
|
235
|
+
if (e.states) {
|
|
236
|
+
const m = Object.entries(e.states).find(
|
|
237
|
+
([, a]) => a.value === e.val
|
|
238
|
+
);
|
|
239
|
+
if (m) {
|
|
240
|
+
t += ` ${e.parameter_name} '${m[0]}',`;
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
let s = this.convertToString(e.val);
|
|
245
|
+
s.includes(" ") && !this.isArray(s) ? t += ` ${e.parameter_name} '${s}',` : t += ` ${e.parameter_name} ${s},`;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return t.slice(0, -1);
|
|
249
|
+
},
|
|
250
|
+
parseCmdString(t) {
|
|
251
|
+
const e = t.split(" ");
|
|
252
|
+
if (e.length < 2) return { target: "", command: "", params: {} };
|
|
253
|
+
if (e.length === 2)
|
|
254
|
+
return { target: e[0], command: e[1], params: {} };
|
|
255
|
+
if (e[2] !== "with") return { target: "", command: "", params: {} };
|
|
256
|
+
const s = e[0], m = e[1];
|
|
257
|
+
let a = {};
|
|
258
|
+
const o = t.split(" with ")[1];
|
|
259
|
+
let u = [], c = 0, d = "";
|
|
260
|
+
for (let n of o)
|
|
261
|
+
n === "[" ? (c++, d += n) : n === "]" ? (c--, d += n) : n === "," && c === 0 ? (u.push(d.trim()), d = "") : d += n;
|
|
262
|
+
d.trim() !== "" && u.push(d.trim());
|
|
263
|
+
for (let n of u) {
|
|
264
|
+
let p = n.indexOf(" ");
|
|
265
|
+
if (p > 0) {
|
|
266
|
+
let _ = n.substring(0, p).trim(), x = n.substring(p + 1).trim();
|
|
267
|
+
a[_] = x;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return { target: s, command: m, params: a };
|
|
271
|
+
},
|
|
272
|
+
processCmdString() {
|
|
273
|
+
const t = this.parseCmdString(this.cmdString);
|
|
274
|
+
t.target && t.command && (this.targetName = t.target, this.commandName = t.command, this.parsedParameters = t.params, this.updateCmdParams());
|
|
275
|
+
},
|
|
276
|
+
populateParametersFromParsed() {
|
|
277
|
+
!this.parsedParameters || Object.keys(this.parsedParameters).length === 0 || this.$nextTick(() => {
|
|
278
|
+
setTimeout(() => {
|
|
279
|
+
this.computedRows.forEach((t) => {
|
|
280
|
+
if (this.parsedParameters.hasOwnProperty(t.parameter_name)) {
|
|
281
|
+
const e = this.parsedParameters[t.parameter_name];
|
|
282
|
+
if (t.states && typeof e == "string") {
|
|
283
|
+
const s = Object.keys(t.states).find(
|
|
284
|
+
(m) => m === e || m.toLowerCase() === e.toLowerCase()
|
|
285
|
+
);
|
|
286
|
+
s ? t.val = t.states[s].value : t.val = e;
|
|
287
|
+
} else t.type === "STRING" && typeof e == "string" ? t.val = e.startsWith("'") || e.startsWith('"') ? e : `'${e}'` : t.val = e;
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
}, 100);
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}, K = { style: { padding: "10px" } };
|
|
295
|
+
function G(t, e, s, m, a, o) {
|
|
296
|
+
const u = i("target-packet-item-chooser"), c = i("v-spacer"), d = i("v-text-field"), n = i("v-card-title"), p = i("command-parameter-editor"), _ = i("v-data-table"), x = i("v-card"), w = i("v-list-item-title"), k = i("v-list-item"), P = i("v-list"), T = i("v-menu"), I = i("details-dialog");
|
|
297
|
+
return h(), y(x, null, {
|
|
298
|
+
default: g(() => [
|
|
299
|
+
f("div", K, [
|
|
300
|
+
l(u, {
|
|
301
|
+
"initial-target-name": a.targetName,
|
|
302
|
+
"initial-packet-name": a.commandName,
|
|
303
|
+
disabled: s.sendDisabled,
|
|
304
|
+
"button-text": s.showCommandButton ? "Send" : null,
|
|
305
|
+
mode: "cmd",
|
|
306
|
+
onOnSet: e[0] || (e[0] = (r) => o.commandChanged(r)),
|
|
307
|
+
onAddItem: e[1] || (e[1] = (r) => o.buildCmd(r))
|
|
308
|
+
}, null, 8, ["initial-target-name", "initial-packet-name", "disabled", "button-text"])
|
|
309
|
+
]),
|
|
310
|
+
a.computedRows.length !== 0 ? (h(), y(x, { key: 0 }, {
|
|
311
|
+
default: g(() => [
|
|
312
|
+
l(n, { class: "d-flex align-center justify-content-space-between" }, {
|
|
313
|
+
default: g(() => [
|
|
314
|
+
e[5] || (e[5] = N(" Parameters ", -1)),
|
|
315
|
+
l(c),
|
|
316
|
+
l(d, {
|
|
317
|
+
modelValue: a.search,
|
|
318
|
+
"onUpdate:modelValue": e[2] || (e[2] = (r) => a.search = r),
|
|
319
|
+
label: "Search",
|
|
320
|
+
"prepend-inner-icon": "mdi-magnify",
|
|
321
|
+
clearable: "",
|
|
322
|
+
variant: "outlined",
|
|
323
|
+
density: "compact",
|
|
324
|
+
"single-line": "",
|
|
325
|
+
"hide-details": "",
|
|
326
|
+
class: "search"
|
|
327
|
+
}, null, 8, ["modelValue"])
|
|
328
|
+
]),
|
|
329
|
+
_: 1
|
|
330
|
+
}),
|
|
331
|
+
l(_, {
|
|
332
|
+
headers: a.headers,
|
|
333
|
+
items: a.computedRows,
|
|
334
|
+
search: a.search,
|
|
335
|
+
"items-per-page": -1,
|
|
336
|
+
"hide-default-footer": "",
|
|
337
|
+
"multi-sort": "",
|
|
338
|
+
density: "compact",
|
|
339
|
+
"onContextmenu:row": o.showContextMenu
|
|
340
|
+
}, {
|
|
341
|
+
"item.val": g(({ item: r }) => [
|
|
342
|
+
B(t.$slots, "parameter-editor", {
|
|
343
|
+
item: r,
|
|
344
|
+
statesInHex: s.statesInHex
|
|
345
|
+
}, () => [
|
|
346
|
+
l(p, {
|
|
347
|
+
modelValue: r.val,
|
|
348
|
+
"onUpdate:modelValue": (V) => r.val = V,
|
|
349
|
+
states: r.states,
|
|
350
|
+
"states-in-hex": s.statesInHex
|
|
351
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "states", "states-in-hex"])
|
|
352
|
+
])
|
|
353
|
+
]),
|
|
354
|
+
_: 3
|
|
355
|
+
}, 8, ["headers", "items", "search", "onContextmenu:row"])
|
|
356
|
+
]),
|
|
357
|
+
_: 3
|
|
358
|
+
})) : M("", !0),
|
|
359
|
+
l(T, {
|
|
360
|
+
modelValue: a.contextMenuShown,
|
|
361
|
+
"onUpdate:modelValue": e[3] || (e[3] = (r) => a.contextMenuShown = r),
|
|
362
|
+
target: [a.x, a.y]
|
|
363
|
+
}, {
|
|
364
|
+
default: g(() => [
|
|
365
|
+
l(P, null, {
|
|
366
|
+
default: g(() => [
|
|
367
|
+
(h(!0), v(b, null, E(a.contextMenuOptions, (r, V) => (h(), y(k, {
|
|
368
|
+
key: V,
|
|
369
|
+
onClick: $(r.action, ["stop"])
|
|
370
|
+
}, {
|
|
371
|
+
default: g(() => [
|
|
372
|
+
l(w, null, {
|
|
373
|
+
default: g(() => [
|
|
374
|
+
N(A(r.title), 1)
|
|
375
|
+
]),
|
|
376
|
+
_: 2
|
|
377
|
+
}, 1024)
|
|
378
|
+
]),
|
|
379
|
+
_: 2
|
|
380
|
+
}, 1032, ["onClick"]))), 128))
|
|
381
|
+
]),
|
|
382
|
+
_: 1
|
|
383
|
+
})
|
|
384
|
+
]),
|
|
385
|
+
_: 1
|
|
386
|
+
}, 8, ["modelValue", "target"]),
|
|
387
|
+
l(I, {
|
|
388
|
+
modelValue: a.viewDetails,
|
|
389
|
+
"onUpdate:modelValue": e[4] || (e[4] = (r) => a.viewDetails = r),
|
|
390
|
+
"target-name": a.targetName,
|
|
391
|
+
"packet-name": a.commandName,
|
|
392
|
+
"item-name": a.parameterName,
|
|
393
|
+
type: "cmd"
|
|
394
|
+
}, null, 8, ["modelValue", "target-name", "packet-name", "item-name"])
|
|
395
|
+
]),
|
|
396
|
+
_: 3
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
const ie = /* @__PURE__ */ C(z, [["render", G]]), W = {
|
|
400
|
+
props: {
|
|
401
|
+
modelValue: {
|
|
402
|
+
type: Array,
|
|
403
|
+
required: !0
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
computed: {
|
|
407
|
+
selected: {
|
|
408
|
+
get() {
|
|
409
|
+
return this.modelValue;
|
|
410
|
+
},
|
|
411
|
+
set(t) {
|
|
412
|
+
this.$emit("update:modelValue", t);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
methods: {
|
|
417
|
+
addEnvVar: function() {
|
|
418
|
+
this.selected.push({
|
|
419
|
+
key: "",
|
|
420
|
+
value: ""
|
|
421
|
+
});
|
|
422
|
+
},
|
|
423
|
+
delEnvVar: function(t) {
|
|
424
|
+
this.selected.splice(t, 1);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}, X = {
|
|
428
|
+
scope: "col",
|
|
429
|
+
class: "text-right",
|
|
430
|
+
width: "52px"
|
|
431
|
+
};
|
|
432
|
+
function Y(t, e, s, m, a, o) {
|
|
433
|
+
const u = i("v-btn"), c = i("v-text-field"), d = i("v-table");
|
|
434
|
+
return h(), v("div", null, [
|
|
435
|
+
e[2] || (e[2] = f("span", null, " Add environment variables (optional)", -1)),
|
|
436
|
+
l(d, { density: "compact" }, {
|
|
437
|
+
default: g(() => [
|
|
438
|
+
f("tbody", null, [
|
|
439
|
+
f("tr", null, [
|
|
440
|
+
e[0] || (e[0] = f("th", {
|
|
441
|
+
scope: "col",
|
|
442
|
+
class: "text-left"
|
|
443
|
+
}, "Key", -1)),
|
|
444
|
+
e[1] || (e[1] = f("th", {
|
|
445
|
+
scope: "col",
|
|
446
|
+
class: "text-left"
|
|
447
|
+
}, "Value", -1)),
|
|
448
|
+
f("th", X, [
|
|
449
|
+
l(u, {
|
|
450
|
+
icon: "mdi-plus",
|
|
451
|
+
variant: "text",
|
|
452
|
+
"data-test": "new-metadata-icon",
|
|
453
|
+
onClick: o.addEnvVar
|
|
454
|
+
}, null, 8, ["onClick"])
|
|
455
|
+
])
|
|
456
|
+
]),
|
|
457
|
+
(h(!0), v(b, null, E(o.selected, (n, p) => (h(), v("tr", {
|
|
458
|
+
key: `tr-${p}`
|
|
459
|
+
}, [
|
|
460
|
+
f("td", null, [
|
|
461
|
+
l(c, {
|
|
462
|
+
modelValue: n.key,
|
|
463
|
+
"onUpdate:modelValue": (_) => n.key = _,
|
|
464
|
+
density: "compact",
|
|
465
|
+
type: "text",
|
|
466
|
+
"hide-details": "",
|
|
467
|
+
readonly: n.readonly,
|
|
468
|
+
"data-test": `key-${p}`
|
|
469
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "readonly", "data-test"])
|
|
470
|
+
]),
|
|
471
|
+
f("td", null, [
|
|
472
|
+
l(c, {
|
|
473
|
+
modelValue: n.value,
|
|
474
|
+
"onUpdate:modelValue": (_) => n.value = _,
|
|
475
|
+
density: "compact",
|
|
476
|
+
type: "text",
|
|
477
|
+
"hide-details": "",
|
|
478
|
+
readonly: n.readonly,
|
|
479
|
+
"data-test": `value-${p}`
|
|
480
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "readonly", "data-test"])
|
|
481
|
+
]),
|
|
482
|
+
f("td", null, [
|
|
483
|
+
l(u, {
|
|
484
|
+
icon: "mdi-delete",
|
|
485
|
+
variant: "text",
|
|
486
|
+
"data-test": `remove-env-icon-${p}`,
|
|
487
|
+
onClick: (_) => o.delEnvVar(p)
|
|
488
|
+
}, null, 8, ["data-test", "onClick"])
|
|
489
|
+
])
|
|
490
|
+
]))), 128))
|
|
491
|
+
])
|
|
492
|
+
]),
|
|
493
|
+
_: 1
|
|
494
|
+
})
|
|
495
|
+
]);
|
|
496
|
+
}
|
|
497
|
+
const le = /* @__PURE__ */ C(W, [["render", Y]]), J = {
|
|
498
|
+
// TODO: cache items
|
|
499
|
+
// this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was
|
|
500
|
+
// dropped in Vuetify 3
|
|
501
|
+
props: {
|
|
502
|
+
modelValue: String
|
|
503
|
+
// modelValue is the default prop when using v-model
|
|
504
|
+
},
|
|
505
|
+
data() {
|
|
506
|
+
return {
|
|
507
|
+
loading: !1,
|
|
508
|
+
search: "",
|
|
509
|
+
selected: this.modelValue,
|
|
510
|
+
scripts: [],
|
|
511
|
+
items: []
|
|
512
|
+
};
|
|
513
|
+
},
|
|
514
|
+
created() {
|
|
515
|
+
this.loading = !0, O.get("/script-api/scripts").then((t) => {
|
|
516
|
+
this.scripts = t.data.filter((e) => e.includes(".rb") || e.includes(".py")), this.items = this.scripts;
|
|
517
|
+
}).catch((t) => {
|
|
518
|
+
this.$emit("error", {
|
|
519
|
+
type: "error",
|
|
520
|
+
text: `Failed to connect to OpenC3. ${t}`,
|
|
521
|
+
error: t
|
|
522
|
+
});
|
|
523
|
+
}), this.selected = this.modelValue ? this.modelValue : null, this.loading = !1;
|
|
524
|
+
},
|
|
525
|
+
watch: {
|
|
526
|
+
selected(t, e) {
|
|
527
|
+
t !== e && (t && t.slice(-1) === "*" ? this.$emit("file", t.substring(0, t.length - 1)) : this.$emit("file", t));
|
|
528
|
+
},
|
|
529
|
+
search(t) {
|
|
530
|
+
t && t !== this.selected && this.querySelections(t);
|
|
531
|
+
}
|
|
532
|
+
},
|
|
533
|
+
methods: {
|
|
534
|
+
querySelections: function(t) {
|
|
535
|
+
this.loading = !0, setTimeout(() => {
|
|
536
|
+
this.items = this.scripts.filter((e) => (e || "").toLowerCase().indexOf((t || "").toLowerCase()) > -1), this.loading = !1;
|
|
537
|
+
}, 500);
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
};
|
|
541
|
+
function Q(t, e, s, m, a, o) {
|
|
542
|
+
const u = i("v-autocomplete"), c = i("v-row");
|
|
543
|
+
return h(), v("div", null, [
|
|
544
|
+
l(c, null, {
|
|
545
|
+
default: g(() => [
|
|
546
|
+
l(u, {
|
|
547
|
+
modelValue: a.selected,
|
|
548
|
+
"onUpdate:modelValue": e[0] || (e[0] = (d) => a.selected = d),
|
|
549
|
+
density: "compact",
|
|
550
|
+
variant: "outlined",
|
|
551
|
+
"hide-no-data": "",
|
|
552
|
+
"hide-details": "",
|
|
553
|
+
class: "mb-5",
|
|
554
|
+
label: "Select script",
|
|
555
|
+
loading: a.loading,
|
|
556
|
+
items: a.items,
|
|
557
|
+
search: a.search,
|
|
558
|
+
"onUpdate:search": e[1] || (e[1] = (d) => a.search = d),
|
|
559
|
+
"data-test": "select-script"
|
|
560
|
+
}, null, 8, ["modelValue", "loading", "items", "search"])
|
|
561
|
+
]),
|
|
562
|
+
_: 1
|
|
563
|
+
})
|
|
564
|
+
]);
|
|
565
|
+
}
|
|
566
|
+
const oe = /* @__PURE__ */ C(J, [["render", Q]]);
|
|
567
|
+
export {
|
|
568
|
+
ie as C,
|
|
569
|
+
le as E,
|
|
570
|
+
oe as S,
|
|
571
|
+
q as a
|
|
572
|
+
};
|
|
573
|
+
//# sourceMappingURL=ScriptChooser-ahp4Tu3O.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScriptChooser-ahp4Tu3O.js","sources":["../src/components/CommandParameterEditor.vue","../src/components/CommandEditor.vue","../src/components/EnvironmentChooser.vue","../src/components/ScriptChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-text-field\n v-if=\"!states\"\n :model-value=\"textFieldValue\"\n hide-details\n density=\"compact\"\n variant=\"filled\"\n data-test=\"cmd-param-value\"\n @update:model-value=\"handleChange\"\n />\n <div v-else class=\"d-flex align-center\">\n <v-select\n :items=\"stateOptions\"\n :model-value=\"selectValue\"\n item-title=\"label\"\n :class=\"stateClass\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n placeholder=\"Select...\"\n min-width=\"120px\"\n data-test=\"cmd-param-select\"\n @update:model-value=\"handleChange\"\n />\n <v-text-field\n :model-value=\"stateValue\"\n disabled\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n min-width=\"60px\"\n data-test=\"cmd-param-value\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport { CmdUtilities } from '../util'\nexport default {\n name: 'CommandParameterEditor',\n mixins: [CmdUtilities],\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined,\n },\n states: {\n type: Object,\n default: () => null,\n },\n statesInHex: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n computed: {\n textFieldValue() {\n return this.convertToString(this.modelValue)\n },\n stateValue() {\n if (this.statesInHex) {\n return '0x' + this.modelValue.toString(16)\n } else {\n return this.modelValue\n }\n },\n selectValue() {\n // this makes the placeholder prop work\n return this.modelValue === '' ? null : this.modelValue\n },\n stateOptions() {\n if (!this.states) {\n return null\n }\n return Object.keys(this.states).map((label) => {\n return {\n label,\n ...this.states[label],\n }\n })\n },\n hazardous() {\n return (\n Object.entries(this.states)\n .find(([label, state]) => state.value === this.modelValue)\n ?.at(1)?.hazardous !== undefined\n )\n },\n stateClass() {\n return this.hazardous ? 'hazardous mr-4' : 'mr-4'\n },\n },\n methods: {\n handleChange(value) {\n this.$emit('update:modelValue', value)\n },\n },\n}\n</script>\n<style scoped>\n/* This allows Value or State selection to be wider and show state names */\n.container :deep(.v-select__selections) {\n width: auto;\n}\n.v-overflow-btn {\n margin-top: 0px;\n}\n.container {\n padding: 0px;\n}\n.hazardous :deep(.v-select__selection-text) {\n color: rgb(255, 220, 0) !important;\n}\n</style>\n","<!--\n# Copyright 2025, OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <div style=\"padding: 10px\">\n <target-packet-item-chooser\n :initial-target-name=\"targetName\"\n :initial-packet-name=\"commandName\"\n :disabled=\"sendDisabled\"\n :button-text=\"showCommandButton ? 'Send' : null\"\n mode=\"cmd\"\n @on-set=\"commandChanged($event)\"\n @add-item=\"buildCmd($event)\"\n />\n </div>\n\n <v-card v-if=\"computedRows.length !== 0\">\n <v-card-title class=\"d-flex align-center justify-content-space-between\">\n Parameters\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"computedRows\"\n :search=\"search\"\n :items-per-page=\"-1\"\n hide-default-footer\n multi-sort\n density=\"compact\"\n @contextmenu:row=\"showContextMenu\"\n >\n <template #item.val=\"{ item }\">\n <slot\n name=\"parameter-editor\"\n :item=\"item\"\n :states-in-hex=\"statesInHex\"\n >\n <!-- Default parameter editor if slot not provided -->\n <command-parameter-editor\n v-model=\"item.val\"\n :states=\"item.states\"\n :states-in-hex=\"statesInHex\"\n />\n </slot>\n </template>\n </v-data-table>\n </v-card>\n\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n v-model=\"viewDetails\"\n :target-name=\"targetName\"\n :packet-name=\"commandName\"\n :item-name=\"parameterName\"\n :type=\"'cmd'\"\n />\n </v-card>\n</template>\n\n<script>\nimport 'sprintf-js'\nimport { OpenC3Api } from '@openc3/js-common/services'\nimport TargetPacketItemChooser from './TargetPacketItemChooser.vue'\nimport CommandParameterEditor from './CommandParameterEditor.vue'\nimport DetailsDialog from './DetailsDialog.vue'\nimport { CmdUtilities } from '../util'\n\nexport default {\n name: 'CommandEditor',\n components: {\n TargetPacketItemChooser,\n CommandParameterEditor,\n DetailsDialog,\n },\n mixins: [CmdUtilities],\n props: {\n initialTargetName: {\n type: String,\n default: null,\n },\n initialPacketName: {\n type: String,\n default: null,\n },\n cmdString: {\n type: String,\n default: null,\n },\n sendDisabled: {\n type: Boolean,\n default: false,\n },\n statesInHex: {\n type: Boolean,\n default: false,\n },\n showIgnoredParams: {\n type: Boolean,\n default: false,\n },\n cmdRaw: {\n type: Boolean,\n default: false,\n },\n showCommandButton: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['command-changed', 'build-cmd'],\n data() {\n return {\n search: '',\n headers: [\n { title: 'Name', value: 'parameter_name' },\n { title: 'Value or State', value: 'val' },\n { title: 'Units', value: 'units' },\n { title: 'Range', value: 'range' },\n { title: 'Description', value: 'description' },\n ],\n api: null,\n targetName: '',\n commandName: '',\n commandDescription: '',\n ignoredParams: [],\n computedRows: [],\n reservedItemNames: [\n 'PACKET_TIMESECONDS',\n 'PACKET_TIMEFORMATTED',\n 'RECEIVED_TIMESECONDS',\n 'RECEIVED_TIMEFORMATTED',\n 'RECEIVED_COUNT',\n ],\n contextMenuShown: false,\n viewDetails: false,\n parameterName: '',\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n ],\n }\n },\n created() {\n this.api = new OpenC3Api()\n if (this.cmdString) {\n this.processCmdString()\n } else {\n this.targetName = this.initialTargetName\n this.commandName = this.initialPacketName\n this.updateCmdParams()\n }\n },\n methods: {\n commandChanged(event) {\n if (\n this.targetName !== event.targetName ||\n this.commandName !== event.packetName\n ) {\n this.targetName = event.targetName\n this.commandName = event.packetName\n this.updateCmdParams()\n }\n this.$emit('command-changed', event)\n },\n buildCmd(event) {\n this.$emit('build-cmd', event)\n },\n showContextMenu(event, row) {\n event.preventDefault()\n this.parameterName = row.item.parameter_name\n this.contextMenuShown = false\n this.x = event.clientX\n this.y = event.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n updateCmdParams() {\n this.ignoredParams = []\n this.computedRows = []\n if (this.targetName && this.commandName) {\n this.api\n .get_target(this.targetName)\n .then(\n (target) => {\n this.ignoredParams = target.ignored_parameters\n return this.api.get_cmd(this.targetName, this.commandName)\n },\n (error) => {\n // eslint-disable-next-line no-console\n console.error('Error getting ignored parameters:', error)\n },\n )\n .then(\n (command) => {\n if (command) {\n command.items.forEach((parameter) => {\n if (this.reservedItemNames.includes(parameter.name)) return\n if (\n !this.ignoredParams.includes(parameter.name) ||\n this.showIgnoredParams\n ) {\n let val = parameter.default\n if (\n !parameter.states &&\n parameter.data_type === 'STRING' &&\n typeof parameter.default === 'string'\n ) {\n val = `'${val}'`\n }\n if (parameter.required) {\n val = null // Special marker for required parameters\n }\n if (parameter.format_string && parameter.default) {\n val = sprintf(parameter.format_string, parameter.default)\n }\n let range = 'N/A'\n if (\n parameter.minimum != null &&\n parameter.maximum != null\n ) {\n if (parameter.data_type === 'FLOAT') {\n if (parameter.minimum < -1e6) {\n if (Number.isSafeInteger(parameter.minimum)) {\n parameter.minimum =\n parameter.minimum.toExponential(3)\n }\n }\n if (parameter.maximum > 1e6) {\n if (Number.isSafeInteger(parameter.maximum)) {\n parameter.maximum =\n parameter.maximum.toExponential(3)\n }\n }\n }\n range = `${parameter.minimum}..${parameter.maximum}`\n }\n this.computedRows.push({\n parameter_name: parameter.name,\n val: val,\n states: parameter.states,\n description: parameter.description,\n range: range,\n units: parameter.units,\n type: parameter.data_type,\n })\n }\n })\n this.commandDescription = command.description\n\n // Populate with parsed parameters if available\n this.populateParametersFromParsed()\n }\n },\n (error) => {\n // eslint-disable-next-line no-console\n console.error('Error getting command parameters:', error)\n },\n )\n }\n },\n triggerUpdateCmdParams() {\n this.updateCmdParams()\n },\n getRows() {\n return this.computedRows\n },\n getCmdString() {\n let cmd = `${this.targetName} ${this.commandName}`\n if (this.computedRows.length === 0) return cmd\n cmd += ' with'\n for (const row of this.computedRows) {\n // null value indicates required parameter not set, see updateCmdParams\n if (row.val === null) {\n throw new Error(`Required parameter ${row.parameter_name} not set`)\n }\n if (row.val !== null && row.val !== undefined && row.val !== '') {\n if (row.states) {\n // If states exist, find the state name for the value\n const stateEntry = Object.entries(row.states).find(\n ([, state]) => state.value === row.val,\n )\n if (stateEntry) {\n // Although not always necessary, always quote states\n cmd += ` ${row.parameter_name} '${stateEntry[0]}',`\n continue\n }\n }\n // We only put the param value in quotes if it is a string with spaces\n // Check for array syntax because we do NOT quote arrays\n let value = this.convertToString(row.val)\n if (value.includes(' ') && !this.isArray(value)) {\n cmd += ` ${row.parameter_name} '${value}',`\n } else {\n cmd += ` ${row.parameter_name} ${value},`\n }\n }\n }\n // Remove trailing comma\n return cmd.slice(0, -1)\n },\n parseCmdString(cmdString) {\n // Parse commands in format: \"TARGET COMMAND with PARAM1 value1, PARAM2 value2\"\n const parts = cmdString.split(' ')\n if (parts.length < 2) return { target: '', command: '', params: {} }\n if (parts.length === 2) {\n return { target: parts[0], command: parts[1], params: {} }\n }\n // Check for a malformed command string that doesn't have 'with'\n if (parts[2] !== 'with') return { target: '', command: '', params: {} }\n\n const target = parts[0]\n const command = parts[1]\n let params = {}\n\n const paramsString = cmdString.split(' with ')[1]\n let paramPairs = []\n let bracketLevel = 0\n let current = ''\n // Parse the params char by char to handle commas inside brackets\n for (let char of paramsString) {\n if (char === '[') {\n bracketLevel++\n current += char\n } else if (char === ']') {\n bracketLevel--\n current += char\n } else if (char === ',' && bracketLevel === 0) {\n paramPairs.push(current.trim())\n current = ''\n } else {\n current += char\n }\n }\n if (current.trim() !== '') {\n paramPairs.push(current.trim())\n }\n\n for (let pair of paramPairs) {\n let firstSpace = pair.indexOf(' ')\n if (firstSpace > 0) {\n let key = pair.substring(0, firstSpace).trim()\n let value = pair.substring(firstSpace + 1).trim()\n params[key] = value\n }\n }\n return { target: target, command: command, params: params }\n },\n processCmdString() {\n const parsed = this.parseCmdString(this.cmdString)\n if (parsed.target && parsed.command) {\n this.targetName = parsed.target\n this.commandName = parsed.command\n this.parsedParameters = parsed.params\n this.updateCmdParams()\n }\n },\n populateParametersFromParsed() {\n // Populate parameters after command parameters are loaded\n if (\n !this.parsedParameters ||\n Object.keys(this.parsedParameters).length === 0\n ) {\n return\n }\n\n this.$nextTick(() => {\n // Give time for parameters to load\n setTimeout(() => {\n this.computedRows.forEach((row) => {\n if (this.parsedParameters.hasOwnProperty(row.parameter_name)) {\n const value = this.parsedParameters[row.parameter_name]\n // Set the value based on parameter type\n if (row.states && typeof value === 'string') {\n // For state parameters, try to match the state name\n const stateKey = Object.keys(row.states).find(\n (key) =>\n key === value || key.toLowerCase() === value.toLowerCase(),\n )\n if (stateKey) {\n row.val = row.states[stateKey].value\n } else {\n row.val = value\n }\n } else if (row.type === 'STRING' && typeof value === 'string') {\n // For string parameters, add quotes if not present\n row.val =\n value.startsWith(\"'\") || value.startsWith('\"')\n ? value\n : `'${value}'`\n } else {\n row.val = value\n }\n }\n })\n }, 100) // Shorter delay since we're already in the component\n })\n },\n },\n}\n</script>\n","<!--\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 2023, 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 <span> Add environment variables (optional)</span>\n <v-table density=\"compact\">\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\" width=\"52px\">\n <v-btn\n icon=\"mdi-plus\"\n variant=\"text\"\n data-test=\"new-metadata-icon\"\n @click=\"addEnvVar\"\n />\n </th>\n </tr>\n <tr v-for=\"(env, i) in selected\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"env.key\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"env.value\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n :data-test=\"`remove-env-icon-${i}`\"\n @click=\"delEnvVar(i)\"\n />\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n computed: {\n selected: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n addEnvVar: function () {\n this.selected.push({\n key: '',\n value: '',\n })\n },\n delEnvVar: function (index) {\n this.selected.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row>\n <v-autocomplete\n v-model=\"selected\"\n density=\"compact\"\n variant=\"outlined\"\n hide-no-data\n hide-details\n class=\"mb-5\"\n label=\"Select script\"\n :loading=\"loading\"\n :items=\"items\"\n v-model:search=\"search\"\n data-test=\"select-script\"\n />\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n // TODO: cache items\n // this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was\n // dropped in Vuetify 3\n props: {\n modelValue: String, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n loading: false,\n search: '',\n selected: this.modelValue,\n scripts: [],\n items: [],\n }\n },\n created() {\n this.loading = true\n Api.get('/script-api/scripts')\n .then((response) => {\n this.scripts = response.data.filter((filename) => {\n return filename.includes('.rb') || filename.includes('.py')\n })\n this.items = this.scripts\n })\n .catch((error) => {\n this.$emit('error', {\n type: 'error',\n text: `Failed to connect to OpenC3. ${error}`,\n error: error,\n })\n })\n this.selected = this.modelValue ? this.modelValue : null\n this.loading = false\n },\n watch: {\n selected(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal && newVal.slice(-1) === '*') {\n // Remove the * before returning\n this.$emit('file', newVal.substring(0, newVal.length - 1))\n } else {\n this.$emit('file', newVal)\n }\n }\n },\n search(val) {\n val && val !== this.selected && this.querySelections(val)\n },\n },\n methods: {\n querySelections: function (v) {\n this.loading = true\n // Simulated ajax query\n setTimeout(() => {\n this.items = this.scripts.filter((e) => {\n return (e || '').toLowerCase().indexOf((v || '').toLowerCase()) > -1\n })\n this.loading = false\n }, 500)\n },\n },\n}\n</script>\n"],"names":["_sfc_main","CmdUtilities","label","_b","_a","state","value","_createElementBlock","$props","_openBlock","_hoisted_1","_createVNode","_component_v_select","$options","_component_v_text_field","_createBlock","TargetPacketItemChooser","CommandParameterEditor","DetailsDialog","OpenC3Api","event","row","target","error","command","parameter","val","range","cmd","stateEntry","cmdString","parts","params","paramsString","paramPairs","bracketLevel","current","char","pair","firstSpace","key","parsed","stateKey","_component_v_card","_createElementVNode","_component_target_packet_item_chooser","$data","_cache","$event","_component_v_card_title","_component_v_spacer","_component_v_data_table","_withCtx","item","_renderSlot","_ctx","_component_command_parameter_editor","_component_v_menu","_component_v_list","_Fragment","_renderList","index","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog","_component_v_table","_component_v_btn","env","i","Api","response","filename","newVal","oldVal","v","_component_v_row","_component_v_autocomplete"],"mappings":"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"}
|