@openc3/vue-common 6.9.0 → 6.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArrayWidget-DJkuPBFS.cjs → ArrayWidget-Barb7cCJ.cjs} +2 -2
- package/dist/{ArrayWidget-DJkuPBFS.cjs.map → ArrayWidget-Barb7cCJ.cjs.map} +1 -1
- package/dist/{ArrayWidget-DLfNWDzN.js → ArrayWidget-DUTccTH3.js} +5 -5
- package/dist/{ArrayWidget-DLfNWDzN.js.map → ArrayWidget-DUTccTH3.js.map} +1 -1
- package/dist/{ArrayplotWidget-CoRsUxHG.js → ArrayplotWidget-BeNF76NM.js} +4 -4
- package/dist/{ArrayplotWidget-CoRsUxHG.js.map → ArrayplotWidget-BeNF76NM.js.map} +1 -1
- package/dist/{ArrayplotWidget-COGxmBEP.cjs → ArrayplotWidget-CQRRIpFr.cjs} +2 -2
- package/dist/{ArrayplotWidget-COGxmBEP.cjs.map → ArrayplotWidget-CQRRIpFr.cjs.map} +1 -1
- package/dist/{BarColumn-DHP-zQ4R.js → BarColumn-Dn6MDJoo.js} +3 -3
- package/dist/{BarColumn-DHP-zQ4R.js.map → BarColumn-Dn6MDJoo.js.map} +1 -1
- package/dist/{BarColumn-BaPaYtki.cjs → BarColumn-ooUZaRUq.cjs} +2 -2
- package/dist/{BarColumn-BaPaYtki.cjs.map → BarColumn-ooUZaRUq.cjs.map} +1 -1
- package/dist/{BlockWidget-DLncsLLX.cjs → BlockWidget-BDkZljH8.cjs} +2 -2
- package/dist/{BlockWidget-DLncsLLX.cjs.map → BlockWidget-BDkZljH8.cjs.map} +1 -1
- package/dist/{BlockWidget-BmHSFvOq.js → BlockWidget-BXQlPVQI.js} +5 -5
- package/dist/{BlockWidget-BmHSFvOq.js.map → BlockWidget-BXQlPVQI.js.map} +1 -1
- package/dist/{ButtonWidget-BLePbTf_.cjs → ButtonWidget-5ybX-zVD.cjs} +3 -3
- package/dist/{ButtonWidget-BLePbTf_.cjs.map → ButtonWidget-5ybX-zVD.cjs.map} +1 -1
- package/dist/{ButtonWidget-C3ZWRjZZ.js → ButtonWidget-D8ncnhlr.js} +11 -11
- package/dist/{ButtonWidget-C3ZWRjZZ.js.map → ButtonWidget-D8ncnhlr.js.map} +1 -1
- package/dist/{CanvasWidget-C8Sy9t9G.cjs → CanvasWidget-D4ZHOTxU.cjs} +2 -2
- package/dist/{CanvasWidget-C8Sy9t9G.cjs.map → CanvasWidget-D4ZHOTxU.cjs.map} +1 -1
- package/dist/{CanvasWidget-CL-XzPF4.js → CanvasWidget-IkZPgKME.js} +3 -3
- package/dist/{CanvasWidget-CL-XzPF4.js.map → CanvasWidget-IkZPgKME.js.map} +1 -1
- package/dist/{CanvasdotWidget-6MPKD5iZ.cjs → CanvasdotWidget-C_M5yCv9.cjs} +2 -2
- package/dist/{CanvasdotWidget-6MPKD5iZ.cjs.map → CanvasdotWidget-C_M5yCv9.cjs.map} +1 -1
- package/dist/{CanvasdotWidget-D8Y9DgVE.js → CanvasdotWidget-Ceu6X0ma.js} +3 -3
- package/dist/{CanvasdotWidget-D8Y9DgVE.js.map → CanvasdotWidget-Ceu6X0ma.js.map} +1 -1
- package/dist/{CanvasimageWidget-DYUaf3zy.cjs → CanvasimageWidget-BiWHp93X.cjs} +2 -2
- package/dist/{CanvasimageWidget-DYUaf3zy.cjs.map → CanvasimageWidget-BiWHp93X.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-DHSGK_tD.js → CanvasimageWidget-Bnx5rUVW.js} +4 -4
- package/dist/{CanvasimageWidget-DHSGK_tD.js.map → CanvasimageWidget-Bnx5rUVW.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-Btt_fQfC.js → CanvasimagevalueWidget-CFO-XDML.js} +4 -4
- package/dist/{CanvasimagevalueWidget-Btt_fQfC.js.map → CanvasimagevalueWidget-CFO-XDML.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-Bu1ECOWl.cjs → CanvasimagevalueWidget-CVdY8iLq.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-Bu1ECOWl.cjs.map → CanvasimagevalueWidget-CVdY8iLq.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-BF_8RTjv.js → CanvaslabelWidget-C5wyN8dS.js} +3 -3
- package/dist/{CanvaslabelWidget-BF_8RTjv.js.map → CanvaslabelWidget-C5wyN8dS.js.map} +1 -1
- package/dist/{CanvaslabelWidget-Dik-ld55.cjs → CanvaslabelWidget-U4P4GDpI.cjs} +2 -2
- package/dist/{CanvaslabelWidget-Dik-ld55.cjs.map → CanvaslabelWidget-U4P4GDpI.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-BBlKBoZO.cjs → CanvaslabelvalueWidget-C60wTi40.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-BBlKBoZO.cjs.map → CanvaslabelvalueWidget-C60wTi40.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-scbwaujI.js → CanvaslabelvalueWidget-CXr6zhdn.js} +3 -3
- package/dist/{CanvaslabelvalueWidget-scbwaujI.js.map → CanvaslabelvalueWidget-CXr6zhdn.js.map} +1 -1
- package/dist/{CanvaslineWidget-DN0ojc37.cjs → CanvaslineWidget-CzOtvkcR.cjs} +2 -2
- package/dist/{CanvaslineWidget-DN0ojc37.cjs.map → CanvaslineWidget-CzOtvkcR.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-gRvm_-TT.js → CanvaslineWidget-DW2l3EAG.js} +3 -3
- package/dist/{CanvaslineWidget-gRvm_-TT.js.map → CanvaslineWidget-DW2l3EAG.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-Cz1XYp0r.cjs → CanvaslinevalueWidget-D20bbhm_.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-Cz1XYp0r.cjs.map → CanvaslinevalueWidget-D20bbhm_.cjs.map} +1 -1
- package/dist/{CanvaslinevalueWidget-CljziRek.js → CanvaslinevalueWidget-UJ0xa8-8.js} +3 -3
- package/dist/{CanvaslinevalueWidget-CljziRek.js.map → CanvaslinevalueWidget-UJ0xa8-8.js.map} +1 -1
- package/dist/{CheckbuttonWidget-BOabI_jE.js → CheckbuttonWidget-BF5cvQHd.js} +3 -3
- package/dist/{CheckbuttonWidget-BOabI_jE.js.map → CheckbuttonWidget-BF5cvQHd.js.map} +1 -1
- package/dist/{CheckbuttonWidget-B5jOzhZ4.cjs → CheckbuttonWidget-dStQF0Yp.cjs} +2 -2
- package/dist/{CheckbuttonWidget-B5jOzhZ4.cjs.map → CheckbuttonWidget-dStQF0Yp.cjs.map} +1 -1
- package/dist/{ClassificationBanners-BGDnMx4r.js → ClassificationBanners-CDc_06x9.js} +2 -2
- package/dist/{ClassificationBanners-BGDnMx4r.js.map → ClassificationBanners-CDc_06x9.js.map} +1 -1
- package/dist/{ClassificationBanners-CbcQDr3v.cjs → ClassificationBanners-CTChOmRf.cjs} +2 -2
- package/dist/{ClassificationBanners-CbcQDr3v.cjs.map → ClassificationBanners-CTChOmRf.cjs.map} +1 -1
- package/dist/{ComboboxWidget-_lxTm8Wb.cjs → ComboboxWidget-D4h-0V0x.cjs} +2 -2
- package/dist/{ComboboxWidget-_lxTm8Wb.cjs.map → ComboboxWidget-D4h-0V0x.cjs.map} +1 -1
- package/dist/{ComboboxWidget-BLXNYFiY.js → ComboboxWidget-Di1O9VBF.js} +3 -3
- package/dist/{ComboboxWidget-BLXNYFiY.js.map → ComboboxWidget-Di1O9VBF.js.map} +1 -1
- package/dist/{CriticalCmdDialog-CnNlsHRX.js → CriticalCmdDialog-CZHVDFjK.js} +4 -4
- package/dist/{CriticalCmdDialog-CnNlsHRX.js.map → CriticalCmdDialog-CZHVDFjK.js.map} +1 -1
- package/dist/{CriticalCmdDialog-niBmkudw.cjs → CriticalCmdDialog-EvK998xs.cjs} +2 -2
- package/dist/{CriticalCmdDialog-niBmkudw.cjs.map → CriticalCmdDialog-EvK998xs.cjs.map} +1 -1
- package/dist/{CustomIcon-h5X7369N.js → CustomIcon-DTfsnDJn.js} +6 -6
- package/dist/{CustomIcon-h5X7369N.js.map → CustomIcon-DTfsnDJn.js.map} +1 -1
- package/dist/CustomIcon-eie3rPKh.cjs +2 -0
- package/dist/{CustomIcon-Bop2mEnu.cjs.map → CustomIcon-eie3rPKh.cjs.map} +1 -1
- package/dist/{DateWidget-BvabEAhO.cjs → DateWidget-BAFINBB6.cjs} +2 -2
- package/dist/{DateWidget-BvabEAhO.cjs.map → DateWidget-BAFINBB6.cjs.map} +1 -1
- package/dist/{DateWidget-BTqLCtLS.js → DateWidget-GiUOvEZO.js} +3 -3
- package/dist/{DateWidget-BTqLCtLS.js.map → DateWidget-GiUOvEZO.js.map} +1 -1
- package/dist/{DetailsDialog-DgN9Jcio.cjs → DetailsDialog-DbRPJzDG.cjs} +2 -2
- package/dist/{DetailsDialog-DgN9Jcio.cjs.map → DetailsDialog-DbRPJzDG.cjs.map} +1 -1
- package/dist/{DetailsDialog-BNCS3QAe.js → DetailsDialog-Ji0jA6sd.js} +3 -3
- package/dist/{DetailsDialog-BNCS3QAe.js.map → DetailsDialog-Ji0jA6sd.js.map} +1 -1
- package/dist/{DynamicWidget-BWEVCUfd.cjs → DynamicWidget-BNfJRfR5.cjs} +2 -2
- package/dist/{DynamicWidget-BWEVCUfd.cjs.map → DynamicWidget-BNfJRfR5.cjs.map} +1 -1
- package/dist/{DynamicWidget-CfMtj7H8.js → DynamicWidget-DHL7pbgW.js} +2 -2
- package/dist/{DynamicWidget-CfMtj7H8.js.map → DynamicWidget-DHL7pbgW.js.map} +1 -1
- package/dist/{EventListDialog-C2pwmD0d.js → EventListDialog-BLLIQyah.js} +129 -123
- package/dist/EventListDialog-BLLIQyah.js.map +1 -0
- package/dist/EventListDialog-CEDNXaKw.cjs +2 -0
- package/dist/EventListDialog-CEDNXaKw.cjs.map +1 -0
- package/dist/{FormatvalueWidget-ulLzg1E-.cjs → FormatvalueWidget-DJkp_gM_.cjs} +2 -2
- package/dist/{FormatvalueWidget-ulLzg1E-.cjs.map → FormatvalueWidget-DJkp_gM_.cjs.map} +1 -1
- package/dist/{FormatvalueWidget-CLYx8qbg.js → FormatvalueWidget-JVEG-72b.js} +4 -4
- package/dist/{FormatvalueWidget-CLYx8qbg.js.map → FormatvalueWidget-JVEG-72b.js.map} +1 -1
- package/dist/{Graph-BliBYJxD.js → Graph-B3v4RJRC.js} +102 -95
- package/dist/Graph-B3v4RJRC.js.map +1 -0
- package/dist/Graph-BOZlkDbl.cjs +2 -0
- package/dist/Graph-BOZlkDbl.cjs.map +1 -0
- package/dist/{GraphWidget-g-0vO4_S.cjs → GraphWidget-DD7SIV2k.cjs} +2 -2
- package/dist/{GraphWidget-g-0vO4_S.cjs.map → GraphWidget-DD7SIV2k.cjs.map} +1 -1
- package/dist/{GraphWidget-Cb6Ozf54.js → GraphWidget-DGe0TweO.js} +2 -2
- package/dist/{GraphWidget-Cb6Ozf54.js.map → GraphWidget-DGe0TweO.js.map} +1 -1
- package/dist/{HorizontalWidget-AY2M01qP.js → HorizontalWidget-B_JnT2Q0.js} +3 -3
- package/dist/{HorizontalWidget-AY2M01qP.js.map → HorizontalWidget-B_JnT2Q0.js.map} +1 -1
- package/dist/{HorizontalWidget-BiEZZpZQ.cjs → HorizontalWidget-CIDUx-Qp.cjs} +2 -2
- package/dist/{HorizontalWidget-BiEZZpZQ.cjs.map → HorizontalWidget-CIDUx-Qp.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-CWq4ej6k.cjs → HorizontalboxWidget-BQYyunr-.cjs} +2 -2
- package/dist/{HorizontalboxWidget-CWq4ej6k.cjs.map → HorizontalboxWidget-BQYyunr-.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-2MEKvq_C.js → HorizontalboxWidget-D_1bF3p-.js} +6 -6
- package/dist/{HorizontalboxWidget-2MEKvq_C.js.map → HorizontalboxWidget-D_1bF3p-.js.map} +1 -1
- package/dist/{HorizontallineWidget-DgpOPA7q.js → HorizontallineWidget-Bqb82J2C.js} +3 -3
- package/dist/{HorizontallineWidget-DgpOPA7q.js.map → HorizontallineWidget-Bqb82J2C.js.map} +1 -1
- package/dist/{HorizontallineWidget-Dm5G1l4A.cjs → HorizontallineWidget-dYDzYNW1.cjs} +2 -2
- package/dist/{HorizontallineWidget-Dm5G1l4A.cjs.map → HorizontallineWidget-dYDzYNW1.cjs.map} +1 -1
- package/dist/{IframeWidget-DDw5t7eV.cjs → IframeWidget-92T3yaK4.cjs} +2 -2
- package/dist/{IframeWidget-DDw5t7eV.cjs.map → IframeWidget-92T3yaK4.cjs.map} +1 -1
- package/dist/{IframeWidget-UKKUl7k5.js → IframeWidget-BUOO2Zav.js} +3 -3
- package/dist/{IframeWidget-UKKUl7k5.js.map → IframeWidget-BUOO2Zav.js.map} +1 -1
- package/dist/{ImageLoader-C-CIL4YD.js → ImageLoader-C6RNmpHN.js} +2 -2
- package/dist/{ImageLoader-C-CIL4YD.js.map → ImageLoader-C6RNmpHN.js.map} +1 -1
- package/dist/{ImageLoader-9TCd0KxL.cjs → ImageLoader-Dq0Qs61n.cjs} +2 -2
- package/dist/{ImageLoader-9TCd0KxL.cjs.map → ImageLoader-Dq0Qs61n.cjs.map} +1 -1
- package/dist/{ImageviewerWidget-DhuQH5Io.js → ImageviewerWidget-Fd7r9VTx.js} +3 -3
- package/dist/{ImageviewerWidget-DhuQH5Io.js.map → ImageviewerWidget-Fd7r9VTx.js.map} +1 -1
- package/dist/{ImageviewerWidget-DpXzLOpF.cjs → ImageviewerWidget-Y6xx7zZX.cjs} +2 -2
- package/dist/{ImageviewerWidget-DpXzLOpF.cjs.map → ImageviewerWidget-Y6xx7zZX.cjs.map} +1 -1
- package/dist/{InterfacesTab-CiVfsUia.cjs → InterfacesTab-DgLHHNke.cjs} +2 -2
- package/dist/{InterfacesTab-CiVfsUia.cjs.map → InterfacesTab-DgLHHNke.cjs.map} +1 -1
- package/dist/{InterfacesTab-Dq3oAKqz.js → InterfacesTab-dig9pzGg.js} +10 -10
- package/dist/{InterfacesTab-Dq3oAKqz.js.map → InterfacesTab-dig9pzGg.js.map} +1 -1
- package/dist/{LabelWidget-SO9zqcNN.js → LabelWidget-BVxcrEXf.js} +3 -3
- package/dist/{LabelWidget-SO9zqcNN.js.map → LabelWidget-BVxcrEXf.js.map} +1 -1
- package/dist/{LabelWidget-D-m2gFIZ.cjs → LabelWidget-BqN6Noag.cjs} +2 -2
- package/dist/{LabelWidget-D-m2gFIZ.cjs.map → LabelWidget-BqN6Noag.cjs.map} +1 -1
- package/dist/{LabelledWidget-DWoM5AJ5.js → LabelledWidget-ZZJPwPpI.js} +5 -5
- package/dist/{LabelledWidget-DWoM5AJ5.js.map → LabelledWidget-ZZJPwPpI.js.map} +1 -1
- package/dist/{LabelledWidget-BFfsD2wz.cjs → LabelledWidget-eR2Dar84.cjs} +2 -2
- package/dist/{LabelledWidget-BFfsD2wz.cjs.map → LabelledWidget-eR2Dar84.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-D3vnkvQZ.js → LabelprogressbarWidget-C2vkWITx.js} +5 -5
- package/dist/{LabelprogressbarWidget-D3vnkvQZ.js.map → LabelprogressbarWidget-C2vkWITx.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-B8x5YimU.cjs → LabelprogressbarWidget-D-Oxgeeg.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-B8x5YimU.cjs.map → LabelprogressbarWidget-D-Oxgeeg.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-DyPaUfc9.cjs → LabelsparklineWidget-B0q6o8ro.cjs} +2 -2
- package/dist/{LabelsparklineWidget-DyPaUfc9.cjs.map → LabelsparklineWidget-B0q6o8ro.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-DO0T-Jot.js → LabelsparklineWidget-CSlvTtVj.js} +5 -5
- package/dist/{LabelsparklineWidget-DO0T-Jot.js.map → LabelsparklineWidget-CSlvTtVj.js.map} +1 -1
- package/dist/{LabelvalueWidget-B6BbNFnk.js → LabelvalueWidget-6MxCpBTc.js} +5 -5
- package/dist/{LabelvalueWidget-B6BbNFnk.js.map → LabelvalueWidget-6MxCpBTc.js.map} +1 -1
- package/dist/{LabelvalueWidget-cTPG6Xqi.cjs → LabelvalueWidget-DbCpaJBW.cjs} +2 -2
- package/dist/{LabelvalueWidget-cTPG6Xqi.cjs.map → LabelvalueWidget-DbCpaJBW.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-CxfL-H9C.js → LabelvaluedescWidget-8mNs15uI.js} +10 -10
- package/dist/{LabelvaluedescWidget-CxfL-H9C.js.map → LabelvaluedescWidget-8mNs15uI.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-C4sIZ0md.cjs → LabelvaluedescWidget-BzcfT8oZ.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-C4sIZ0md.cjs.map → LabelvaluedescWidget-BzcfT8oZ.cjs.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-CBnU6Afl.cjs → LabelvaluelimitsbarWidget-Cc7NNKOt.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-CBnU6Afl.cjs.map → LabelvaluelimitsbarWidget-Cc7NNKOt.cjs.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-BT5k9mHv.js → LabelvaluelimitsbarWidget-jeDT8JjR.js} +5 -5
- package/dist/{LabelvaluelimitsbarWidget-BT5k9mHv.js.map → LabelvaluelimitsbarWidget-jeDT8JjR.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-CwoMfO0P.cjs → LabelvaluelimitscolumnWidget-CNqHPGpL.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-CwoMfO0P.cjs.map → LabelvaluelimitscolumnWidget-CNqHPGpL.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-DUbmxh4p.js → LabelvaluelimitscolumnWidget-DfO5Yb79.js} +6 -6
- package/dist/{LabelvaluelimitscolumnWidget-DUbmxh4p.js.map → LabelvaluelimitscolumnWidget-DfO5Yb79.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-DB4gw6Rd.cjs → LabelvaluerangebarWidget-CnDgjH-G.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-DB4gw6Rd.cjs.map → LabelvaluerangebarWidget-CnDgjH-G.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-DexAc2UB.js → LabelvaluerangebarWidget-D23BEk-N.js} +5 -5
- package/dist/{LabelvaluerangebarWidget-DexAc2UB.js.map → LabelvaluerangebarWidget-D23BEk-N.js.map} +1 -1
- package/dist/Layout-Dd5e3p-K.cjs +2 -0
- package/dist/{Layout-DvBekli8.cjs.map → Layout-Dd5e3p-K.cjs.map} +1 -1
- package/dist/{Layout-Dd6dRf3R.js → Layout-DuiUWxWc.js} +2 -2
- package/dist/{Layout-Dd6dRf3R.js.map → Layout-DuiUWxWc.js.map} +1 -1
- package/dist/{LedWidget-D1RwHb_V.js → LedWidget-9IAav1IH.js} +5 -5
- package/dist/{LedWidget-D1RwHb_V.js.map → LedWidget-9IAav1IH.js.map} +1 -1
- package/dist/{LedWidget-a99ygZOA.cjs → LedWidget-CQkF1v5x.cjs} +2 -2
- package/dist/{LedWidget-a99ygZOA.cjs.map → LedWidget-CQkF1v5x.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-DaHpj-rM.cjs → LimitsbarWidget-C4jNTGa9.cjs} +2 -2
- package/dist/{LimitsbarWidget-DaHpj-rM.cjs.map → LimitsbarWidget-C4jNTGa9.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-ClOmoV50.js → LimitsbarWidget-DqaTaWO1.js} +3 -3
- package/dist/{LimitsbarWidget-ClOmoV50.js.map → LimitsbarWidget-DqaTaWO1.js.map} +1 -1
- package/dist/{LimitscolorWidget-CBUoEYKp.js → LimitscolorWidget-4g3UVzsW.js} +3 -3
- package/dist/{LimitscolorWidget-CBUoEYKp.js.map → LimitscolorWidget-4g3UVzsW.js.map} +1 -1
- package/dist/{LimitscolorWidget-D4nPHQlI.cjs → LimitscolorWidget-BjlXWw_j.cjs} +2 -2
- package/dist/{LimitscolorWidget-D4nPHQlI.cjs.map → LimitscolorWidget-BjlXWw_j.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-wIx0L9hb.cjs → LimitscolumnWidget-BLZE1Zfh.cjs} +2 -2
- package/dist/{LimitscolumnWidget-wIx0L9hb.cjs.map → LimitscolumnWidget-BLZE1Zfh.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-hsHkmY-_.js → LimitscolumnWidget-pR-tLgFG.js} +3 -3
- package/dist/{LimitscolumnWidget-hsHkmY-_.js.map → LimitscolumnWidget-pR-tLgFG.js.map} +1 -1
- package/dist/{LinegraphWidget-CXrKtxOo.js → LinegraphWidget-DMcegwyu.js} +5 -5
- package/dist/{LinegraphWidget-CXrKtxOo.js.map → LinegraphWidget-DMcegwyu.js.map} +1 -1
- package/dist/{LinegraphWidget-BRnwhfEQ.cjs → LinegraphWidget-adpA8cjD.cjs} +2 -2
- package/dist/{LinegraphWidget-BRnwhfEQ.cjs.map → LinegraphWidget-adpA8cjD.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-CsogVU9c.js → MatrixbycolumnsWidget--31rW1Mx.js} +4 -4
- package/dist/{MatrixbycolumnsWidget-CsogVU9c.js.map → MatrixbycolumnsWidget--31rW1Mx.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-3jldaS14.cjs → MatrixbycolumnsWidget-2lqTNOqb.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-3jldaS14.cjs.map → MatrixbycolumnsWidget-2lqTNOqb.cjs.map} +1 -1
- package/dist/{MicroservicesTab-3pNZZ5I0.cjs → MicroservicesTab-BDkTm3LD.cjs} +2 -2
- package/dist/{MicroservicesTab-3pNZZ5I0.cjs.map → MicroservicesTab-BDkTm3LD.cjs.map} +1 -1
- package/dist/{MicroservicesTab-DzEvbxlM.js → MicroservicesTab-DhisErku.js} +5 -5
- package/dist/{MicroservicesTab-DzEvbxlM.js.map → MicroservicesTab-DhisErku.js.map} +1 -1
- package/dist/{Openc3Screen-CD3C_EUo.cjs → Openc3Screen-B_8bygux.cjs} +5 -5
- package/dist/Openc3Screen-B_8bygux.cjs.map +1 -0
- package/dist/{Openc3Screen-Cqm5Xtd-.js → Openc3Screen-zVSKWUkb.js} +237 -232
- package/dist/Openc3Screen-zVSKWUkb.js.map +1 -0
- package/dist/{OutputDialog-7M4L50tA.js → OutputDialog-D3zlQlpE.js} +3 -3
- package/dist/{OutputDialog-7M4L50tA.js.map → OutputDialog-D3zlQlpE.js.map} +1 -1
- package/dist/{OutputDialog-CnDQxHTZ.cjs → OutputDialog-DxEYVYA3.cjs} +2 -2
- package/dist/{OutputDialog-CnDQxHTZ.cjs.map → OutputDialog-DxEYVYA3.cjs.map} +1 -1
- package/dist/{PackagesTab-N4SD1Pxj.js → PackagesTab-Bjy3y4fK.js} +4 -4
- package/dist/{PackagesTab-N4SD1Pxj.js.map → PackagesTab-Bjy3y4fK.js.map} +1 -1
- package/dist/{PackagesTab-DPPXZvoV.cjs → PackagesTab-CVytftqm.cjs} +2 -2
- package/dist/{PackagesTab-DPPXZvoV.cjs.map → PackagesTab-CVytftqm.cjs.map} +1 -1
- package/dist/PluginsTab-BvwrAskE.cjs +6 -0
- package/dist/PluginsTab-BvwrAskE.cjs.map +1 -0
- package/dist/{PluginsTab-C7PH2Wym.js → PluginsTab-Di5nXctJ.js} +375 -294
- package/dist/PluginsTab-Di5nXctJ.js.map +1 -0
- package/dist/{ProgressbarWidget-CPeGR-Az.cjs → ProgressbarWidget-COa_sGKn.cjs} +2 -2
- package/dist/{ProgressbarWidget-CPeGR-Az.cjs.map → ProgressbarWidget-COa_sGKn.cjs.map} +1 -1
- package/dist/{ProgressbarWidget-CO6CEkxP.js → ProgressbarWidget-DGAYHWEj.js} +3 -3
- package/dist/{ProgressbarWidget-CO6CEkxP.js.map → ProgressbarWidget-DGAYHWEj.js.map} +1 -1
- package/dist/{RadiobuttonWidget-DucgkAYD.cjs → RadiobuttonWidget-CQPXrm0x.cjs} +2 -2
- package/dist/{RadiobuttonWidget-DucgkAYD.cjs.map → RadiobuttonWidget-CQPXrm0x.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-DrxUclws.js → RadiobuttonWidget-Cbx15iyl.js} +3 -3
- package/dist/{RadiobuttonWidget-DrxUclws.js.map → RadiobuttonWidget-Cbx15iyl.js.map} +1 -1
- package/dist/{RadiogroupWidget-C7oVFRf3.cjs → RadiogroupWidget-C15ugChT.cjs} +2 -2
- package/dist/{RadiogroupWidget-C7oVFRf3.cjs.map → RadiogroupWidget-C15ugChT.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-DN9C38cg.js → RadiogroupWidget-DW3nTccf.js} +3 -3
- package/dist/{RadiogroupWidget-DN9C38cg.js.map → RadiogroupWidget-DW3nTccf.js.map} +1 -1
- package/dist/{RangebarWidget-Da9S3KMB.cjs → RangebarWidget-5ekc5Lyp.cjs} +2 -2
- package/dist/{RangebarWidget-Da9S3KMB.cjs.map → RangebarWidget-5ekc5Lyp.cjs.map} +1 -1
- package/dist/{RangebarWidget-5uQTfLMP.js → RangebarWidget-BZba6dPt.js} +3 -3
- package/dist/{RangebarWidget-5uQTfLMP.js.map → RangebarWidget-BZba6dPt.js.map} +1 -1
- package/dist/{RedisTab-BFTaPNRc.cjs → RedisTab-C89xySPI.cjs} +2 -2
- package/dist/{RedisTab-BFTaPNRc.cjs.map → RedisTab-C89xySPI.cjs.map} +1 -1
- package/dist/{RedisTab-Cyrr_g9k.js → RedisTab-Dnqd_dRk.js} +14 -14
- package/dist/{RedisTab-Cyrr_g9k.js.map → RedisTab-Dnqd_dRk.js.map} +1 -1
- package/dist/{RollupWidget-DK0eFASs.cjs → RollupWidget-ILwSCjGa.cjs} +2 -2
- package/dist/{RollupWidget-DK0eFASs.cjs.map → RollupWidget-ILwSCjGa.cjs.map} +1 -1
- package/dist/{RollupWidget-B0DCULnu.js → RollupWidget-Mley0KZv.js} +3 -3
- package/dist/{RollupWidget-B0DCULnu.js.map → RollupWidget-Mley0KZv.js.map} +1 -1
- package/dist/{RoutersTab-B8JIxjdI.cjs → RoutersTab-CokDnWfK.cjs} +2 -2
- package/dist/{RoutersTab-B8JIxjdI.cjs.map → RoutersTab-CokDnWfK.cjs.map} +1 -1
- package/dist/{RoutersTab-BAfpG8k3.js → RoutersTab-Dg3i3h0M.js} +7 -7
- package/dist/{RoutersTab-BAfpG8k3.js.map → RoutersTab-Dg3i3h0M.js.map} +1 -1
- package/dist/ScriptChooser-BzQcgW8g.cjs +2 -0
- package/dist/ScriptChooser-BzQcgW8g.cjs.map +1 -0
- package/dist/{ScriptChooser-ahp4Tu3O.js → ScriptChooser-DL8ct71n.js} +32 -27
- package/dist/ScriptChooser-DL8ct71n.js.map +1 -0
- package/dist/{ScrollwindowWidget-xM_R_Arq.cjs → ScrollwindowWidget-B4dv7icF.cjs} +2 -2
- package/dist/{ScrollwindowWidget-xM_R_Arq.cjs.map → ScrollwindowWidget-B4dv7icF.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-BOkZQgtf.js → ScrollwindowWidget-DvsnpEcJ.js} +4 -4
- package/dist/{ScrollwindowWidget-BOkZQgtf.js.map → ScrollwindowWidget-DvsnpEcJ.js.map} +1 -1
- package/dist/{SecretsTab-D5RxHYVp.js → SecretsTab-CIrHz_ni.js} +8 -8
- package/dist/{SecretsTab-D5RxHYVp.js.map → SecretsTab-CIrHz_ni.js.map} +1 -1
- package/dist/{SecretsTab-DoHYppoO.cjs → SecretsTab-Dudp9OiZ.cjs} +2 -2
- package/dist/{SecretsTab-DoHYppoO.cjs.map → SecretsTab-Dudp9OiZ.cjs.map} +1 -1
- package/dist/{SettingsTab-CKGQEwd_.js → SettingsTab-DztpIQm7.js} +5 -5
- package/dist/{SettingsTab-CKGQEwd_.js.map → SettingsTab-DztpIQm7.js.map} +1 -1
- package/dist/{SettingsTab-Dvnzqzdp.cjs → SettingsTab-MipB-sIq.cjs} +2 -2
- package/dist/{SettingsTab-Dvnzqzdp.cjs.map → SettingsTab-MipB-sIq.cjs.map} +1 -1
- package/dist/{SignalWidget-Cis0Xkea.js → SignalWidget-BE-MGigb.js} +3 -3
- package/dist/{SignalWidget-Cis0Xkea.js.map → SignalWidget-BE-MGigb.js.map} +1 -1
- package/dist/{SignalWidget-BWKgNMdV.cjs → SignalWidget-CQqD33Lg.cjs} +2 -2
- package/dist/{SignalWidget-BWKgNMdV.cjs.map → SignalWidget-CQqD33Lg.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-D2mEDvGY.js → SimpleTextDialog-BkUovtW9.js} +7 -7
- package/dist/SimpleTextDialog-BkUovtW9.js.map +1 -0
- package/dist/{SimpleTextDialog-BCNn5FZh.cjs → SimpleTextDialog-NSW_V3iT.cjs} +2 -2
- package/dist/SimpleTextDialog-NSW_V3iT.cjs.map +1 -0
- package/dist/{SpacerWidget-CLcqC2Qk.js → SpacerWidget-DXayYLSi.js} +3 -3
- package/dist/{SpacerWidget-CLcqC2Qk.js.map → SpacerWidget-DXayYLSi.js.map} +1 -1
- package/dist/{SpacerWidget-_daU5QnM.cjs → SpacerWidget-QlVjOsLl.cjs} +2 -2
- package/dist/{SpacerWidget-_daU5QnM.cjs.map → SpacerWidget-QlVjOsLl.cjs.map} +1 -1
- package/dist/{SparklineWidget-CTp83eZ-.js → SparklineWidget-BNYHhnFk.js} +5 -5
- package/dist/{SparklineWidget-CTp83eZ-.js.map → SparklineWidget-BNYHhnFk.js.map} +1 -1
- package/dist/{SparklineWidget-qRnlPzJ_.cjs → SparklineWidget-mi0idVbP.cjs} +2 -2
- package/dist/{SparklineWidget-qRnlPzJ_.cjs.map → SparklineWidget-mi0idVbP.cjs.map} +1 -1
- package/dist/{TabbookWidget-C0Fvv-o5.cjs → TabbookWidget-BMaDTham.cjs} +2 -2
- package/dist/{TabbookWidget-C0Fvv-o5.cjs.map → TabbookWidget-BMaDTham.cjs.map} +1 -1
- package/dist/{TabbookWidget-uucd-zsX.js → TabbookWidget-BbnCFFoI.js} +3 -3
- package/dist/{TabbookWidget-uucd-zsX.js.map → TabbookWidget-BbnCFFoI.js.map} +1 -1
- package/dist/TargetPacketItemChooser-DezS0jS3.cjs +2 -0
- package/dist/TargetPacketItemChooser-DezS0jS3.cjs.map +1 -0
- package/dist/{TargetPacketItemChooser-CXpSx-eA.js → TargetPacketItemChooser-Z0Tn5eXv.js} +110 -55
- package/dist/TargetPacketItemChooser-Z0Tn5eXv.js.map +1 -0
- package/dist/{TargetsTab-CM4ABe5y.js → TargetsTab-CDd9F7X3.js} +15 -15
- package/dist/{TargetsTab-CM4ABe5y.js.map → TargetsTab-CDd9F7X3.js.map} +1 -1
- package/dist/{TargetsTab-Ixql3xzm.cjs → TargetsTab-D32K2JiE.cjs} +2 -2
- package/dist/{TargetsTab-Ixql3xzm.cjs.map → TargetsTab-D32K2JiE.cjs.map} +1 -1
- package/dist/{TextBoxDialog-DbD8P4Xc.cjs → TextBoxDialog-DXG7H7kQ.cjs} +2 -2
- package/dist/{TextBoxDialog-DbD8P4Xc.cjs.map → TextBoxDialog-DXG7H7kQ.cjs.map} +1 -1
- package/dist/{TextBoxDialog-CdFHdj5W.js → TextBoxDialog-Xs-gitZd.js} +2 -2
- package/dist/{TextBoxDialog-CdFHdj5W.js.map → TextBoxDialog-Xs-gitZd.js.map} +1 -1
- package/dist/{TextboxWidget-C2n38ti5.js → TextboxWidget-BmANrs4B.js} +5 -5
- package/dist/{TextboxWidget-C2n38ti5.js.map → TextboxWidget-BmANrs4B.js.map} +1 -1
- package/dist/{TextboxWidget-DrdMC0EB.cjs → TextboxWidget-D1pZXnLn.cjs} +2 -2
- package/dist/{TextboxWidget-DrdMC0EB.cjs.map → TextboxWidget-D1pZXnLn.cjs.map} +1 -1
- package/dist/{TextfieldWidget-VeOem1w3.cjs → TextfieldWidget-CTIX-cUX.cjs} +2 -2
- package/dist/{TextfieldWidget-VeOem1w3.cjs.map → TextfieldWidget-CTIX-cUX.cjs.map} +1 -1
- package/dist/{TextfieldWidget--HTv9ddk.js → TextfieldWidget-SJaLN05z.js} +3 -3
- package/dist/{TextfieldWidget--HTv9ddk.js.map → TextfieldWidget-SJaLN05z.js.map} +1 -1
- package/dist/{TimeWidget-C9ltUWFh.cjs → TimeWidget-Dytou9_B.cjs} +2 -2
- package/dist/{TimeWidget-C9ltUWFh.cjs.map → TimeWidget-Dytou9_B.cjs.map} +1 -1
- package/dist/{TimeWidget-CPNVZaUM.js → TimeWidget-jB9OkZz4.js} +3 -3
- package/dist/{TimeWidget-CPNVZaUM.js.map → TimeWidget-jB9OkZz4.js.map} +1 -1
- package/dist/{TitleWidget-IuUVZkLh.cjs → TitleWidget-CjgUoNOz.cjs} +2 -2
- package/dist/{TitleWidget-IuUVZkLh.cjs.map → TitleWidget-CjgUoNOz.cjs.map} +1 -1
- package/dist/{TitleWidget-Cp0cb6V8.js → TitleWidget-mcKJD8dB.js} +3 -3
- package/dist/{TitleWidget-Cp0cb6V8.js.map → TitleWidget-mcKJD8dB.js.map} +1 -1
- package/dist/{ToolsTab-DGjyBWkp.js → ToolsTab-BbUbC7aQ.js} +4 -4
- package/dist/{ToolsTab-DGjyBWkp.js.map → ToolsTab-BbUbC7aQ.js.map} +1 -1
- package/dist/{ToolsTab-Bgrj0eGr.cjs → ToolsTab-DIjQdiL-.cjs} +3 -3
- package/dist/{ToolsTab-Bgrj0eGr.cjs.map → ToolsTab-DIjQdiL-.cjs.map} +1 -1
- package/dist/{TopBar-DLz-U85G.cjs → TopBar-Bn4u3OQj.cjs} +2 -2
- package/dist/{TopBar-DLz-U85G.cjs.map → TopBar-Bn4u3OQj.cjs.map} +1 -1
- package/dist/{TopBar-B48yYbtR.js → TopBar-LuMoAqrA.js} +3 -3
- package/dist/{TopBar-B48yYbtR.js.map → TopBar-LuMoAqrA.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-DtckZO3_.cjs → UpgradeToEnterpriseDialog-BDYrclMq.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-DtckZO3_.cjs.map → UpgradeToEnterpriseDialog-BDYrclMq.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-C2Ggr_Xd.js → UpgradeToEnterpriseDialog-XVvb43ME.js} +3 -3
- package/dist/{UpgradeToEnterpriseDialog-C2Ggr_Xd.js.map → UpgradeToEnterpriseDialog-XVvb43ME.js.map} +1 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B-k6legU.cjs +1498 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B-k6legU.cjs.map +1 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-ByJi6BSv.js +30699 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-ByJi6BSv.js.map +1 -0
- package/dist/{VWidget-Cf9MXbCl.cjs → VWidget-B22Re761.cjs} +2 -2
- package/dist/{VWidget-Cf9MXbCl.cjs.map → VWidget-B22Re761.cjs.map} +1 -1
- package/dist/{VWidget-DQGJRgAk.js → VWidget-D8c5Lci7.js} +3 -3
- package/dist/{VWidget-DQGJRgAk.js.map → VWidget-D8c5Lci7.js.map} +1 -1
- package/dist/{ValueWidget-BmXm9dYt.cjs → ValueWidget-CyN11MWT.cjs} +2 -2
- package/dist/{ValueWidget-BmXm9dYt.cjs.map → ValueWidget-CyN11MWT.cjs.map} +1 -1
- package/dist/{ValueWidget-Bk1RFjks.js → ValueWidget-SNDW9Het.js} +5 -5
- package/dist/{ValueWidget-Bk1RFjks.js.map → ValueWidget-SNDW9Het.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-PjCpjhsr.cjs → ValuelimitsbarWidget-B86GYsdL.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-PjCpjhsr.cjs.map → ValuelimitsbarWidget-B86GYsdL.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-C0HIBYh2.js → ValuelimitsbarWidget-Zw91SPeP.js} +5 -5
- package/dist/{ValuelimitsbarWidget-C0HIBYh2.js.map → ValuelimitsbarWidget-Zw91SPeP.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-BTT90uyX.js → ValuelimitscolumnWidget-B9unbzmn.js} +5 -5
- package/dist/{ValuelimitscolumnWidget-BTT90uyX.js.map → ValuelimitscolumnWidget-B9unbzmn.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-BGiDDUI_.cjs → ValuelimitscolumnWidget-DPh3TEH4.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-BGiDDUI_.cjs.map → ValuelimitscolumnWidget-DPh3TEH4.cjs.map} +1 -1
- package/dist/{ValuerangebarWidget-ClmX-qH_.cjs → ValuerangebarWidget-Dm0754rv.cjs} +2 -2
- package/dist/{ValuerangebarWidget-ClmX-qH_.cjs.map → ValuerangebarWidget-Dm0754rv.cjs.map} +1 -1
- package/dist/{ValuerangebarWidget-CcQw_XK9.js → ValuerangebarWidget-DwNzPUzz.js} +5 -5
- package/dist/{ValuerangebarWidget-CcQw_XK9.js.map → ValuerangebarWidget-DwNzPUzz.js.map} +1 -1
- package/dist/{VerticalWidget-BeDWsvP6.cjs → VerticalWidget-BAH0R-Tj.cjs} +2 -2
- package/dist/{VerticalWidget-BeDWsvP6.cjs.map → VerticalWidget-BAH0R-Tj.cjs.map} +1 -1
- package/dist/{VerticalWidget-CNtFQv3R.js → VerticalWidget-gv7hWDKU.js} +3 -3
- package/dist/{VerticalWidget-CNtFQv3R.js.map → VerticalWidget-gv7hWDKU.js.map} +1 -1
- package/dist/{VerticalboxWidget-Yxmz1SnU.js → VerticalboxWidget-CZb5ebV7.js} +6 -6
- package/dist/{VerticalboxWidget-Yxmz1SnU.js.map → VerticalboxWidget-CZb5ebV7.js.map} +1 -1
- package/dist/{VerticalboxWidget-DlokKDBD.cjs → VerticalboxWidget-F9StIQ_8.cjs} +2 -2
- package/dist/{VerticalboxWidget-DlokKDBD.cjs.map → VerticalboxWidget-F9StIQ_8.cjs.map} +1 -1
- package/dist/{Widget-LsyjS7ZS.js → Widget-DNBZcUQg.js} +2 -2
- package/dist/{Widget-LsyjS7ZS.js.map → Widget-DNBZcUQg.js.map} +1 -1
- package/dist/{Widget-HC1_yuQg.cjs → Widget-DghDRiv6.cjs} +2 -2
- package/dist/{Widget-HC1_yuQg.cjs.map → Widget-DghDRiv6.cjs.map} +1 -1
- package/dist/cmdUtilities-C5lf-N2L.js +44 -0
- package/dist/{cmdUtilities-BMsSNjt_.js.map → cmdUtilities-C5lf-N2L.js.map} +1 -1
- package/dist/cmdUtilities-DDCksp2R.cjs +2 -0
- package/dist/{cmdUtilities-ChD8v8-7.cjs.map → cmdUtilities-DDCksp2R.cjs.map} +1 -1
- package/dist/components.cjs +2 -2
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +83 -83
- package/dist/components.js.map +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{index-DS1ACWVr.js → index-BUPRVmV-.js} +144 -144
- package/dist/index-BUPRVmV-.js.map +1 -0
- package/dist/{index-Nd4O4kac.cjs → index-BWTUBIkL.cjs} +7 -7
- package/dist/index-BWTUBIkL.cjs.map +1 -0
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +87 -85
- package/dist/plugins.js.map +1 -1
- package/dist/purify.es-BuxjWxA2.js +554 -0
- package/dist/purify.es-BuxjWxA2.js.map +1 -0
- package/dist/purify.es-d7tb6jjJ.cjs +3 -0
- package/dist/purify.es-d7tb6jjJ.cjs.map +1 -0
- package/dist/{settings-DCxXjkio.js → settings-BC-CN37t.js} +2 -2
- package/dist/{settings-DCxXjkio.js.map → settings-BC-CN37t.js.map} +1 -1
- package/dist/{settings-zRw8EylV.cjs → settings-DHUu0bEd.cjs} +2 -2
- package/dist/{settings-zRw8EylV.cjs.map → settings-DHUu0bEd.cjs.map} +1 -1
- package/dist/tools/admin.cjs +5 -5
- package/dist/tools/admin.cjs.map +1 -1
- package/dist/tools/admin.js +600 -844
- package/dist/tools/admin.js.map +1 -1
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.js +6 -6
- package/dist/tools/calendar.cjs +1 -1
- package/dist/tools/calendar.js +1 -1
- package/dist/tools/scriptrunner.cjs +9 -9
- package/dist/tools/scriptrunner.cjs.map +1 -1
- package/dist/tools/scriptrunner.js +899 -881
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/util.cjs +1 -1
- package/dist/util.js +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +64 -64
- package/package.json +18 -24
- package/dist/CustomIcon-Bop2mEnu.cjs +0 -2
- package/dist/EventListDialog-B8rnN9Zi.cjs +0 -2
- package/dist/EventListDialog-B8rnN9Zi.cjs.map +0 -1
- package/dist/EventListDialog-C2pwmD0d.js.map +0 -1
- package/dist/Graph-BliBYJxD.js.map +0 -1
- package/dist/Graph-DxC2MPYf.cjs +0 -2
- package/dist/Graph-DxC2MPYf.cjs.map +0 -1
- package/dist/Layout-DvBekli8.cjs +0 -2
- package/dist/Openc3Screen-CD3C_EUo.cjs.map +0 -1
- package/dist/Openc3Screen-Cqm5Xtd-.js.map +0 -1
- package/dist/PluginsTab-C7PH2Wym.js.map +0 -1
- package/dist/PluginsTab-xzPlEMYj.cjs +0 -6
- package/dist/PluginsTab-xzPlEMYj.cjs.map +0 -1
- package/dist/ScriptChooser-ahp4Tu3O.js.map +0 -1
- package/dist/ScriptChooser-ma6P0WuM.cjs +0 -2
- package/dist/ScriptChooser-ma6P0WuM.cjs.map +0 -1
- package/dist/SimpleTextDialog-BCNn5FZh.cjs.map +0 -1
- package/dist/SimpleTextDialog-D2mEDvGY.js.map +0 -1
- package/dist/TargetPacketItemChooser-CAl-fNql.cjs +0 -2
- package/dist/TargetPacketItemChooser-CAl-fNql.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-CXpSx-eA.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B1Hzjyj0.cjs +0 -1498
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B1Hzjyj0.cjs.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-JEZNdnan.js +0 -30611
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-JEZNdnan.js.map +0 -1
- package/dist/cmdUtilities-BMsSNjt_.js +0 -46
- package/dist/cmdUtilities-ChD8v8-7.cjs +0 -2
- package/dist/index-DS1ACWVr.js.map +0 -1
- package/dist/index-Nd4O4kac.cjs.map +0 -1
- package/dist/purify.es-GHnZTJ9O.cjs +0 -3
- package/dist/purify.es-GHnZTJ9O.cjs.map +0 -1
- package/dist/purify.es-eYFoHPwR.js +0 -529
- package/dist/purify.es-eYFoHPwR.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const g=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B1Hzjyj0.cjs"),k=require("./TargetPacketItemChooser-CAl-fNql.cjs"),v=require("./cmdUtilities-ChD8v8-7.cjs"),t=require("vue"),f=require("./CustomIcon-Bop2mEnu.cjs"),w=require("./DetailsDialog-DgN9Jcio.cjs"),S={name:"CommandParameterEditor",mixins:[v.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(a=>({label:a,...this.states[a]})):null},hazardous(){var a,e;return((e=(a=Object.entries(this.states).find(([s,r])=>r.value===this.modelValue))==null?void 0:a.at(1))==null?void 0:e.hazardous)!==void 0},stateClass(){return this.hazardous?"hazardous mr-4":"mr-4"}},methods:{handleChange(a){this.$emit("update:modelValue",a)}}},b={key:1,class:"d-flex align-center"};function P(a,e,s,r,n,l){const d=t.resolveComponent("v-text-field"),c=t.resolveComponent("v-select");return t.openBlock(),t.createElementBlock("div",null,[s.states?(t.openBlock(),t.createElementBlock("div",b,[t.createVNode(c,{items:l.stateOptions,"model-value":l.selectValue,"item-title":"label",class:t.normalizeClass(l.stateClass),"hide-details":"",density:"compact",variant:"outlined",placeholder:"Select...","min-width":"120px","data-test":"cmd-param-select","onUpdate:modelValue":l.handleChange},null,8,["items","model-value","class","onUpdate:modelValue"]),t.createVNode(d,{"model-value":l.stateValue,disabled:"","hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value"},null,8,["model-value"])])):(t.openBlock(),t.createBlock(d,{key:0,"model-value":l.textFieldValue,"hide-details":"",density:"compact",variant:"filled","data-test":"cmd-param-value","onUpdate:modelValue":l.handleChange},null,8,["model-value","onUpdate:modelValue"]))])}const C=f._export_sfc(S,[["render",P],["__scopeId","data-v-b38d5e7f"]]),B={name:"CommandEditor",components:{TargetPacketItemChooser:k.TargetPacketItemChooser,CommandParameterEditor:C,DetailsDialog:w.DetailsDialog},mixins:[v.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.gi,this.cmdString?this.processCmdString():(this.targetName=this.initialTargetName,this.commandName=this.initialPacketName,this.updateCmdParams())},methods:{commandChanged(a){(this.targetName!==a.targetName||this.commandName!==a.packetName)&&(this.targetName=a.targetName,this.commandName=a.packetName,this.updateCmdParams()),this.$emit("command-changed",a)},buildCmd(a){this.$emit("build-cmd",a)},showContextMenu(a,e){a.preventDefault(),this.parameterName=e.item.parameter_name,this.contextMenuShown=!1,this.x=a.clientX,this.y=a.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})},updateCmdParams(){this.ignoredParams=[],this.computedRows=[],this.targetName&&this.commandName&&this.api.get_target(this.targetName).then(a=>(this.ignoredParams=a.ignored_parameters,this.api.get_cmd(this.targetName,this.commandName)),a=>{console.error("Error getting ignored parameters:",a)}).then(a=>{a&&(a.items.forEach(e=>{if(!this.reservedItemNames.includes(e.name)&&(!this.ignoredParams.includes(e.name)||this.showIgnoredParams)){let s=e.default;!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));let r="N/A";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))),r=`${e.minimum}..${e.maximum}`),this.computedRows.push({parameter_name:e.name,val:s,states:e.states,description:e.description,range:r,units:e.units,type:e.data_type})}}),this.commandDescription=a.description,this.populateParametersFromParsed())},a=>{console.error("Error getting command parameters:",a)})},triggerUpdateCmdParams(){this.updateCmdParams()},getRows(){return this.computedRows},getCmdString(){let a=`${this.targetName} ${this.commandName}`;if(this.computedRows.length===0)return a;a+=" with";for(const e of this.computedRows){if(e.val===null)throw new Error(`Required parameter ${e.parameter_name} not set`);if(e.val!==null&&e.val!==void 0&&e.val!==""){if(e.states){const r=Object.entries(e.states).find(([,n])=>n.value===e.val);if(r){a+=` ${e.parameter_name} '${r[0]}',`;continue}}let s=this.convertToString(e.val);s.includes(" ")&&!this.isArray(s)?a+=` ${e.parameter_name} '${s}',`:a+=` ${e.parameter_name} ${s},`}}return a.slice(0,-1)},parseCmdString(a){const e=a.split(" ");if(e.length<2)return{target:"",command:"",params:{}};if(e.length===2)return{target:e[0],command:e[1],params:{}};if(e[2]!=="with")return{target:"",command:"",params:{}};const s=e[0],r=e[1];let n={};const l=a.split(" with ")[1];let d=[],c=0,m="";for(let o of l)o==="["?(c++,m+=o):o==="]"?(c--,m+=o):o===","&&c===0?(d.push(m.trim()),m=""):m+=o;m.trim()!==""&&d.push(m.trim());for(let o of d){let u=o.indexOf(" ");if(u>0){let p=o.substring(0,u).trim(),h=o.substring(u+1).trim();n[p]=h}}return{target:s,command:r,params:n}},processCmdString(){const a=this.parseCmdString(this.cmdString);a.target&&a.command&&(this.targetName=a.target,this.commandName=a.command,this.parsedParameters=a.params,this.updateCmdParams())},populateParametersFromParsed(){!this.parsedParameters||Object.keys(this.parsedParameters).length===0||this.$nextTick(()=>{setTimeout(()=>{this.computedRows.forEach(a=>{if(this.parsedParameters.hasOwnProperty(a.parameter_name)){const e=this.parsedParameters[a.parameter_name];if(a.states&&typeof e=="string"){const s=Object.keys(a.states).find(r=>r===e||r.toLowerCase()===e.toLowerCase());s?a.val=a.states[s].value:a.val=e}else a.type==="STRING"&&typeof e=="string"?a.val=e.startsWith("'")||e.startsWith('"')?e:`'${e}'`:a.val=e}})},100)})}}},T={style:{padding:"10px"}};function I(a,e,s,r,n,l){const d=t.resolveComponent("target-packet-item-chooser"),c=t.resolveComponent("v-spacer"),m=t.resolveComponent("v-text-field"),o=t.resolveComponent("v-card-title"),u=t.resolveComponent("command-parameter-editor"),p=t.resolveComponent("v-data-table"),h=t.resolveComponent("v-card"),V=t.resolveComponent("v-list-item-title"),x=t.resolveComponent("v-list-item"),N=t.resolveComponent("v-list"),y=t.resolveComponent("v-menu"),E=t.resolveComponent("details-dialog");return t.openBlock(),t.createBlock(h,null,{default:t.withCtx(()=>[t.createElementVNode("div",T,[t.createVNode(d,{"initial-target-name":n.targetName,"initial-packet-name":n.commandName,disabled:s.sendDisabled,"button-text":s.showCommandButton?"Send":null,mode:"cmd",onOnSet:e[0]||(e[0]=i=>l.commandChanged(i)),onAddItem:e[1]||(e[1]=i=>l.buildCmd(i))},null,8,["initial-target-name","initial-packet-name","disabled","button-text"])]),n.computedRows.length!==0?(t.openBlock(),t.createBlock(h,{key:0},{default:t.withCtx(()=>[t.createVNode(o,{class:"d-flex align-center justify-content-space-between"},{default:t.withCtx(()=>[e[5]||(e[5]=t.createTextVNode(" Parameters ",-1)),t.createVNode(c),t.createVNode(m,{modelValue:n.search,"onUpdate:modelValue":e[2]||(e[2]=i=>n.search=i),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),t.createVNode(p,{headers:n.headers,items:n.computedRows,search:n.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact","onContextmenu:row":l.showContextMenu},{"item.val":t.withCtx(({item:i})=>[t.renderSlot(a.$slots,"parameter-editor",{item:i,statesInHex:s.statesInHex},()=>[t.createVNode(u,{modelValue:i.val,"onUpdate:modelValue":_=>i.val=_,states:i.states,"states-in-hex":s.statesInHex},null,8,["modelValue","onUpdate:modelValue","states","states-in-hex"])])]),_:3},8,["headers","items","search","onContextmenu:row"])]),_:3})):t.createCommentVNode("",!0),t.createVNode(y,{modelValue:n.contextMenuShown,"onUpdate:modelValue":e[3]||(e[3]=i=>n.contextMenuShown=i),target:[n.x,n.y]},{default:t.withCtx(()=>[t.createVNode(N,null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.contextMenuOptions,(i,_)=>(t.openBlock(),t.createBlock(x,{key:_,onClick:t.withModifiers(i.action,["stop"])},{default:t.withCtx(()=>[t.createVNode(V,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(i.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),t.createVNode(E,{modelValue:n.viewDetails,"onUpdate:modelValue":e[4]||(e[4]=i=>n.viewDetails=i),"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 D=f._export_sfc(B,[["render",I]]),U={props:{modelValue:{type:Array,required:!0}},computed:{selected:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}}},methods:{addEnvVar:function(){this.selected.push({key:"",value:""})},delEnvVar:function(a){this.selected.splice(a,1)}}},O={scope:"col",class:"text-right",width:"52px"};function R(a,e,s,r,n,l){const d=t.resolveComponent("v-btn"),c=t.resolveComponent("v-text-field"),m=t.resolveComponent("v-table");return t.openBlock(),t.createElementBlock("div",null,[e[2]||(e[2]=t.createElementVNode("span",null," Add environment variables (optional)",-1)),t.createVNode(m,{density:"compact"},{default:t.withCtx(()=>[t.createElementVNode("tbody",null,[t.createElementVNode("tr",null,[e[0]||(e[0]=t.createElementVNode("th",{scope:"col",class:"text-left"},"Key",-1)),e[1]||(e[1]=t.createElementVNode("th",{scope:"col",class:"text-left"},"Value",-1)),t.createElementVNode("th",O,[t.createVNode(d,{icon:"mdi-plus",variant:"text","data-test":"new-metadata-icon",onClick:l.addEnvVar},null,8,["onClick"])])]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.selected,(o,u)=>(t.openBlock(),t.createElementBlock("tr",{key:`tr-${u}`},[t.createElementVNode("td",null,[t.createVNode(c,{modelValue:o.key,"onUpdate:modelValue":p=>o.key=p,density:"compact",type:"text","hide-details":"",readonly:o.readonly,"data-test":`key-${u}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),t.createElementVNode("td",null,[t.createVNode(c,{modelValue:o.value,"onUpdate:modelValue":p=>o.value=p,density:"compact",type:"text","hide-details":"",readonly:o.readonly,"data-test":`value-${u}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),t.createElementVNode("td",null,[t.createVNode(d,{icon:"mdi-delete",variant:"text","data-test":`remove-env-icon-${u}`,onClick:p=>l.delEnvVar(u)},null,8,["data-test","onClick"])])]))),128))])]),_:1})])}const M=f._export_sfc(U,[["render",R]]),q={props:{modelValue:String},data(){return{loading:!1,search:"",selected:this.modelValue,scripts:[],items:[]}},created(){this.loading=!0,g.hi.get("/script-api/scripts").then(a=>{this.scripts=a.data.filter(e=>e.includes(".rb")||e.includes(".py")),this.items=this.scripts}).catch(a=>{this.$emit("error",{type:"error",text:`Failed to connect to OpenC3. ${a}`,error:a})}),this.selected=this.modelValue?this.modelValue:null,this.loading=!1},watch:{selected(a,e){a!==e&&(a&&a.slice(-1)==="*"?this.$emit("file",a.substring(0,a.length-1)):this.$emit("file",a))},search(a){a&&a!==this.selected&&this.querySelections(a)}},methods:{querySelections:function(a){this.loading=!0,setTimeout(()=>{this.items=this.scripts.filter(e=>(e||"").toLowerCase().indexOf((a||"").toLowerCase())>-1),this.loading=!1},500)}}};function $(a,e,s,r,n,l){const d=t.resolveComponent("v-autocomplete"),c=t.resolveComponent("v-row");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(c,null,{default:t.withCtx(()=>[t.createVNode(d,{modelValue:n.selected,"onUpdate:modelValue":e[0]||(e[0]=m=>n.selected=m),density:"compact",variant:"outlined","hide-no-data":"","hide-details":"",class:"mb-5",label:"Select script",loading:n.loading,items:n.items,search:n.search,"onUpdate:search":e[1]||(e[1]=m=>n.search=m),"data-test":"select-script"},null,8,["modelValue","loading","items","search"])]),_:1})])}const A=f._export_sfc(q,[["render",$]]);exports.CommandEditor=D;exports.CommandParameterEditor=C;exports.EnvironmentChooser=M;exports.ScriptChooser=A;
|
|
2
|
-
//# sourceMappingURL=ScriptChooser-ma6P0WuM.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptChooser-ma6P0WuM.cjs","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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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTextDialog-BCNn5FZh.cjs","sources":["../src/components/SimpleTextDialog.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 2024, 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 <v-dialog v-model=\"show\" :width=\"width\" scrollable>\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> {{ title }} </span>\n <v-spacer />\n <div class=\"mx-2\">\n <v-btn\n icon=\"mdi-download\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"downloadIcon\"\n aria-label=\"Download Content\"\n @click=\"download\"\n />\n </div>\n </v-toolbar>\n <v-card-text style=\"max-height: 80vh\">\n <div class=\"pa-3\">\n <span class=\"text\">{{ text }}</span>\n </div>\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"flat\" @click=\"show = !show\"> Ok </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: Boolean, // modelValue is the default prop when using v-model\n text: String,\n title: String,\n width: {\n type: Number,\n default: 800,\n },\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n download: function () {\n const blob = new Blob([this.text], {\n type: 'text/plain',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', `${this.title}.txt`)\n link.click()\n },\n },\n}\n</script>\n\n<style scoped>\n.text {\n white-space: pre-wrap;\n}\n</style>\n"],"names":["_sfc_main","value","blob","link","_hoisted_1","_hoisted_2","_hoisted_3","_createBlock","_component_v_dialog","$options","$event","$props","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_createElementVNode","_component_v_btn","_component_v_card_text","_toDisplayString","_component_v_card_actions","_cache"],"mappings":"qLAsDKA,EAAU,CACb,MAAO,CACL,WAAY,QACZ,KAAM,OACN,MAAO,OACP,MAAO,CACL,KAAM,OACN,QAAS,MAGb,SAAU,CACR,KAAM,CACJ,KAAM,CACJ,OAAO,KAAK,UACd,EACA,IAAIC,EAAO,CACT,KAAK,MAAM,oBAAqBA,CAAK,CACvC,IAGJ,QAAS,CACP,SAAU,UAAY,CACpB,MAAMC,EAAO,IAAI,KAAK,CAAC,KAAK,IAAI,EAAG,CACjC,KAAM,aACP,EAEKC,EAAO,SAAS,cAAc,GAAG,EACvCA,EAAK,KAAO,IAAI,gBAAgBD,CAAI,EACpCC,EAAK,aAAa,WAAY,GAAG,KAAK,KAAK,MAAM,EACjDA,EAAK,MAAK,CACZ,EAEJ,EAzDaC,EAAA,CAAA,MAAM,MAAM,EAYZC,EAAA,CAAA,MAAM,MAAM,EACTC,EAAA,CAAA,MAAM,MAAM,iSAnB1BC,EAAAA,YA2BWC,EAAA,YA3BQC,EAAA,0CAAAA,EAAA,KAAIC,GAAG,MAAOC,EAAA,MAAO,WAAA,uBACtC,IAyBS,CAzBTC,EAAAA,YAyBSC,EAAA,KAAA,mBAxBP,IAcY,CAdZD,EAAAA,YAcYE,EAAA,CAdD,OAAO,IAAI,EAAA,mBACpB,IAAY,CAAZF,EAAAA,YAAYG,CAAA,EACZC,EAAAA,mBAA0B,8BAAhBL,EAAA,KAAK,EAAA,CAAA,EACfC,EAAAA,YAAYG,CAAA,EACZC,EAAAA,mBASM,MATNZ,EASM,CARJQ,EAAAA,YAOEK,EAAA,CANA,KAAK,eACL,QAAQ,OACR,QAAQ,UACR,YAAU,eACV,aAAW,mBACV,QAAOR,EAAA,wCAIdG,EAAAA,YAIcM,EAAA,CAJD,MAAA,CAAA,aAAA,MAAA,GAAwB,mBACnC,IAEM,CAFNF,EAAAA,mBAEM,MAFNX,EAEM,CADJW,EAAAA,mBAAoC,OAApCV,EAAoCa,EAAAA,gBAAdR,EAAA,IAAI,EAAA,CAAA,YAG9BC,EAAAA,YAGiBQ,EAAA,CAHD,MAAM,MAAM,EAAA,mBAC1B,IAAY,CAAZR,EAAAA,YAAYG,CAAA,EACZH,EAAAA,YAAwDK,EAAA,CAAjD,QAAQ,OAAQ,QAAKI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAX,GAAED,EAAA,KAAI,CAAIA,EAAA,0BAAM,IAAI,CAAA,GAAAY,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,mBAAJ,OAAI,EAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleTextDialog-D2mEDvGY.js","sources":["../src/components/SimpleTextDialog.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 2024, 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 <v-dialog v-model=\"show\" :width=\"width\" scrollable>\n <v-card>\n <v-toolbar height=\"24\">\n <v-spacer />\n <span> {{ title }} </span>\n <v-spacer />\n <div class=\"mx-2\">\n <v-btn\n icon=\"mdi-download\"\n variant=\"text\"\n density=\"compact\"\n data-test=\"downloadIcon\"\n aria-label=\"Download Content\"\n @click=\"download\"\n />\n </div>\n </v-toolbar>\n <v-card-text style=\"max-height: 80vh\">\n <div class=\"pa-3\">\n <span class=\"text\">{{ text }}</span>\n </div>\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-spacer />\n <v-btn variant=\"flat\" @click=\"show = !show\"> Ok </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: Boolean, // modelValue is the default prop when using v-model\n text: String,\n title: String,\n width: {\n type: Number,\n default: 800,\n },\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n download: function () {\n const blob = new Blob([this.text], {\n type: 'text/plain',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', `${this.title}.txt`)\n link.click()\n },\n },\n}\n</script>\n\n<style scoped>\n.text {\n white-space: pre-wrap;\n}\n</style>\n"],"names":["_sfc_main","value","blob","link","_hoisted_1","_hoisted_2","_hoisted_3","_createBlock","_component_v_dialog","$options","$event","$props","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_createElementVNode","_component_v_btn","_component_v_card_text","_toDisplayString","_component_v_card_actions","_cache"],"mappings":";;;AAsDA,MAAKA,IAAU;AAAA,EACb,OAAO;AAAA,IACL,YAAY;AAAA;AAAA,IACZ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;;EAGb,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AACJ,eAAO,KAAK;AAAA,MACd;AAAA,MACA,IAAIC,GAAO;AACT,aAAK,MAAM,qBAAqBA,CAAK;AAAA,MACvC;AAAA;;EAGJ,SAAS;AAAA,IACP,UAAU,WAAY;AACpB,YAAMC,IAAO,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG;AAAA,QACjC,MAAM;AAAA,OACP,GAEKC,IAAO,SAAS,cAAc,GAAG;AACvC,MAAAA,EAAK,OAAO,IAAI,gBAAgBD,CAAI,GACpCC,EAAK,aAAa,YAAY,GAAG,KAAK,KAAK,MAAM,GACjDA,EAAK,MAAK;AAAA,IACZ;AAAA;AAEJ,GAzDaC,IAAA,EAAA,OAAM,OAAM,GAYZC,IAAA,EAAA,OAAM,OAAM,GACTC,IAAA,EAAA,OAAM,OAAM;;;cAnB1BC,EA2BWC,GAAA;AAAA,gBA3BQC,EAAA;AAAA,kDAAAA,EAAA,OAAIC;AAAA,IAAG,OAAOC,EAAA;AAAA,IAAO,YAAA;AAAA;eACtC,MAyBS;AAAA,MAzBTC,EAyBSC,GAAA,MAAA;AAAA,mBAxBP,MAcY;AAAA,UAdZD,EAcYE,GAAA,EAdD,QAAO,KAAI,GAAA;AAAA,uBACpB,MAAY;AAAA,cAAZF,EAAYG,CAAA;AAAA,cACZC,EAA0B,gBAAhBL,EAAA,KAAK,GAAA,CAAA;AAAA,cACfC,EAAYG,CAAA;AAAA,cACZC,EASM,OATNZ,GASM;AAAA,gBARJQ,EAOEK,GAAA;AAAA,kBANA,MAAK;AAAA,kBACL,SAAQ;AAAA,kBACR,SAAQ;AAAA,kBACR,aAAU;AAAA,kBACV,cAAW;AAAA,kBACV,SAAOR,EAAA;AAAA;;;;;UAIdG,EAIcM,GAAA,EAJD,OAAA,EAAA,cAAA,OAAA,KAAwB;AAAA,uBACnC,MAEM;AAAA,cAFNF,EAEM,OAFNX,GAEM;AAAA,gBADJW,EAAoC,QAApCV,GAAoCa,EAAdR,EAAA,IAAI,GAAA,CAAA;AAAA;;;;UAG9BC,EAGiBQ,GAAA,EAHD,OAAM,OAAM,GAAA;AAAA,uBAC1B,MAAY;AAAA,cAAZR,EAAYG,CAAA;AAAA,cACZH,EAAwDK,GAAA;AAAA,gBAAjD,SAAQ;AAAA,gBAAQ,SAAKI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAX,MAAED,EAAA,OAAI,CAAIA,EAAA;AAAA;2BAAM,MAAI,CAAA,GAAAY,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,oBAAJ,QAAI,EAAA;AAAA;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const p=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B1Hzjyj0.cjs"),e=require("vue"),f=require("./CustomIcon-Bop2mEnu.cjs"),y={props:{allowAll:{type:Boolean,default:!1},allowAllTargets:{type:Boolean,default:!1},allowAllArrayIndex:{type:Boolean,default:!1},buttonText:{type:String,default:null},chooseItem:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},initialTargetName:{type:String,default:""},initialPacketName:{type:String,default:""},initialItemName:{type:String,default:""},selectTypes:{type:Boolean,default:!1},showLatest:{type:Boolean,default:!1},mode:{type:String,default:"tlm",validator:t=>["cmd","tlm"].includes(t)},unknown:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},hidden:{type:Boolean,default:!1},lockTarget:{type:Boolean,default:!1},lockPacket:{type:Boolean,default:!1}},emits:["on-set","addItem"],data(){var t,a,s;return{targetNames:[],selectedTargetName:(t=this.initialTargetName)==null?void 0:t.toUpperCase(),packetNames:[],selectedPacketName:(a=this.initialPacketName)==null?void 0:a.toUpperCase(),itemNames:[],selectedItemName:(s=this.initialItemName)==null?void 0:s.toUpperCase(),valueTypes:["CONVERTED","RAW"],selectedValueType:"CONVERTED",reductionModes:[{title:"NONE",value:"DECOM"},{title:"REDUCED_MINUTE",value:"REDUCED_MINUTE"},{title:"REDUCED_HOUR",value:"REDUCED_HOUR"},{title:"REDUCED_DAY",value:"REDUCED_DAY"}],selectedArrayIndex:null,selectedReduced:"DECOM",reducedTypes:["MIN","MAX","AVG","STDDEV"],selectedReducedType:"AVG",description:"",hazardous:!1,internalDisabled:!1,packetsDisabled:!1,itemsDisabled:!1,api:null,ALL:{label:"[ ALL ]",value:"ALL",description:"ALL"},UNKNOWN:{label:"[ UNKNOWN ]",value:"UNKNOWN",description:"UNKNOWN"}}},computed:{actualButtonText:function(){return this.selectedPacketName==="ALL"?"Add Target":this.selectedItemName==="ALL"?"Add Packet":this.buttonText},autocompleteDisabled:function(){return this.disabled||this.internalDisabled},buttonDisabled:function(){return this.disabled||this.internalDisabled||this.selectedTargetName===null||this.selectedPacketName===null||this.selectedItemNameWIndex===null},colSize:function(){return this.vertical?12:!1},selectedItemNameWIndex:function(){return this.itemIsArray&&this.selectedArrayIndex!==null&&this.selectedArrayIndex!==this.ALL.label?`${this.selectedItemName}[${this.selectedArrayIndex}]`:this.selectedItemName},includeLatestPacketInDropdown:function(){return this.showLatest&&this.mode==="tlm"},arrayIndexes:function(){let t=this.itemNames.findIndex(s=>s.value===this.selectedItemName),a=[...Array(this.itemNames[t].array).keys()];return(this.allowAll||this.allowAllArrayIndex)&&a.unshift(this.ALL.label),a},itemIsArray:function(){let t=this.itemNames.findIndex(a=>a.value===this.selectedItemName);return!(t===-1||isNaN(this.itemNames[t].array))}},watch:{initialTargetName:function(t){t&&(this.selectedTargetName=t.toUpperCase())},initialPacketName:function(t){t&&(this.selectedPacketName=t.toUpperCase())},initialItemName:function(t){t&&(this.selectedItemName=t.toUpperCase())},mode:function(t,a){this.selectedPacketName=null,this.selectedItemName=null,this.targetNameChanged(this.selectedTargetName)},chooseItem:function(t,a){t?this.updateItems():this.itemNames=[]},itemIsArray:function(t){t?this.selectedArrayIndex||(this.selectedArrayIndex=0):this.selectedArrayIndex=null}},created(){this.internalDisabled=!0,this.api=new p.gi,this.api.get_target_names().then(t=>{this.targetNames=t.flatMap(a=>a=="UNKNOWN"?[]:{label:a,value:a}),this.allowAllTargets&&this.targetNames.unshift(this.ALL),this.selectedTargetName?this.updatePackets():(this.selectedTargetName=this.targetNames[0].value,this.targetNameChanged(this.selectedTargetName)),this.unknown&&this.targetNames.push(this.UNKNOWN)})},methods:{updatePackets:function(){if(this.selectedTargetName==="UNKNOWN"){this.packetNames=[this.UNKNOWN],this.selectedPacketName=this.packetNames[0].value,this.updatePacketDetails(this.UNKNOWN.value),this.description="UNKNOWN";return}if(this.selectedTargetName==="ALL"){this.packetNames=[this.ALL],this.selectedPacketName=this.packetNames[0].value,this.updatePacketDetails(this.ALL.value),this.description="ALL";return}this.internalDisabled=!0;const t=this.mode==="tlm"?"get_all_tlm_names":"get_all_cmd_names";this.api[t](this.selectedTargetName,this.hidden).then(a=>{this.packetNames=a.map(c=>({label:c,value:c})),this.allowAll&&this.packetNames.unshift(this.ALL),this.selectedPacketName||(this.packetNames.length===0?this.selectedPacketName=null:this.selectedPacketName=this.packetNames[0].value),this.updatePacketDetails(this.selectedPacketName),this.packetNames.find(c=>c.value===this.selectedPacketName)&&this.chooseItem&&this.updateItems(),this.internalDisabled=!1})},updateItems:function(){if(this.selectedPacketName!=="ALL")if(this.internalDisabled=!0,this.selectedPacketName==="LATEST")this.api.get_all_tlm_item_names(this.selectedTargetName).then(t=>{this.itemNames=t.map(a=>({label:a,value:a,description:`LATEST ${a}`})),this.finishUpdateItems()});else{const t=this.mode==="tlm"?"get_tlm":"get_cmd";this.api[t](this.selectedTargetName,this.selectedPacketName).then(a=>{this.itemNames=a.items.map(s=>{let c=s.name;return s.data_type=="DERIVED"&&(c+=" *"),{label:c,value:s.name,description:s.description,array:s.array_size/s.bit_size}}),this.itemNames.sort((s,c)=>s.label>c.label?1:-1),this.finishUpdateItems()})}},finishUpdateItems:function(){this.allowAll&&this.itemNames.unshift(this.ALL),this.selectedItemName||(this.selectedItemName=this.itemNames[0].value),this.description=this.itemNames[0].description,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}),this.internalDisabled=!1},targetNameChanged:function(t){this.selectedTargetName=t,this.selectedPacketName="",this.selectedItemName="",t!==null&&this.updatePackets()},packetNameChanged:function(t){this.selectedItemName="",t!==null&&this.updatePacketDetails(t)},updatePacketDetails:function(t){if(t==="ALL")this.itemsDisabled=!0,this.internalDisabled=!1;else if(t==="LATEST")this.itemsDisabled=!1,this.selectedPacketName="LATEST";else{this.itemsDisabled=!1;const a=this.packetNames.find(s=>t===s.value);if(a){this.selectedPacketName=a.value;const s=this.mode==="tlm"?"get_tlm":"get_cmd";this.api[s](this.selectedTargetName,this.selectedPacketName).then(c=>{this.description=c.description,this.hazardous=c.hazardous})}}this.chooseItem?this.updateItems():this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},itemNameChanged:function(t){const a=this.itemNames.find(s=>t===s.value);a&&(this.selectedItemName=a.value,this.description=a.description,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}))},indexChanged:function(t){this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},buttonPressed:function(){this.selectedPacketName==="ALL"?this.allTargetPacketItems():this.selectedItemName==="ALL"?this.allPacketItems():this.chooseItem?this.$emit("addItem",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}):this.$emit("addItem",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},allTargetPacketItems:function(){this.packetNames.forEach(t=>{if(t===this.ALL)return;const a=this.mode==="tlm"?"get_tlm":"get_cmd";this.api[a](this.selectedTargetName,t.value).then(s=>{s.items.forEach(c=>{this.$emit("addItem",{targetName:this.selectedTargetName,packetName:t.value,itemName:c.name,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})})})})},allPacketItems:function(){this.itemNames.forEach(t=>{t!==this.ALL&&this.$emit("addItem",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:t.value,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})})}}},T={class:"pt-4 pb-4"};function k(t,a,s,c,l,i){const n=e.resolveComponent("v-autocomplete"),m=e.resolveComponent("v-col"),r=e.resolveComponent("v-list-item"),u=e.resolveComponent("v-divider"),h=e.resolveComponent("v-combobox"),N=e.resolveComponent("v-btn"),o=e.resolveComponent("v-row");return e.openBlock(),e.createElementBlock("div",T,[e.createVNode(o,{"no-gutters":!s.vertical},{default:e.withCtx(()=>[e.createVNode(m,{cols:i.colSize,class:"tpic-select pr-4","data-test":"select-target"},{default:e.withCtx(()=>[e.createVNode(n,{modelValue:l.selectedTargetName,"onUpdate:modelValue":[a[0]||(a[0]=d=>l.selectedTargetName=d),i.targetNameChanged],label:"Select Target","hide-details":"",density:"compact",variant:"outlined",disabled:i.autocompleteDisabled||s.lockTarget,items:l.targetNames,"item-title":"label","item-value":"value"},null,8,["modelValue","disabled","items","onUpdate:modelValue"])]),_:1},8,["cols"]),e.createVNode(m,{cols:i.colSize,class:"tpic-select pr-4","data-test":"select-packet"},{default:e.withCtx(()=>[e.createVNode(n,{modelValue:l.selectedPacketName,"onUpdate:modelValue":[a[2]||(a[2]=d=>l.selectedPacketName=d),i.packetNameChanged],label:"Select Packet","hide-details":"",density:"compact",variant:"outlined",disabled:l.packetsDisabled||i.autocompleteDisabled||s.lockPacket,items:l.packetNames,"item-title":"label","item-value":"value"},e.createSlots({_:2},[i.includeLatestPacketInDropdown?{name:"prepend-item",fn:e.withCtx(()=>[e.createVNode(r,{title:"LATEST",onClick:a[1]||(a[1]=d=>i.packetNameChanged("LATEST"))}),e.createVNode(u)]),key:"0"}:void 0]),1032,["modelValue","disabled","items","onUpdate:modelValue"])]),_:1},8,["cols"]),s.chooseItem?(e.openBlock(),e.createBlock(m,{key:0,cols:i.colSize,class:"tpic-select pr-4","data-test":"select-item"},{default:e.withCtx(()=>[e.createVNode(n,{modelValue:l.selectedItemName,"onUpdate:modelValue":[a[3]||(a[3]=d=>l.selectedItemName=d),a[4]||(a[4]=d=>i.itemNameChanged(d))],label:"Select Item","hide-details":"",density:"compact",variant:"outlined",disabled:l.itemsDisabled||i.autocompleteDisabled,items:l.itemNames,"item-title":"label","item-value":"value"},null,8,["modelValue","disabled","items"])]),_:1},8,["cols"])):e.createCommentVNode("",!0),s.chooseItem&&i.itemIsArray?(e.openBlock(),e.createBlock(m,{key:1,cols:"1",class:"tpic-select pr-4","data-test":"array-index",style:{"min-width":"105px"}},{default:e.withCtx(()=>[e.createVNode(h,{modelValue:l.selectedArrayIndex,"onUpdate:modelValue":[a[5]||(a[5]=d=>l.selectedArrayIndex=d),a[6]||(a[6]=d=>i.indexChanged(d))],label:"Index","hide-details":"",density:"compact",variant:"outlined",disabled:l.itemsDisabled||i.autocompleteDisabled,items:i.arrayIndexes,"item-title":"label","item-value":"value"},null,8,["modelValue","disabled","items"])]),_:1})):e.createCommentVNode("",!0),s.buttonText?(e.openBlock(),e.createBlock(m,{key:2,cols:i.colSize,style:{"max-width":"140px"}},{default:e.withCtx(()=>[e.createVNode(N,{disabled:i.buttonDisabled,color:"primary","data-test":"select-send",onClick:i.buttonPressed},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.actualButtonText),1)]),_:1},8,["disabled","onClick"])]),_:1},8,["cols"])):e.createCommentVNode("",!0)]),_:1},8,["no-gutters"]),s.selectTypes?(e.openBlock(),e.createBlock(o,{key:0,class:"pt-6","no-gutters":""},{default:e.withCtx(()=>[e.createVNode(m,{cols:i.colSize,class:"tpic-select pr-4","data-test":"data-type"},{default:e.withCtx(()=>[e.createVNode(n,{modelValue:l.selectedValueType,"onUpdate:modelValue":a[7]||(a[7]=d=>l.selectedValueType=d),label:"Value Type","hide-details":"",density:"compact",variant:"outlined",items:l.valueTypes},null,8,["modelValue","items"])]),_:1},8,["cols"]),e.createVNode(m,{cols:i.colSize,class:"tpic-select pr-4","data-test":"reduced"},{default:e.withCtx(()=>[e.createVNode(n,{modelValue:l.selectedReduced,"onUpdate:modelValue":a[8]||(a[8]=d=>l.selectedReduced=d),label:"Reduced","hide-details":"",density:"compact",variant:"outlined",items:l.reductionModes},null,8,["modelValue","items"])]),_:1},8,["cols"]),e.createVNode(m,{cols:i.colSize,class:"tpic-select pr-4","data-test":"reduced-type"},{default:e.withCtx(()=>[e.createVNode(n,{modelValue:l.selectedReducedType,"onUpdate:modelValue":a[9]||(a[9]=d=>l.selectedReducedType=d),label:"Reduced Type","hide-details":"",density:"compact",variant:"outlined",disabled:l.selectedReduced==="DECOM",items:l.reducedTypes},null,8,["modelValue","disabled","items"])]),_:1},8,["cols"]),e.createVNode(m,{cols:i.colSize,style:{"max-width":"140px"}},null,8,["cols"])]),_:1})):e.createCommentVNode("",!0),e.createVNode(o,{"no-gutters":"",class:"pa-3"},{default:e.withCtx(()=>[e.createVNode(m,{cols:i.colSize,class:e.normalizeClass({"openc3-yellow":l.hazardous})},{default:e.withCtx(()=>[e.createTextVNode(" Description: "+e.toDisplayString(l.description)+" ",1),l.hazardous?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" (HAZARDOUS) ")],64)):e.createCommentVNode("",!0)]),_:1},8,["cols","class"])]),_:1})])}const g=f._export_sfc(y,[["render",k],["__scopeId","data-v-404c7763"]]);exports.TargetPacketItemChooser=g;
|
|
2
|
-
//# sourceMappingURL=TargetPacketItemChooser-CAl-fNql.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TargetPacketItemChooser-CAl-fNql.cjs","sources":["../src/components/TargetPacketItemChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n\n# A portion of this file was funded by Blue Origin Enterprises, L.P.\n# See https://github.com/OpenC3/cosmos/pull/1957\n-->\n\n<template>\n <div class=\"pt-4 pb-4\">\n <v-row :no-gutters=\"!vertical\">\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-target\">\n <v-autocomplete\n v-model=\"selectedTargetName\"\n label=\"Select Target\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || lockTarget\"\n :items=\"targetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"targetNameChanged\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-packet\">\n <v-autocomplete\n v-model=\"selectedPacketName\"\n label=\"Select Packet\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"packetsDisabled || autocompleteDisabled || lockPacket\"\n :items=\"packetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"packetNameChanged\"\n >\n <template v-if=\"includeLatestPacketInDropdown\" #prepend-item>\n <v-list-item title=\"LATEST\" @click=\"packetNameChanged('LATEST')\" />\n <v-divider />\n </template>\n </v-autocomplete>\n </v-col>\n <v-col\n v-if=\"chooseItem\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-item\"\n >\n <v-autocomplete\n v-model=\"selectedItemName\"\n label=\"Select Item\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"itemNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"itemNameChanged($event)\"\n />\n </v-col>\n <!-- min-width: 105px is enough to display a 2 digit index -->\n <v-col\n v-if=\"chooseItem && itemIsArray\"\n cols=\"1\"\n class=\"tpic-select pr-4\"\n data-test=\"array-index\"\n style=\"min-width: 105px\"\n >\n <v-combobox\n v-model=\"selectedArrayIndex\"\n label=\"Index\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"arrayIndexes\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"indexChanged($event)\"\n />\n </v-col>\n <v-col v-if=\"buttonText\" :cols=\"colSize\" style=\"max-width: 140px\">\n <v-btn\n :disabled=\"buttonDisabled\"\n color=\"primary\"\n data-test=\"select-send\"\n @click=\"buttonPressed\"\n >\n {{ actualButtonText }}\n </v-btn>\n </v-col>\n </v-row>\n <v-row v-if=\"selectTypes\" class=\"pt-6\" no-gutters>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"data-type\">\n <v-autocomplete\n v-model=\"selectedValueType\"\n label=\"Value Type\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :items=\"valueTypes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced\">\n <v-autocomplete\n v-model=\"selectedReduced\"\n label=\"Reduced\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :items=\"reductionModes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced-type\">\n <v-autocomplete\n v-model=\"selectedReducedType\"\n label=\"Reduced Type\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"selectedReduced === 'DECOM'\"\n :items=\"reducedTypes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" style=\"max-width: 140px\"> </v-col>\n </v-row>\n <v-row no-gutters class=\"pa-3\">\n <v-col :cols=\"colSize\" :class=\"{ 'openc3-yellow': hazardous }\">\n Description: {{ description }}\n <template v-if=\"hazardous\"> (HAZARDOUS) </template>\n </v-col>\n </v-row>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n allowAll: {\n type: Boolean,\n default: false,\n },\n allowAllTargets: {\n type: Boolean,\n default: false,\n },\n allowAllArrayIndex: {\n type: Boolean,\n default: false,\n },\n buttonText: {\n type: String,\n default: null,\n },\n chooseItem: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n initialTargetName: {\n type: String,\n default: '',\n },\n initialPacketName: {\n type: String,\n default: '',\n },\n initialItemName: {\n type: String,\n default: '',\n },\n selectTypes: {\n type: Boolean,\n default: false,\n },\n showLatest: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: 'tlm',\n // TODO: add validators throughout\n validator: (propValue) => {\n return ['cmd', 'tlm'].includes(propValue)\n },\n },\n unknown: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n hidden: {\n type: Boolean,\n default: false,\n },\n lockTarget: {\n type: Boolean,\n default: false,\n },\n lockPacket: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['on-set', 'addItem'],\n data() {\n return {\n targetNames: [],\n selectedTargetName: this.initialTargetName?.toUpperCase(),\n packetNames: [],\n selectedPacketName: this.initialPacketName?.toUpperCase(),\n itemNames: [],\n selectedItemName: this.initialItemName?.toUpperCase(),\n valueTypes: ['CONVERTED', 'RAW'],\n selectedValueType: 'CONVERTED',\n reductionModes: [\n // Map NONE to DECOM for clarity\n { title: 'NONE', value: 'DECOM' },\n { title: 'REDUCED_MINUTE', value: 'REDUCED_MINUTE' },\n { title: 'REDUCED_HOUR', value: 'REDUCED_HOUR' },\n { title: 'REDUCED_DAY', value: 'REDUCED_DAY' },\n ],\n selectedArrayIndex: null,\n selectedReduced: 'DECOM',\n reducedTypes: ['MIN', 'MAX', 'AVG', 'STDDEV'],\n selectedReducedType: 'AVG',\n description: '',\n hazardous: false,\n internalDisabled: false,\n packetsDisabled: false,\n itemsDisabled: false,\n api: null,\n ALL: {\n label: '[ ALL ]',\n value: 'ALL',\n description: 'ALL',\n }, // Constant to indicate all packets or items\n UNKNOWN: {\n label: '[ UNKNOWN ]',\n value: 'UNKNOWN',\n description: 'UNKNOWN',\n },\n }\n },\n computed: {\n actualButtonText: function () {\n if (this.selectedPacketName === 'ALL') {\n return 'Add Target'\n }\n if (this.selectedItemName === 'ALL') {\n return 'Add Packet'\n }\n return this.buttonText\n },\n autocompleteDisabled: function () {\n return this.disabled || this.internalDisabled\n },\n buttonDisabled: function () {\n return (\n this.disabled ||\n this.internalDisabled ||\n this.selectedTargetName === null ||\n this.selectedPacketName === null ||\n this.selectedItemNameWIndex === null\n )\n },\n colSize: function () {\n return this.vertical ? 12 : false\n },\n selectedItemNameWIndex: function () {\n if (\n this.itemIsArray &&\n this.selectedArrayIndex !== null &&\n this.selectedArrayIndex !== this.ALL.label\n ) {\n return `${this.selectedItemName}[${this.selectedArrayIndex}]`\n } else {\n return this.selectedItemName\n }\n },\n includeLatestPacketInDropdown: function () {\n return this.showLatest && this.mode === 'tlm' // because LATEST cmd doesn't have much use and thus isn't currently implemented\n },\n arrayIndexes: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n let indexes = [...Array(this.itemNames[i].array).keys()]\n if (this.allowAll || this.allowAllArrayIndex) {\n indexes.unshift(this.ALL.label)\n }\n return indexes\n },\n itemIsArray: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n if (i === -1 || isNaN(this.itemNames[i].array)) {\n return false\n } else {\n return true\n }\n },\n },\n watch: {\n initialTargetName: function (val) {\n // These three \"initial\" watchers are here in case the parent component doesn't figure out its initial values\n // until after this component has already been created. All this logic incl. the \"on-set\" events could be\n // simplified with a refactor to use named v-models, but that's probably a significant breaking change.\n if (val) {\n this.selectedTargetName = val.toUpperCase()\n }\n },\n initialPacketName: function (val) {\n if (val) {\n this.selectedPacketName = val.toUpperCase()\n }\n },\n initialItemName: function (val) {\n if (val) {\n this.selectedItemName = val.toUpperCase()\n }\n },\n mode: function (newVal, oldVal) {\n this.selectedPacketName = null\n this.selectedItemName = null\n // This also updates packets and items as needed\n this.targetNameChanged(this.selectedTargetName)\n },\n chooseItem: function (newVal, oldVal) {\n if (newVal) {\n this.updateItems()\n } else {\n this.itemNames = []\n }\n },\n itemIsArray: function (val) {\n if (val) {\n this.selectedArrayIndex ||= 0\n } else {\n this.selectedArrayIndex = null\n }\n },\n },\n created() {\n this.internalDisabled = true\n this.api = new OpenC3Api()\n this.api.get_target_names().then((result) => {\n this.targetNames = result.flatMap((target) => {\n // Ignore the UNKNOWN target as it doesn't make sense to select this\n if (target == 'UNKNOWN') {\n return []\n }\n return { label: target, value: target }\n })\n // TODO: This is a nice enhancement but results in logs of API calls for many targets\n // See if we can reduce this to a single API call\n // Filter out any targets without packets\n // for (let i = this.targetNames.length - 1; i >= 0; i--) {\n // const cmd =\n // this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n // await this.api[cmd](this.targetNames[i].value).then((names) => {\n // if (names.length === 0) {\n // this.targetNames.splice(i, 1)\n // }\n // })\n // }\n if (this.allowAllTargets) {\n this.targetNames.unshift(this.ALL)\n }\n // If the initial target name is not set, default to the first target\n // which also updates packets and items as needed\n if (!this.selectedTargetName) {\n this.selectedTargetName = this.targetNames[0].value\n this.targetNameChanged(this.selectedTargetName)\n } else {\n // Selected target name was set but we still have to update packets\n this.updatePackets()\n }\n if (this.unknown) {\n this.targetNames.push(this.UNKNOWN)\n }\n })\n },\n methods: {\n updatePackets: function () {\n if (this.selectedTargetName === 'UNKNOWN') {\n this.packetNames = [this.UNKNOWN]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.UNKNOWN.value)\n this.description = 'UNKNOWN'\n return\n }\n if (this.selectedTargetName === 'ALL') {\n this.packetNames = [this.ALL]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.ALL.value)\n this.description = 'ALL'\n return\n }\n this.internalDisabled = true\n const cmd =\n this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n this.api[cmd](this.selectedTargetName, this.hidden).then((names) => {\n this.packetNames = names.map((name) => {\n return {\n label: name,\n value: name,\n }\n })\n if (this.allowAll) {\n this.packetNames.unshift(this.ALL)\n }\n if (!this.selectedPacketName) {\n if (this.packetNames.length === 0) {\n this.selectedPacketName = null\n } else {\n this.selectedPacketName = this.packetNames[0].value\n }\n }\n this.updatePacketDetails(this.selectedPacketName)\n const item = this.packetNames.find((packet) => {\n return packet.value === this.selectedPacketName\n })\n if (item && this.chooseItem) {\n this.updateItems()\n }\n this.internalDisabled = false\n })\n },\n\n updateItems: function () {\n if (this.selectedPacketName === 'ALL') {\n return\n }\n this.internalDisabled = true\n\n if (this.selectedPacketName === 'LATEST') {\n this.api\n .get_all_tlm_item_names(this.selectedTargetName)\n .then((items) => {\n this.itemNames = items.map((item) => {\n return {\n label: item,\n value: item,\n description: `LATEST ${item}`,\n // Don't handle array for LATEST\n }\n })\n this.finishUpdateItems()\n })\n } else {\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.itemNames = packet.items.map((item) => {\n let label = item.name\n if (item.data_type == 'DERIVED') {\n label += ' *'\n }\n return {\n label: label,\n value: item.name,\n description: item.description,\n array: item.array_size / item.bit_size,\n }\n })\n this.itemNames.sort((a, b) => (a.label > b.label ? 1 : -1))\n this.finishUpdateItems()\n },\n )\n }\n },\n finishUpdateItems: function () {\n if (this.allowAll) {\n this.itemNames.unshift(this.ALL)\n }\n if (!this.selectedItemName) {\n this.selectedItemName = this.itemNames[0].value\n }\n this.description = this.itemNames[0].description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n this.internalDisabled = false\n },\n\n targetNameChanged: function (value) {\n this.selectedTargetName = value\n this.selectedPacketName = ''\n this.selectedItemName = ''\n // When the target name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packets\n if (value !== null) {\n this.updatePackets()\n }\n },\n\n packetNameChanged: function (value) {\n this.selectedItemName = ''\n // When the packet name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packet details\n if (value !== null) {\n this.updatePacketDetails(value)\n }\n },\n\n updatePacketDetails: function (value) {\n if (value === 'ALL') {\n this.itemsDisabled = true\n this.internalDisabled = false\n } else if (value === 'LATEST') {\n this.itemsDisabled = false\n this.selectedPacketName = 'LATEST'\n } else {\n this.itemsDisabled = false\n const packet = this.packetNames.find((packet) => {\n return value === packet.value\n })\n if (packet) {\n this.selectedPacketName = packet.value\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.description = packet.description\n this.hazardous = packet.hazardous\n },\n )\n }\n }\n if (this.chooseItem) {\n this.updateItems()\n } else {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n itemNameChanged: function (value) {\n const item = this.itemNames.find((item) => {\n return value === item.value\n })\n if (item) {\n this.selectedItemName = item.value\n this.description = item.description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n indexChanged: function (value) {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n },\n\n buttonPressed: function () {\n if (this.selectedPacketName === 'ALL') {\n this.allTargetPacketItems()\n } else if (this.selectedItemName === 'ALL') {\n this.allPacketItems()\n } else if (this.chooseItem) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n } else {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n allTargetPacketItems: function () {\n this.packetNames.forEach((packetName) => {\n if (packetName === this.ALL) return\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, packetName.value).then(\n (packet) => {\n packet.items.forEach((item) => {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: packetName.value,\n itemName: item['name'],\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n )\n })\n },\n\n allPacketItems: function () {\n this.itemNames.forEach((item) => {\n if (item === this.ALL) return\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: item.value,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n },\n}\n</script>\n<style scoped>\n.button {\n padding: 4px;\n}\n.tpic-select {\n max-width: 400px;\n}\n.v-autocomplete .v-select__selections {\n word-break: break-all;\n}\n</style>\n"],"names":["_sfc_main","propValue","_a","_b","_c","i","item","indexes","val","newVal","oldVal","OpenC3Api","result","target","cmd","names","name","packet","items","label","a","b","value","packetName","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_row","$props","_component_v_col","$options","_component_v_autocomplete","$data","$event","_component_v_list_item","_component_v_divider","_createBlock","_cache","_component_v_combobox","_component_v_btn","_toDisplayString","_Fragment"],"mappings":"iLA8JKA,EAAU,CACb,MAAO,CACL,SAAU,CACR,KAAM,QACN,QAAS,IAEX,gBAAiB,CACf,KAAM,QACN,QAAS,IAEX,mBAAoB,CAClB,KAAM,QACN,QAAS,IAEX,WAAY,CACV,KAAM,OACN,QAAS,MAEX,WAAY,CACV,KAAM,QACN,QAAS,IAEX,SAAU,CACR,KAAM,QACN,QAAS,IAEX,kBAAmB,CACjB,KAAM,OACN,QAAS,IAEX,kBAAmB,CACjB,KAAM,OACN,QAAS,IAEX,gBAAiB,CACf,KAAM,OACN,QAAS,IAEX,YAAa,CACX,KAAM,QACN,QAAS,IAEX,WAAY,CACV,KAAM,QACN,QAAS,IAEX,KAAM,CACJ,KAAM,OACN,QAAS,MAET,UAAYC,GACH,CAAC,MAAO,KAAK,EAAE,SAASA,CAAS,GAG5C,QAAS,CACP,KAAM,QACN,QAAS,IAEX,SAAU,CACR,KAAM,QACN,QAAS,IAEX,OAAQ,CACN,KAAM,QACN,QAAS,IAEX,WAAY,CACV,KAAM,QACN,QAAS,IAEX,WAAY,CACV,KAAM,QACN,QAAS,KAGb,MAAO,CAAC,SAAU,SAAS,EAC3B,MAAO,WACL,MAAO,CACL,YAAa,CAAA,EACb,oBAAoBC,EAAA,KAAK,oBAAL,YAAAA,EAAwB,cAC5C,YAAa,CAAA,EACb,oBAAoBC,EAAA,KAAK,oBAAL,YAAAA,EAAwB,cAC5C,UAAW,CAAA,EACX,kBAAkBC,EAAA,KAAK,kBAAL,YAAAA,EAAsB,cACxC,WAAY,CAAC,YAAa,KAAK,EAC/B,kBAAmB,YACnB,eAAgB,CAEd,CAAE,MAAO,OAAQ,MAAO,OAAM,EAC9B,CAAE,MAAO,iBAAkB,MAAO,gBAAe,EACjD,CAAE,MAAO,eAAgB,MAAO,gBAChC,CAAE,MAAO,cAAe,MAAO,gBAEjC,mBAAoB,KACpB,gBAAiB,QACjB,aAAc,CAAC,MAAO,MAAO,MAAO,QAAQ,EAC5C,oBAAqB,MACrB,YAAa,GACb,UAAW,GACX,iBAAkB,GAClB,gBAAiB,GACjB,cAAe,GACf,IAAK,KACL,IAAK,CACH,MAAO,UACP,MAAO,MACP,YAAa,KACf,EACA,QAAS,CACP,MAAO,cACP,MAAO,UACP,YAAa,UAEjB,CACF,EACA,SAAU,CACR,iBAAkB,UAAY,CAC5B,OAAI,KAAK,qBAAuB,MACvB,aAEL,KAAK,mBAAqB,MACrB,aAEF,KAAK,UACd,EACA,qBAAsB,UAAY,CAChC,OAAO,KAAK,UAAY,KAAK,gBAC/B,EACA,eAAgB,UAAY,CAC1B,OACE,KAAK,UACL,KAAK,kBACL,KAAK,qBAAuB,MAC5B,KAAK,qBAAuB,MAC5B,KAAK,yBAA2B,IAEpC,EACA,QAAS,UAAY,CACnB,OAAO,KAAK,SAAW,GAAK,EAC9B,EACA,uBAAwB,UAAY,CAClC,OACE,KAAK,aACL,KAAK,qBAAuB,MAC5B,KAAK,qBAAuB,KAAK,IAAI,MAE9B,GAAG,KAAK,gBAAgB,IAAI,KAAK,kBAAkB,IAEnD,KAAK,gBAEhB,EACA,8BAA+B,UAAY,CACzC,OAAO,KAAK,YAAc,KAAK,OAAS,KAC1C,EACA,aAAc,UAAY,CACxB,IAAIC,EAAI,KAAK,UAAU,UACpBC,GAASA,EAAK,QAAU,KAAK,gBAChC,EACIC,EAAU,CAAC,GAAG,MAAM,KAAK,UAAUF,CAAC,EAAE,KAAK,EAAE,KAAI,CAAE,EACvD,OAAI,KAAK,UAAY,KAAK,qBACxBE,EAAQ,QAAQ,KAAK,IAAI,KAAK,EAEzBA,CACT,EACA,YAAa,UAAY,CACvB,IAAIF,EAAI,KAAK,UAAU,UACpBC,GAASA,EAAK,QAAU,KAAK,gBAChC,EACA,MAAI,EAAAD,IAAM,IAAM,MAAM,KAAK,UAAUA,CAAC,EAAE,KAAK,EAK/C,GAEF,MAAO,CACL,kBAAmB,SAAUG,EAAK,CAI5BA,IACF,KAAK,mBAAqBA,EAAI,YAAW,EAE7C,EACA,kBAAmB,SAAUA,EAAK,CAC5BA,IACF,KAAK,mBAAqBA,EAAI,YAAW,EAE7C,EACA,gBAAiB,SAAUA,EAAK,CAC1BA,IACF,KAAK,iBAAmBA,EAAI,YAAW,EAE3C,EACA,KAAM,SAAUC,EAAQC,EAAQ,CAC9B,KAAK,mBAAqB,KAC1B,KAAK,iBAAmB,KAExB,KAAK,kBAAkB,KAAK,kBAAkB,CAChD,EACA,WAAY,SAAUD,EAAQC,EAAQ,CAChCD,EACF,KAAK,YAAW,EAEhB,KAAK,UAAY,CAAA,CAErB,EACA,YAAa,SAAUD,EAAK,CACtBA,EACF,KAAK,qBAAL,KAAK,mBAAuB,GAE5B,KAAK,mBAAqB,IAE9B,GAEF,SAAU,CACR,KAAK,iBAAmB,GACxB,KAAK,IAAM,IAAIG,EAAAA,GACf,KAAK,IAAI,iBAAgB,EAAG,KAAMC,GAAW,CAC3C,KAAK,YAAcA,EAAO,QAASC,GAE7BA,GAAU,UACL,CAAA,EAEF,CAAE,MAAOA,EAAQ,MAAOA,CAAK,CACrC,EAaG,KAAK,iBACP,KAAK,YAAY,QAAQ,KAAK,GAAG,EAI9B,KAAK,mBAKR,KAAK,cAAa,GAJlB,KAAK,mBAAqB,KAAK,YAAY,CAAC,EAAE,MAC9C,KAAK,kBAAkB,KAAK,kBAAkB,GAK5C,KAAK,SACP,KAAK,YAAY,KAAK,KAAK,OAAO,CAEtC,CAAC,CACH,EACA,QAAS,CACP,cAAe,UAAY,CACzB,GAAI,KAAK,qBAAuB,UAAW,CACzC,KAAK,YAAc,CAAC,KAAK,OAAO,EAChC,KAAK,mBAAqB,KAAK,YAAY,CAAC,EAAE,MAC9C,KAAK,oBAAoB,KAAK,QAAQ,KAAK,EAC3C,KAAK,YAAc,UACnB,MACF,CACA,GAAI,KAAK,qBAAuB,MAAO,CACrC,KAAK,YAAc,CAAC,KAAK,GAAG,EAC5B,KAAK,mBAAqB,KAAK,YAAY,CAAC,EAAE,MAC9C,KAAK,oBAAoB,KAAK,IAAI,KAAK,EACvC,KAAK,YAAc,MACnB,MACF,CACA,KAAK,iBAAmB,GACxB,MAAMC,EACJ,KAAK,OAAS,MAAQ,oBAAsB,oBAC9C,KAAK,IAAIA,CAAG,EAAE,KAAK,mBAAoB,KAAK,MAAM,EAAE,KAAMC,GAAU,CAClE,KAAK,YAAcA,EAAM,IAAKC,IACrB,CACL,MAAOA,EACP,MAAOA,CACT,EACD,EACG,KAAK,UACP,KAAK,YAAY,QAAQ,KAAK,GAAG,EAE9B,KAAK,qBACJ,KAAK,YAAY,SAAW,EAC9B,KAAK,mBAAqB,KAE1B,KAAK,mBAAqB,KAAK,YAAY,CAAC,EAAE,OAGlD,KAAK,oBAAoB,KAAK,kBAAkB,EACnC,KAAK,YAAY,KAAMC,GAC3BA,EAAO,QAAU,KAAK,kBAC9B,GACW,KAAK,YACf,KAAK,YAAW,EAElB,KAAK,iBAAmB,EAC1B,CAAC,CACH,EAEA,YAAa,UAAY,CACvB,GAAI,KAAK,qBAAuB,MAKhC,GAFA,KAAK,iBAAmB,GAEpB,KAAK,qBAAuB,SAC9B,KAAK,IACF,uBAAuB,KAAK,kBAAkB,EAC9C,KAAMC,GAAU,CACf,KAAK,UAAYA,EAAM,IAAKZ,IACnB,CACL,MAAOA,EACP,MAAOA,EACP,YAAa,UAAUA,CAAI,EAE7B,EACD,EACD,KAAK,kBAAiB,CACxB,CAAC,MACE,CACL,MAAMQ,EAAM,KAAK,OAAS,MAAQ,UAAY,UAC9C,KAAK,IAAIA,CAAG,EAAE,KAAK,mBAAoB,KAAK,kBAAkB,EAAE,KAC7DG,GAAW,CACV,KAAK,UAAYA,EAAO,MAAM,IAAKX,GAAS,CAC1C,IAAIa,EAAQb,EAAK,KACjB,OAAIA,EAAK,WAAa,YACpBa,GAAS,MAEJ,CACL,MAAOA,EACP,MAAOb,EAAK,KACZ,YAAaA,EAAK,YAClB,MAAOA,EAAK,WAAaA,EAAK,QAChC,CACF,CAAC,EACD,KAAK,UAAU,KAAK,CAACc,EAAGC,IAAOD,EAAE,MAAQC,EAAE,MAAQ,EAAI,EAAG,EAC1D,KAAK,kBAAiB,CACxB,CACF,CACF,CACF,EACA,kBAAmB,UAAY,CACzB,KAAK,UACP,KAAK,UAAU,QAAQ,KAAK,GAAG,EAE5B,KAAK,mBACR,KAAK,iBAAmB,KAAK,UAAU,CAAC,EAAE,OAE5C,KAAK,YAAc,KAAK,UAAU,CAAC,EAAE,YACrC,KAAK,MAAM,SAAU,CACnB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,EACD,KAAK,iBAAmB,EAC1B,EAEA,kBAAmB,SAAUC,EAAO,CAClC,KAAK,mBAAqBA,EAC1B,KAAK,mBAAqB,GAC1B,KAAK,iBAAmB,GAIpBA,IAAU,MACZ,KAAK,cAAa,CAEtB,EAEA,kBAAmB,SAAUA,EAAO,CAClC,KAAK,iBAAmB,GAIpBA,IAAU,MACZ,KAAK,oBAAoBA,CAAK,CAElC,EAEA,oBAAqB,SAAUA,EAAO,CACpC,GAAIA,IAAU,MACZ,KAAK,cAAgB,GACrB,KAAK,iBAAmB,WACfA,IAAU,SACnB,KAAK,cAAgB,GACrB,KAAK,mBAAqB,aACrB,CACL,KAAK,cAAgB,GACrB,MAAML,EAAS,KAAK,YAAY,KAAMA,GAC7BK,IAAUL,EAAO,KACzB,EACD,GAAIA,EAAQ,CACV,KAAK,mBAAqBA,EAAO,MACjC,MAAMH,EAAM,KAAK,OAAS,MAAQ,UAAY,UAC9C,KAAK,IAAIA,CAAG,EAAE,KAAK,mBAAoB,KAAK,kBAAkB,EAAE,KAC7DG,GAAW,CACV,KAAK,YAAcA,EAAO,YAC1B,KAAK,UAAYA,EAAO,SAC1B,CACF,CACF,CACF,CACI,KAAK,WACP,KAAK,YAAW,EAEhB,KAAK,MAAM,SAAU,CACnB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,CAEL,EAEA,gBAAiB,SAAUK,EAAO,CAChC,MAAMhB,EAAO,KAAK,UAAU,KAAMA,GACzBgB,IAAUhB,EAAK,KACvB,EACGA,IACF,KAAK,iBAAmBA,EAAK,MAC7B,KAAK,YAAcA,EAAK,YACxB,KAAK,MAAM,SAAU,CACnB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,EAEL,EAEA,aAAc,SAAUgB,EAAO,CAC7B,KAAK,MAAM,SAAU,CACnB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,CACH,EAEA,cAAe,UAAY,CACrB,KAAK,qBAAuB,MAC9B,KAAK,qBAAoB,EAChB,KAAK,mBAAqB,MACnC,KAAK,eAAc,EACV,KAAK,WACd,KAAK,MAAM,UAAW,CACpB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,EAED,KAAK,MAAM,UAAW,CACpB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,CAEL,EAEA,qBAAsB,UAAY,CAChC,KAAK,YAAY,QAASC,GAAe,CACvC,GAAIA,IAAe,KAAK,IAAK,OAC7B,MAAMT,EAAM,KAAK,OAAS,MAAQ,UAAY,UAC9C,KAAK,IAAIA,CAAG,EAAE,KAAK,mBAAoBS,EAAW,KAAK,EAAE,KACtDN,GAAW,CACVA,EAAO,MAAM,QAASX,GAAS,CAC7B,KAAK,MAAM,UAAW,CACpB,WAAY,KAAK,mBACjB,WAAYiB,EAAW,MACvB,SAAUjB,EAAK,KACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,CACH,CAAC,CACH,CACF,CACF,CAAC,CACH,EAEA,eAAgB,UAAY,CAC1B,KAAK,UAAU,QAASA,GAAS,CAC3BA,IAAS,KAAK,KAClB,KAAK,MAAM,UAAW,CACpB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAUA,EAAK,MACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,CACH,CAAC,CACH,EAEJ,EAnoBOkB,EAAA,CAAA,MAAM,WAAW,0QAAtB,OAAAC,YAAA,EAAAC,qBA8HM,MA9HNF,EA8HM,CA7HJG,EAAAA,YAoFQC,EAAA,CApFA,cAAaC,EAAA,6BACnB,IAaQ,CAbRF,EAAAA,YAaQG,EAAA,CAbA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,oCACxD,IAWE,CAXFJ,EAAAA,YAWEK,EAAA,YAVSC,EAAA,yDAAAA,EAAA,mBAAkBC,GASNH,EAAA,mBARrB,MAAM,gBACN,eAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUA,EAAA,sBAAwBF,EAAA,WAClC,MAAOI,EAAA,YACR,aAAW,QACX,aAAW,4FAIfN,EAAAA,YAkBQG,EAAA,CAlBA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,oCACxD,IAgBiB,CAhBjBJ,EAAAA,YAgBiBK,EAAA,YAfNC,EAAA,yDAAAA,EAAA,mBAAkBC,GASNH,EAAA,mBARrB,MAAM,gBACN,eAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUE,EAAA,iBAAmBF,EAAA,sBAAwBF,EAAA,WACrD,MAAOI,EAAA,YACR,aAAW,QACX,aAAW,8BAGKF,EAAA,oCAAgC,4BAC9C,IAAmE,CAAnEJ,EAAAA,YAAmEQ,EAAA,CAAtD,MAAM,SAAU,uBAAOJ,EAAA,kBAAiB,QAAA,KACrDJ,EAAAA,YAAaS,CAAA,uGAKXP,EAAA,0BADRQ,EAAAA,YAkBQP,EAAA,OAhBL,KAAMC,EAAA,QACP,MAAM,mBACN,YAAU,kCAEV,IAWE,CAXFJ,EAAAA,YAWEK,EAAA,YAVSC,EAAA,uDAAAA,EAAA,iBAAgBC,GASJI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAJ,GAAAH,EAAA,gBAAgBG,CAAM,IAR3C,MAAM,cACN,eAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUD,EAAA,eAAiBF,EAAA,qBAC3B,MAAOE,EAAA,UACR,aAAW,QACX,aAAW,mGAMPJ,EAAA,YAAcE,EAAA,2BADtBM,EAAAA,YAmBQP,EAAA,OAjBN,KAAK,IACL,MAAM,mBACN,YAAU,cACV,MAAA,CAAA,YAAA,OAAA,sBAEA,IAWE,CAXFH,EAAAA,YAWEY,EAAA,YAVSN,EAAA,yDAAAA,EAAA,mBAAkBC,GASNI,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAJ,GAAAH,EAAA,aAAaG,CAAM,IARxC,MAAM,QACN,eAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUD,EAAA,eAAiBF,EAAA,qBAC3B,MAAOA,EAAA,aACR,aAAW,QACX,aAAW,wFAIFF,EAAA,0BAAbQ,EAAAA,YASQP,EAAA,OATkB,KAAMC,EAAA,QAAS,MAAA,CAAA,YAAA,OAAA,sBACvC,IAOQ,CAPRJ,EAAAA,YAOQa,EAAA,CANL,SAAUT,EAAA,eACX,MAAM,UACN,YAAU,cACT,QAAOA,EAAA,kCAER,IAAsB,qCAAnBA,EAAA,gBAAgB,EAAA,CAAA,4GAIZF,EAAA,2BAAbQ,EAAAA,YAiCQT,EAAA,OAjCkB,MAAM,OAAO,aAAA,uBACrC,IASQ,CATRD,EAAAA,YASQG,EAAA,CATA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,gCACxD,IAOE,CAPFJ,EAAAA,YAOEK,EAAA,YANSC,EAAA,uDAAAA,EAAA,kBAAiBC,GAC1B,MAAM,aACN,eAAA,GACA,QAAQ,UACR,QAAQ,WACP,MAAOD,EAAA,8DAGZN,EAAAA,YASQG,EAAA,CATA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,8BACxD,IAOE,CAPFJ,EAAAA,YAOEK,EAAA,YANSC,EAAA,qDAAAA,EAAA,gBAAeC,GACxB,MAAM,UACN,eAAA,GACA,QAAQ,UACR,QAAQ,WACP,MAAOD,EAAA,kEAGZN,EAAAA,YAUQG,EAAA,CAVA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,mCACxD,IAQE,CARFJ,EAAAA,YAQEK,EAAA,YAPSC,EAAA,yDAAAA,EAAA,oBAAmBC,GAC5B,MAAM,eACN,eAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUD,EAAA,kBAAe,QACzB,MAAOA,EAAA,2EAGZN,EAAAA,YAAyDG,EAAA,CAAjD,KAAMC,EAAA,QAAS,MAAA,CAAA,YAAA,OAAA,yDAEzBJ,EAAAA,YAKQC,EAAA,CALD,aAAA,GAAW,MAAM,2BACtB,IAGQ,CAHRD,EAAAA,YAGQG,EAAA,CAHA,KAAMC,EAAA,QAAU,wCAA0BE,EAAA,SAAS,CAAA,sBAAI,IAChD,mBADgD,iBAChDQ,kBAAGR,EAAA,WAAW,EAAG,IAC9B,CAAA,EAAgBA,EAAA,yBAAhBP,EAAAA,mBAAmDgB,EAAAA,SAAA,CAAA,IAAA,CAAA,EAAA,mBAAxB,eAAa"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TargetPacketItemChooser-CXpSx-eA.js","sources":["../src/components/TargetPacketItemChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n\n# A portion of this file was funded by Blue Origin Enterprises, L.P.\n# See https://github.com/OpenC3/cosmos/pull/1957\n-->\n\n<template>\n <div class=\"pt-4 pb-4\">\n <v-row :no-gutters=\"!vertical\">\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-target\">\n <v-autocomplete\n v-model=\"selectedTargetName\"\n label=\"Select Target\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || lockTarget\"\n :items=\"targetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"targetNameChanged\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-packet\">\n <v-autocomplete\n v-model=\"selectedPacketName\"\n label=\"Select Packet\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"packetsDisabled || autocompleteDisabled || lockPacket\"\n :items=\"packetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"packetNameChanged\"\n >\n <template v-if=\"includeLatestPacketInDropdown\" #prepend-item>\n <v-list-item title=\"LATEST\" @click=\"packetNameChanged('LATEST')\" />\n <v-divider />\n </template>\n </v-autocomplete>\n </v-col>\n <v-col\n v-if=\"chooseItem\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-item\"\n >\n <v-autocomplete\n v-model=\"selectedItemName\"\n label=\"Select Item\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"itemNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"itemNameChanged($event)\"\n />\n </v-col>\n <!-- min-width: 105px is enough to display a 2 digit index -->\n <v-col\n v-if=\"chooseItem && itemIsArray\"\n cols=\"1\"\n class=\"tpic-select pr-4\"\n data-test=\"array-index\"\n style=\"min-width: 105px\"\n >\n <v-combobox\n v-model=\"selectedArrayIndex\"\n label=\"Index\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"arrayIndexes\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"indexChanged($event)\"\n />\n </v-col>\n <v-col v-if=\"buttonText\" :cols=\"colSize\" style=\"max-width: 140px\">\n <v-btn\n :disabled=\"buttonDisabled\"\n color=\"primary\"\n data-test=\"select-send\"\n @click=\"buttonPressed\"\n >\n {{ actualButtonText }}\n </v-btn>\n </v-col>\n </v-row>\n <v-row v-if=\"selectTypes\" class=\"pt-6\" no-gutters>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"data-type\">\n <v-autocomplete\n v-model=\"selectedValueType\"\n label=\"Value Type\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :items=\"valueTypes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced\">\n <v-autocomplete\n v-model=\"selectedReduced\"\n label=\"Reduced\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :items=\"reductionModes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced-type\">\n <v-autocomplete\n v-model=\"selectedReducedType\"\n label=\"Reduced Type\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"selectedReduced === 'DECOM'\"\n :items=\"reducedTypes\"\n />\n </v-col>\n <v-col :cols=\"colSize\" style=\"max-width: 140px\"> </v-col>\n </v-row>\n <v-row no-gutters class=\"pa-3\">\n <v-col :cols=\"colSize\" :class=\"{ 'openc3-yellow': hazardous }\">\n Description: {{ description }}\n <template v-if=\"hazardous\"> (HAZARDOUS) </template>\n </v-col>\n </v-row>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n allowAll: {\n type: Boolean,\n default: false,\n },\n allowAllTargets: {\n type: Boolean,\n default: false,\n },\n allowAllArrayIndex: {\n type: Boolean,\n default: false,\n },\n buttonText: {\n type: String,\n default: null,\n },\n chooseItem: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n initialTargetName: {\n type: String,\n default: '',\n },\n initialPacketName: {\n type: String,\n default: '',\n },\n initialItemName: {\n type: String,\n default: '',\n },\n selectTypes: {\n type: Boolean,\n default: false,\n },\n showLatest: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: 'tlm',\n // TODO: add validators throughout\n validator: (propValue) => {\n return ['cmd', 'tlm'].includes(propValue)\n },\n },\n unknown: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n hidden: {\n type: Boolean,\n default: false,\n },\n lockTarget: {\n type: Boolean,\n default: false,\n },\n lockPacket: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['on-set', 'addItem'],\n data() {\n return {\n targetNames: [],\n selectedTargetName: this.initialTargetName?.toUpperCase(),\n packetNames: [],\n selectedPacketName: this.initialPacketName?.toUpperCase(),\n itemNames: [],\n selectedItemName: this.initialItemName?.toUpperCase(),\n valueTypes: ['CONVERTED', 'RAW'],\n selectedValueType: 'CONVERTED',\n reductionModes: [\n // Map NONE to DECOM for clarity\n { title: 'NONE', value: 'DECOM' },\n { title: 'REDUCED_MINUTE', value: 'REDUCED_MINUTE' },\n { title: 'REDUCED_HOUR', value: 'REDUCED_HOUR' },\n { title: 'REDUCED_DAY', value: 'REDUCED_DAY' },\n ],\n selectedArrayIndex: null,\n selectedReduced: 'DECOM',\n reducedTypes: ['MIN', 'MAX', 'AVG', 'STDDEV'],\n selectedReducedType: 'AVG',\n description: '',\n hazardous: false,\n internalDisabled: false,\n packetsDisabled: false,\n itemsDisabled: false,\n api: null,\n ALL: {\n label: '[ ALL ]',\n value: 'ALL',\n description: 'ALL',\n }, // Constant to indicate all packets or items\n UNKNOWN: {\n label: '[ UNKNOWN ]',\n value: 'UNKNOWN',\n description: 'UNKNOWN',\n },\n }\n },\n computed: {\n actualButtonText: function () {\n if (this.selectedPacketName === 'ALL') {\n return 'Add Target'\n }\n if (this.selectedItemName === 'ALL') {\n return 'Add Packet'\n }\n return this.buttonText\n },\n autocompleteDisabled: function () {\n return this.disabled || this.internalDisabled\n },\n buttonDisabled: function () {\n return (\n this.disabled ||\n this.internalDisabled ||\n this.selectedTargetName === null ||\n this.selectedPacketName === null ||\n this.selectedItemNameWIndex === null\n )\n },\n colSize: function () {\n return this.vertical ? 12 : false\n },\n selectedItemNameWIndex: function () {\n if (\n this.itemIsArray &&\n this.selectedArrayIndex !== null &&\n this.selectedArrayIndex !== this.ALL.label\n ) {\n return `${this.selectedItemName}[${this.selectedArrayIndex}]`\n } else {\n return this.selectedItemName\n }\n },\n includeLatestPacketInDropdown: function () {\n return this.showLatest && this.mode === 'tlm' // because LATEST cmd doesn't have much use and thus isn't currently implemented\n },\n arrayIndexes: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n let indexes = [...Array(this.itemNames[i].array).keys()]\n if (this.allowAll || this.allowAllArrayIndex) {\n indexes.unshift(this.ALL.label)\n }\n return indexes\n },\n itemIsArray: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n if (i === -1 || isNaN(this.itemNames[i].array)) {\n return false\n } else {\n return true\n }\n },\n },\n watch: {\n initialTargetName: function (val) {\n // These three \"initial\" watchers are here in case the parent component doesn't figure out its initial values\n // until after this component has already been created. All this logic incl. the \"on-set\" events could be\n // simplified with a refactor to use named v-models, but that's probably a significant breaking change.\n if (val) {\n this.selectedTargetName = val.toUpperCase()\n }\n },\n initialPacketName: function (val) {\n if (val) {\n this.selectedPacketName = val.toUpperCase()\n }\n },\n initialItemName: function (val) {\n if (val) {\n this.selectedItemName = val.toUpperCase()\n }\n },\n mode: function (newVal, oldVal) {\n this.selectedPacketName = null\n this.selectedItemName = null\n // This also updates packets and items as needed\n this.targetNameChanged(this.selectedTargetName)\n },\n chooseItem: function (newVal, oldVal) {\n if (newVal) {\n this.updateItems()\n } else {\n this.itemNames = []\n }\n },\n itemIsArray: function (val) {\n if (val) {\n this.selectedArrayIndex ||= 0\n } else {\n this.selectedArrayIndex = null\n }\n },\n },\n created() {\n this.internalDisabled = true\n this.api = new OpenC3Api()\n this.api.get_target_names().then((result) => {\n this.targetNames = result.flatMap((target) => {\n // Ignore the UNKNOWN target as it doesn't make sense to select this\n if (target == 'UNKNOWN') {\n return []\n }\n return { label: target, value: target }\n })\n // TODO: This is a nice enhancement but results in logs of API calls for many targets\n // See if we can reduce this to a single API call\n // Filter out any targets without packets\n // for (let i = this.targetNames.length - 1; i >= 0; i--) {\n // const cmd =\n // this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n // await this.api[cmd](this.targetNames[i].value).then((names) => {\n // if (names.length === 0) {\n // this.targetNames.splice(i, 1)\n // }\n // })\n // }\n if (this.allowAllTargets) {\n this.targetNames.unshift(this.ALL)\n }\n // If the initial target name is not set, default to the first target\n // which also updates packets and items as needed\n if (!this.selectedTargetName) {\n this.selectedTargetName = this.targetNames[0].value\n this.targetNameChanged(this.selectedTargetName)\n } else {\n // Selected target name was set but we still have to update packets\n this.updatePackets()\n }\n if (this.unknown) {\n this.targetNames.push(this.UNKNOWN)\n }\n })\n },\n methods: {\n updatePackets: function () {\n if (this.selectedTargetName === 'UNKNOWN') {\n this.packetNames = [this.UNKNOWN]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.UNKNOWN.value)\n this.description = 'UNKNOWN'\n return\n }\n if (this.selectedTargetName === 'ALL') {\n this.packetNames = [this.ALL]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.ALL.value)\n this.description = 'ALL'\n return\n }\n this.internalDisabled = true\n const cmd =\n this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n this.api[cmd](this.selectedTargetName, this.hidden).then((names) => {\n this.packetNames = names.map((name) => {\n return {\n label: name,\n value: name,\n }\n })\n if (this.allowAll) {\n this.packetNames.unshift(this.ALL)\n }\n if (!this.selectedPacketName) {\n if (this.packetNames.length === 0) {\n this.selectedPacketName = null\n } else {\n this.selectedPacketName = this.packetNames[0].value\n }\n }\n this.updatePacketDetails(this.selectedPacketName)\n const item = this.packetNames.find((packet) => {\n return packet.value === this.selectedPacketName\n })\n if (item && this.chooseItem) {\n this.updateItems()\n }\n this.internalDisabled = false\n })\n },\n\n updateItems: function () {\n if (this.selectedPacketName === 'ALL') {\n return\n }\n this.internalDisabled = true\n\n if (this.selectedPacketName === 'LATEST') {\n this.api\n .get_all_tlm_item_names(this.selectedTargetName)\n .then((items) => {\n this.itemNames = items.map((item) => {\n return {\n label: item,\n value: item,\n description: `LATEST ${item}`,\n // Don't handle array for LATEST\n }\n })\n this.finishUpdateItems()\n })\n } else {\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.itemNames = packet.items.map((item) => {\n let label = item.name\n if (item.data_type == 'DERIVED') {\n label += ' *'\n }\n return {\n label: label,\n value: item.name,\n description: item.description,\n array: item.array_size / item.bit_size,\n }\n })\n this.itemNames.sort((a, b) => (a.label > b.label ? 1 : -1))\n this.finishUpdateItems()\n },\n )\n }\n },\n finishUpdateItems: function () {\n if (this.allowAll) {\n this.itemNames.unshift(this.ALL)\n }\n if (!this.selectedItemName) {\n this.selectedItemName = this.itemNames[0].value\n }\n this.description = this.itemNames[0].description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n this.internalDisabled = false\n },\n\n targetNameChanged: function (value) {\n this.selectedTargetName = value\n this.selectedPacketName = ''\n this.selectedItemName = ''\n // When the target name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packets\n if (value !== null) {\n this.updatePackets()\n }\n },\n\n packetNameChanged: function (value) {\n this.selectedItemName = ''\n // When the packet name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packet details\n if (value !== null) {\n this.updatePacketDetails(value)\n }\n },\n\n updatePacketDetails: function (value) {\n if (value === 'ALL') {\n this.itemsDisabled = true\n this.internalDisabled = false\n } else if (value === 'LATEST') {\n this.itemsDisabled = false\n this.selectedPacketName = 'LATEST'\n } else {\n this.itemsDisabled = false\n const packet = this.packetNames.find((packet) => {\n return value === packet.value\n })\n if (packet) {\n this.selectedPacketName = packet.value\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.description = packet.description\n this.hazardous = packet.hazardous\n },\n )\n }\n }\n if (this.chooseItem) {\n this.updateItems()\n } else {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n itemNameChanged: function (value) {\n const item = this.itemNames.find((item) => {\n return value === item.value\n })\n if (item) {\n this.selectedItemName = item.value\n this.description = item.description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n indexChanged: function (value) {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n },\n\n buttonPressed: function () {\n if (this.selectedPacketName === 'ALL') {\n this.allTargetPacketItems()\n } else if (this.selectedItemName === 'ALL') {\n this.allPacketItems()\n } else if (this.chooseItem) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n } else {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n allTargetPacketItems: function () {\n this.packetNames.forEach((packetName) => {\n if (packetName === this.ALL) return\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, packetName.value).then(\n (packet) => {\n packet.items.forEach((item) => {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: packetName.value,\n itemName: item['name'],\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n )\n })\n },\n\n allPacketItems: function () {\n this.itemNames.forEach((item) => {\n if (item === this.ALL) return\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: item.value,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n },\n}\n</script>\n<style scoped>\n.button {\n padding: 4px;\n}\n.tpic-select {\n max-width: 400px;\n}\n.v-autocomplete .v-select__selections {\n word-break: break-all;\n}\n</style>\n"],"names":["_sfc_main","propValue","_a","_b","_c","i","item","indexes","val","newVal","oldVal","OpenC3Api","result","target","cmd","names","name","packet","items","label","b","value","packetName","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_row","$props","_component_v_col","$options","_component_v_autocomplete","$data","$event","_component_v_list_item","_component_v_divider","_createBlock","_cache","_component_v_combobox","_component_v_btn","_toDisplayString","_Fragment"],"mappings":"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"}
|