@openc3/vue-common 6.9.1 → 6.10.1
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-DLfNWDzN.js → ArrayWidget-DQRQ7dPa.js} +5 -5
- package/dist/{ArrayWidget-DLfNWDzN.js.map → ArrayWidget-DQRQ7dPa.js.map} +1 -1
- package/dist/{ArrayWidget-DJkuPBFS.cjs → ArrayWidget-DvCX-1Om.cjs} +2 -2
- package/dist/{ArrayWidget-DJkuPBFS.cjs.map → ArrayWidget-DvCX-1Om.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-CoRsUxHG.js → ArrayplotWidget-BeSfz3MR.js} +4 -4
- package/dist/{ArrayplotWidget-CoRsUxHG.js.map → ArrayplotWidget-BeSfz3MR.js.map} +1 -1
- package/dist/{ArrayplotWidget-COGxmBEP.cjs → ArrayplotWidget-DA4SCxEg.cjs} +2 -2
- package/dist/{ArrayplotWidget-COGxmBEP.cjs.map → ArrayplotWidget-DA4SCxEg.cjs.map} +1 -1
- package/dist/{BarColumn-DHP-zQ4R.js → BarColumn-BdIaQfOz.js} +3 -3
- package/dist/{BarColumn-DHP-zQ4R.js.map → BarColumn-BdIaQfOz.js.map} +1 -1
- package/dist/{BarColumn-BaPaYtki.cjs → BarColumn-C5VfAEOx.cjs} +2 -2
- package/dist/{BarColumn-BaPaYtki.cjs.map → BarColumn-C5VfAEOx.cjs.map} +1 -1
- package/dist/{BlockWidget-DLncsLLX.cjs → BlockWidget-C33RBqR2.cjs} +2 -2
- package/dist/{BlockWidget-DLncsLLX.cjs.map → BlockWidget-C33RBqR2.cjs.map} +1 -1
- package/dist/{BlockWidget-BmHSFvOq.js → BlockWidget-DSFKrUxl.js} +5 -5
- package/dist/{BlockWidget-BmHSFvOq.js.map → BlockWidget-DSFKrUxl.js.map} +1 -1
- package/dist/{ButtonWidget-C3ZWRjZZ.js → ButtonWidget-CFbjdxSr.js} +7 -7
- package/dist/{ButtonWidget-C3ZWRjZZ.js.map → ButtonWidget-CFbjdxSr.js.map} +1 -1
- package/dist/{ButtonWidget-BLePbTf_.cjs → ButtonWidget-DV33-G5z.cjs} +3 -3
- package/dist/{ButtonWidget-BLePbTf_.cjs.map → ButtonWidget-DV33-G5z.cjs.map} +1 -1
- package/dist/{CanvasWidget-CL-XzPF4.js → CanvasWidget-BloYxuKE.js} +3 -3
- package/dist/{CanvasWidget-CL-XzPF4.js.map → CanvasWidget-BloYxuKE.js.map} +1 -1
- package/dist/{CanvasWidget-C8Sy9t9G.cjs → CanvasWidget-CO5Ql5FM.cjs} +2 -2
- package/dist/{CanvasWidget-C8Sy9t9G.cjs.map → CanvasWidget-CO5Ql5FM.cjs.map} +1 -1
- package/dist/{CanvasdotWidget-D8Y9DgVE.js → CanvasdotWidget-CZxUOPRd.js} +3 -3
- package/dist/{CanvasdotWidget-D8Y9DgVE.js.map → CanvasdotWidget-CZxUOPRd.js.map} +1 -1
- package/dist/{CanvasdotWidget-6MPKD5iZ.cjs → CanvasdotWidget-v73CXaR2.cjs} +2 -2
- package/dist/{CanvasdotWidget-6MPKD5iZ.cjs.map → CanvasdotWidget-v73CXaR2.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-DYUaf3zy.cjs → CanvasimageWidget-CCwRuLep.cjs} +2 -2
- package/dist/{CanvasimageWidget-DYUaf3zy.cjs.map → CanvasimageWidget-CCwRuLep.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-DHSGK_tD.js → CanvasimageWidget-ULQq3nqZ.js} +4 -4
- package/dist/{CanvasimageWidget-DHSGK_tD.js.map → CanvasimageWidget-ULQq3nqZ.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-Bu1ECOWl.cjs → CanvasimagevalueWidget-NZYl_3mA.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-Bu1ECOWl.cjs.map → CanvasimagevalueWidget-NZYl_3mA.cjs.map} +1 -1
- package/dist/{CanvasimagevalueWidget-Btt_fQfC.js → CanvasimagevalueWidget-jFCVXYhi.js} +4 -4
- package/dist/{CanvasimagevalueWidget-Btt_fQfC.js.map → CanvasimagevalueWidget-jFCVXYhi.js.map} +1 -1
- package/dist/{CanvaslabelWidget-BF_8RTjv.js → CanvaslabelWidget-DQhBI1vZ.js} +3 -3
- package/dist/{CanvaslabelWidget-BF_8RTjv.js.map → CanvaslabelWidget-DQhBI1vZ.js.map} +1 -1
- package/dist/{CanvaslabelWidget-Dik-ld55.cjs → CanvaslabelWidget-XfEANCQ-.cjs} +2 -2
- package/dist/{CanvaslabelWidget-Dik-ld55.cjs.map → CanvaslabelWidget-XfEANCQ-.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-scbwaujI.js → CanvaslabelvalueWidget-C4REgztL.js} +3 -3
- package/dist/{CanvaslabelvalueWidget-scbwaujI.js.map → CanvaslabelvalueWidget-C4REgztL.js.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-BBlKBoZO.cjs → CanvaslabelvalueWidget-CJCZdHId.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-BBlKBoZO.cjs.map → CanvaslabelvalueWidget-CJCZdHId.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-DN0ojc37.cjs → CanvaslineWidget-DycxDsyJ.cjs} +2 -2
- package/dist/{CanvaslineWidget-DN0ojc37.cjs.map → CanvaslineWidget-DycxDsyJ.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-gRvm_-TT.js → CanvaslineWidget-S4PCEvZM.js} +3 -3
- package/dist/{CanvaslineWidget-gRvm_-TT.js.map → CanvaslineWidget-S4PCEvZM.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-CljziRek.js → CanvaslinevalueWidget-597khOSA.js} +3 -3
- package/dist/{CanvaslinevalueWidget-CljziRek.js.map → CanvaslinevalueWidget-597khOSA.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-Cz1XYp0r.cjs → CanvaslinevalueWidget-bChpy38C.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-Cz1XYp0r.cjs.map → CanvaslinevalueWidget-bChpy38C.cjs.map} +1 -1
- package/dist/{CheckbuttonWidget-BOabI_jE.js → CheckbuttonWidget-BcblKat3.js} +3 -3
- package/dist/{CheckbuttonWidget-BOabI_jE.js.map → CheckbuttonWidget-BcblKat3.js.map} +1 -1
- package/dist/{CheckbuttonWidget-B5jOzhZ4.cjs → CheckbuttonWidget-BwDttJTf.cjs} +2 -2
- package/dist/{CheckbuttonWidget-B5jOzhZ4.cjs.map → CheckbuttonWidget-BwDttJTf.cjs.map} +1 -1
- package/dist/{ClassificationBanners-CbcQDr3v.cjs → ClassificationBanners-CEzDn5cM.cjs} +2 -2
- package/dist/{ClassificationBanners-CbcQDr3v.cjs.map → ClassificationBanners-CEzDn5cM.cjs.map} +1 -1
- package/dist/{ClassificationBanners-BGDnMx4r.js → ClassificationBanners-CS4GUeYv.js} +2 -2
- package/dist/{ClassificationBanners-BGDnMx4r.js.map → ClassificationBanners-CS4GUeYv.js.map} +1 -1
- package/dist/{ComboboxWidget-BLXNYFiY.js → ComboboxWidget-BMcHS4g5.js} +3 -3
- package/dist/{ComboboxWidget-BLXNYFiY.js.map → ComboboxWidget-BMcHS4g5.js.map} +1 -1
- package/dist/{ComboboxWidget-_lxTm8Wb.cjs → ComboboxWidget-DkBtLQ41.cjs} +2 -2
- package/dist/{ComboboxWidget-_lxTm8Wb.cjs.map → ComboboxWidget-DkBtLQ41.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-niBmkudw.cjs → CriticalCmdDialog-C4DRtDnA.cjs} +2 -2
- package/dist/CriticalCmdDialog-C4DRtDnA.cjs.map +1 -0
- package/dist/{CriticalCmdDialog-CnNlsHRX.js → CriticalCmdDialog-CVLyYtng.js} +17 -17
- package/dist/CriticalCmdDialog-CVLyYtng.js.map +1 -0
- 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-BTqLCtLS.js → DateWidget-BpnMzSBn.js} +3 -3
- package/dist/{DateWidget-BTqLCtLS.js.map → DateWidget-BpnMzSBn.js.map} +1 -1
- package/dist/{DateWidget-BvabEAhO.cjs → DateWidget-CRFiLyxD.cjs} +2 -2
- package/dist/{DateWidget-BvabEAhO.cjs.map → DateWidget-CRFiLyxD.cjs.map} +1 -1
- package/dist/DetailsDialog-Brv3nVs3.cjs +2 -0
- package/dist/DetailsDialog-Brv3nVs3.cjs.map +1 -0
- package/dist/{DetailsDialog-BNCS3QAe.js → DetailsDialog-q9piPmHq.js} +77 -74
- package/dist/DetailsDialog-q9piPmHq.js.map +1 -0
- 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-BlcxcO8a.js} +129 -123
- package/dist/EventListDialog-BlcxcO8a.js.map +1 -0
- package/dist/EventListDialog-DXIYmkWb.cjs +2 -0
- package/dist/EventListDialog-DXIYmkWb.cjs.map +1 -0
- package/dist/{FormatvalueWidget-ulLzg1E-.cjs → FormatvalueWidget-AXH-VW-A.cjs} +2 -2
- package/dist/{FormatvalueWidget-ulLzg1E-.cjs.map → FormatvalueWidget-AXH-VW-A.cjs.map} +1 -1
- package/dist/{FormatvalueWidget-CLYx8qbg.js → FormatvalueWidget-Cm-HmAmw.js} +4 -4
- package/dist/{FormatvalueWidget-CLYx8qbg.js.map → FormatvalueWidget-Cm-HmAmw.js.map} +1 -1
- package/dist/{Graph-BliBYJxD.js → Graph-BEodMaxQ.js} +102 -95
- package/dist/Graph-BEodMaxQ.js.map +1 -0
- package/dist/Graph-wDFY6Kd7.cjs +2 -0
- package/dist/Graph-wDFY6Kd7.cjs.map +1 -0
- package/dist/{GraphWidget-g-0vO4_S.cjs → GraphWidget-B878ArE1.cjs} +2 -2
- package/dist/{GraphWidget-g-0vO4_S.cjs.map → GraphWidget-B878ArE1.cjs.map} +1 -1
- package/dist/{GraphWidget-Cb6Ozf54.js → GraphWidget-CAADBFV-.js} +2 -2
- package/dist/{GraphWidget-Cb6Ozf54.js.map → GraphWidget-CAADBFV-.js.map} +1 -1
- package/dist/{HorizontalWidget-BiEZZpZQ.cjs → HorizontalWidget-D2lXnQqQ.cjs} +2 -2
- package/dist/{HorizontalWidget-BiEZZpZQ.cjs.map → HorizontalWidget-D2lXnQqQ.cjs.map} +1 -1
- package/dist/{HorizontalWidget-AY2M01qP.js → HorizontalWidget-NcXIXxh7.js} +3 -3
- package/dist/{HorizontalWidget-AY2M01qP.js.map → HorizontalWidget-NcXIXxh7.js.map} +1 -1
- package/dist/{HorizontalboxWidget-CWq4ej6k.cjs → HorizontalboxWidget-BGzl7-Rt.cjs} +2 -2
- package/dist/{HorizontalboxWidget-CWq4ej6k.cjs.map → HorizontalboxWidget-BGzl7-Rt.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-2MEKvq_C.js → HorizontalboxWidget-CW9XX4uH.js} +6 -6
- package/dist/{HorizontalboxWidget-2MEKvq_C.js.map → HorizontalboxWidget-CW9XX4uH.js.map} +1 -1
- package/dist/{HorizontallineWidget-DgpOPA7q.js → HorizontallineWidget-Cu2dDt7k.js} +3 -3
- package/dist/{HorizontallineWidget-DgpOPA7q.js.map → HorizontallineWidget-Cu2dDt7k.js.map} +1 -1
- package/dist/{HorizontallineWidget-Dm5G1l4A.cjs → HorizontallineWidget-x2u6MQNz.cjs} +2 -2
- package/dist/{HorizontallineWidget-Dm5G1l4A.cjs.map → HorizontallineWidget-x2u6MQNz.cjs.map} +1 -1
- package/dist/{IframeWidget-DDw5t7eV.cjs → IframeWidget-B5simCWn.cjs} +2 -2
- package/dist/{IframeWidget-DDw5t7eV.cjs.map → IframeWidget-B5simCWn.cjs.map} +1 -1
- package/dist/{IframeWidget-UKKUl7k5.js → IframeWidget-BBU3MkSq.js} +3 -3
- package/dist/{IframeWidget-UKKUl7k5.js.map → IframeWidget-BBU3MkSq.js.map} +1 -1
- package/dist/{ImageLoader-9TCd0KxL.cjs → ImageLoader-Dj3MZVq9.cjs} +2 -2
- package/dist/{ImageLoader-9TCd0KxL.cjs.map → ImageLoader-Dj3MZVq9.cjs.map} +1 -1
- package/dist/{ImageLoader-C-CIL4YD.js → ImageLoader-XAGgjKkq.js} +2 -2
- package/dist/{ImageLoader-C-CIL4YD.js.map → ImageLoader-XAGgjKkq.js.map} +1 -1
- package/dist/{ImageviewerWidget-DpXzLOpF.cjs → ImageviewerWidget-BtuiORhN.cjs} +2 -2
- package/dist/{ImageviewerWidget-DpXzLOpF.cjs.map → ImageviewerWidget-BtuiORhN.cjs.map} +1 -1
- package/dist/{ImageviewerWidget-DhuQH5Io.js → ImageviewerWidget-UByjeO63.js} +3 -3
- package/dist/{ImageviewerWidget-DhuQH5Io.js.map → ImageviewerWidget-UByjeO63.js.map} +1 -1
- package/dist/{InterfacesTab-Dq3oAKqz.js → InterfacesTab-6hli9fcg.js} +7 -7
- package/dist/{InterfacesTab-Dq3oAKqz.js.map → InterfacesTab-6hli9fcg.js.map} +1 -1
- package/dist/{InterfacesTab-CiVfsUia.cjs → InterfacesTab-B1CwBWFu.cjs} +2 -2
- package/dist/{InterfacesTab-CiVfsUia.cjs.map → InterfacesTab-B1CwBWFu.cjs.map} +1 -1
- package/dist/{LabelWidget-SO9zqcNN.js → LabelWidget-BsOpolUL.js} +3 -3
- package/dist/{LabelWidget-SO9zqcNN.js.map → LabelWidget-BsOpolUL.js.map} +1 -1
- package/dist/{LabelWidget-D-m2gFIZ.cjs → LabelWidget-X4cBbl5N.cjs} +2 -2
- package/dist/{LabelWidget-D-m2gFIZ.cjs.map → LabelWidget-X4cBbl5N.cjs.map} +1 -1
- package/dist/{LabelledWidget-DWoM5AJ5.js → LabelledWidget-DVOGpgZ-.js} +5 -5
- package/dist/{LabelledWidget-DWoM5AJ5.js.map → LabelledWidget-DVOGpgZ-.js.map} +1 -1
- package/dist/{LabelledWidget-BFfsD2wz.cjs → LabelledWidget-DaHqSURc.cjs} +2 -2
- package/dist/{LabelledWidget-BFfsD2wz.cjs.map → LabelledWidget-DaHqSURc.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-D3vnkvQZ.js → LabelprogressbarWidget-BeE9fDs6.js} +5 -5
- package/dist/{LabelprogressbarWidget-D3vnkvQZ.js.map → LabelprogressbarWidget-BeE9fDs6.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-B8x5YimU.cjs → LabelprogressbarWidget-Cz3nXacL.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-B8x5YimU.cjs.map → LabelprogressbarWidget-Cz3nXacL.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-DO0T-Jot.js → LabelsparklineWidget-Bj7trKML.js} +5 -5
- package/dist/{LabelsparklineWidget-DO0T-Jot.js.map → LabelsparklineWidget-Bj7trKML.js.map} +1 -1
- package/dist/{LabelsparklineWidget-DyPaUfc9.cjs → LabelsparklineWidget-Bns8kwBj.cjs} +2 -2
- package/dist/{LabelsparklineWidget-DyPaUfc9.cjs.map → LabelsparklineWidget-Bns8kwBj.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-cTPG6Xqi.cjs → LabelvalueWidget-D-sncwem.cjs} +2 -2
- package/dist/{LabelvalueWidget-cTPG6Xqi.cjs.map → LabelvalueWidget-D-sncwem.cjs.map} +1 -1
- package/dist/{LabelvalueWidget-B6BbNFnk.js → LabelvalueWidget-Dwqsh5o2.js} +5 -5
- package/dist/{LabelvalueWidget-B6BbNFnk.js.map → LabelvalueWidget-Dwqsh5o2.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-CxfL-H9C.js → LabelvaluedescWidget-Cfu2vuja.js} +10 -10
- package/dist/{LabelvaluedescWidget-CxfL-H9C.js.map → LabelvaluedescWidget-Cfu2vuja.js.map} +1 -1
- package/dist/{LabelvaluedescWidget-C4sIZ0md.cjs → LabelvaluedescWidget-DmqG8dzJ.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-C4sIZ0md.cjs.map → LabelvaluedescWidget-DmqG8dzJ.cjs.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-BT5k9mHv.js → LabelvaluelimitsbarWidget-DYV68AJ_.js} +5 -5
- package/dist/{LabelvaluelimitsbarWidget-BT5k9mHv.js.map → LabelvaluelimitsbarWidget-DYV68AJ_.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-CBnU6Afl.cjs → LabelvaluelimitsbarWidget-_l7xjrX9.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-CBnU6Afl.cjs.map → LabelvaluelimitsbarWidget-_l7xjrX9.cjs.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-DUbmxh4p.js → LabelvaluelimitscolumnWidget-CtaoTixt.js} +6 -6
- package/dist/{LabelvaluelimitscolumnWidget-DUbmxh4p.js.map → LabelvaluelimitscolumnWidget-CtaoTixt.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-CwoMfO0P.cjs → LabelvaluelimitscolumnWidget-D0WEVZMc.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-CwoMfO0P.cjs.map → LabelvaluelimitscolumnWidget-D0WEVZMc.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-DexAc2UB.js → LabelvaluerangebarWidget-3EaUB6E6.js} +5 -5
- package/dist/{LabelvaluerangebarWidget-DexAc2UB.js.map → LabelvaluerangebarWidget-3EaUB6E6.js.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-DB4gw6Rd.cjs → LabelvaluerangebarWidget-BZTEfPQh.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-DB4gw6Rd.cjs.map → LabelvaluerangebarWidget-BZTEfPQh.cjs.map} +1 -1
- package/dist/{Layout-Dd6dRf3R.js → Layout-DNR3xnku.js} +2 -2
- package/dist/{Layout-Dd6dRf3R.js.map → Layout-DNR3xnku.js.map} +1 -1
- package/dist/Layout-U0MXDxLO.cjs +2 -0
- package/dist/{Layout-DvBekli8.cjs.map → Layout-U0MXDxLO.cjs.map} +1 -1
- package/dist/{LedWidget-D1RwHb_V.js → LedWidget-Gi6GXtrW.js} +5 -5
- package/dist/{LedWidget-D1RwHb_V.js.map → LedWidget-Gi6GXtrW.js.map} +1 -1
- package/dist/{LedWidget-a99ygZOA.cjs → LedWidget-MAyRDM2n.cjs} +2 -2
- package/dist/{LedWidget-a99ygZOA.cjs.map → LedWidget-MAyRDM2n.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-ClOmoV50.js → LimitsbarWidget-BTZQY9XQ.js} +3 -3
- package/dist/{LimitsbarWidget-ClOmoV50.js.map → LimitsbarWidget-BTZQY9XQ.js.map} +1 -1
- package/dist/{LimitsbarWidget-DaHpj-rM.cjs → LimitsbarWidget-ytyfCphX.cjs} +2 -2
- package/dist/{LimitsbarWidget-DaHpj-rM.cjs.map → LimitsbarWidget-ytyfCphX.cjs.map} +1 -1
- package/dist/{LimitscolorWidget-CBUoEYKp.js → LimitscolorWidget-CFnmvlrA.js} +3 -3
- package/dist/{LimitscolorWidget-CBUoEYKp.js.map → LimitscolorWidget-CFnmvlrA.js.map} +1 -1
- package/dist/{LimitscolorWidget-D4nPHQlI.cjs → LimitscolorWidget-CeZYYSQn.cjs} +2 -2
- package/dist/{LimitscolorWidget-D4nPHQlI.cjs.map → LimitscolorWidget-CeZYYSQn.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-wIx0L9hb.cjs → LimitscolumnWidget-CXzLYznR.cjs} +2 -2
- package/dist/{LimitscolumnWidget-wIx0L9hb.cjs.map → LimitscolumnWidget-CXzLYznR.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-hsHkmY-_.js → LimitscolumnWidget-DSsz36tT.js} +3 -3
- package/dist/{LimitscolumnWidget-hsHkmY-_.js.map → LimitscolumnWidget-DSsz36tT.js.map} +1 -1
- package/dist/{LinegraphWidget-CXrKtxOo.js → LinegraphWidget-CeBijgDo.js} +5 -5
- package/dist/{LinegraphWidget-CXrKtxOo.js.map → LinegraphWidget-CeBijgDo.js.map} +1 -1
- package/dist/{LinegraphWidget-BRnwhfEQ.cjs → LinegraphWidget-WVSJOuTE.cjs} +2 -2
- package/dist/{LinegraphWidget-BRnwhfEQ.cjs.map → LinegraphWidget-WVSJOuTE.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-3jldaS14.cjs → MatrixbycolumnsWidget-COWMt_-r.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-3jldaS14.cjs.map → MatrixbycolumnsWidget-COWMt_-r.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-CsogVU9c.js → MatrixbycolumnsWidget-DX9uhjAv.js} +4 -4
- package/dist/{MatrixbycolumnsWidget-CsogVU9c.js.map → MatrixbycolumnsWidget-DX9uhjAv.js.map} +1 -1
- package/dist/{MicroservicesTab-DzEvbxlM.js → MicroservicesTab-BSSCh5Ss.js} +5 -5
- package/dist/{MicroservicesTab-DzEvbxlM.js.map → MicroservicesTab-BSSCh5Ss.js.map} +1 -1
- package/dist/{MicroservicesTab-3pNZZ5I0.cjs → MicroservicesTab-Btw8r_9N.cjs} +2 -2
- package/dist/{MicroservicesTab-3pNZZ5I0.cjs.map → MicroservicesTab-Btw8r_9N.cjs.map} +1 -1
- package/dist/Openc3Screen-DIN4KVsw.cjs +6 -0
- package/dist/Openc3Screen-DIN4KVsw.cjs.map +1 -0
- package/dist/{Openc3Screen-Cqm5Xtd-.js → Openc3Screen-iW_gaikc.js} +266 -253
- package/dist/Openc3Screen-iW_gaikc.js.map +1 -0
- package/dist/{OutputDialog-7M4L50tA.js → OutputDialog-BMzp6wy3.js} +3 -3
- package/dist/{OutputDialog-7M4L50tA.js.map → OutputDialog-BMzp6wy3.js.map} +1 -1
- package/dist/{OutputDialog-CnDQxHTZ.cjs → OutputDialog-CKObLICh.cjs} +2 -2
- package/dist/{OutputDialog-CnDQxHTZ.cjs.map → OutputDialog-CKObLICh.cjs.map} +1 -1
- package/dist/{PackagesTab-N4SD1Pxj.js → PackagesTab-BascLTCK.js} +4 -4
- package/dist/{PackagesTab-N4SD1Pxj.js.map → PackagesTab-BascLTCK.js.map} +1 -1
- package/dist/{PackagesTab-DPPXZvoV.cjs → PackagesTab-D_1kbMkk.cjs} +2 -2
- package/dist/{PackagesTab-DPPXZvoV.cjs.map → PackagesTab-D_1kbMkk.cjs.map} +1 -1
- package/dist/PluginsTab-CjYoMrbj.cjs +6 -0
- package/dist/PluginsTab-CjYoMrbj.cjs.map +1 -0
- package/dist/{PluginsTab-C7PH2Wym.js → PluginsTab-Yz9HZqpp.js} +376 -294
- package/dist/PluginsTab-Yz9HZqpp.js.map +1 -0
- package/dist/{ProgressbarWidget-CPeGR-Az.cjs → ProgressbarWidget-BUSOhcZ3.cjs} +2 -2
- package/dist/{ProgressbarWidget-CPeGR-Az.cjs.map → ProgressbarWidget-BUSOhcZ3.cjs.map} +1 -1
- package/dist/{ProgressbarWidget-CO6CEkxP.js → ProgressbarWidget-DJepvOip.js} +3 -3
- package/dist/{ProgressbarWidget-CO6CEkxP.js.map → ProgressbarWidget-DJepvOip.js.map} +1 -1
- package/dist/{RadiobuttonWidget-DrxUclws.js → RadiobuttonWidget-4e8ROIfg.js} +3 -3
- package/dist/{RadiobuttonWidget-DrxUclws.js.map → RadiobuttonWidget-4e8ROIfg.js.map} +1 -1
- package/dist/{RadiobuttonWidget-DucgkAYD.cjs → RadiobuttonWidget-D4Fka1eN.cjs} +2 -2
- package/dist/{RadiobuttonWidget-DucgkAYD.cjs.map → RadiobuttonWidget-D4Fka1eN.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-DN9C38cg.js → RadiogroupWidget-CUucj6aT.js} +3 -3
- package/dist/{RadiogroupWidget-DN9C38cg.js.map → RadiogroupWidget-CUucj6aT.js.map} +1 -1
- package/dist/{RadiogroupWidget-C7oVFRf3.cjs → RadiogroupWidget-DU9G6qLq.cjs} +2 -2
- package/dist/{RadiogroupWidget-C7oVFRf3.cjs.map → RadiogroupWidget-DU9G6qLq.cjs.map} +1 -1
- package/dist/{RangebarWidget-5uQTfLMP.js → RangebarWidget-Bu4rqlrx.js} +3 -3
- package/dist/{RangebarWidget-5uQTfLMP.js.map → RangebarWidget-Bu4rqlrx.js.map} +1 -1
- package/dist/{RangebarWidget-Da9S3KMB.cjs → RangebarWidget-DlMJo2o3.cjs} +2 -2
- package/dist/{RangebarWidget-Da9S3KMB.cjs.map → RangebarWidget-DlMJo2o3.cjs.map} +1 -1
- package/dist/{RedisTab-Cyrr_g9k.js → RedisTab-C00rFmdl.js} +3 -3
- package/dist/{RedisTab-Cyrr_g9k.js.map → RedisTab-C00rFmdl.js.map} +1 -1
- package/dist/{RedisTab-BFTaPNRc.cjs → RedisTab-Dz4m_JfV.cjs} +2 -2
- package/dist/{RedisTab-BFTaPNRc.cjs.map → RedisTab-Dz4m_JfV.cjs.map} +1 -1
- package/dist/{RollupWidget-B0DCULnu.js → RollupWidget-ByLvEEau.js} +3 -3
- package/dist/{RollupWidget-B0DCULnu.js.map → RollupWidget-ByLvEEau.js.map} +1 -1
- package/dist/{RollupWidget-DK0eFASs.cjs → RollupWidget-D-Dx6Dkx.cjs} +2 -2
- package/dist/{RollupWidget-DK0eFASs.cjs.map → RollupWidget-D-Dx6Dkx.cjs.map} +1 -1
- package/dist/{RoutersTab-BAfpG8k3.js → RoutersTab-CEe4oS0x.js} +7 -7
- package/dist/{RoutersTab-BAfpG8k3.js.map → RoutersTab-CEe4oS0x.js.map} +1 -1
- package/dist/{RoutersTab-B8JIxjdI.cjs → RoutersTab-CyjPaVVb.cjs} +2 -2
- package/dist/{RoutersTab-B8JIxjdI.cjs.map → RoutersTab-CyjPaVVb.cjs.map} +1 -1
- package/dist/ScriptChooser-B83Pgq2H.cjs +2 -0
- package/dist/ScriptChooser-B83Pgq2H.cjs.map +1 -0
- package/dist/{ScriptChooser-ahp4Tu3O.js → ScriptChooser-CbVbI0x-.js} +55 -50
- package/dist/ScriptChooser-CbVbI0x-.js.map +1 -0
- package/dist/{ScrollwindowWidget-xM_R_Arq.cjs → ScrollwindowWidget-0UcfntpY.cjs} +2 -2
- package/dist/{ScrollwindowWidget-xM_R_Arq.cjs.map → ScrollwindowWidget-0UcfntpY.cjs.map} +1 -1
- package/dist/{ScrollwindowWidget-BOkZQgtf.js → ScrollwindowWidget-CXJ9QGN1.js} +4 -4
- package/dist/{ScrollwindowWidget-BOkZQgtf.js.map → ScrollwindowWidget-CXJ9QGN1.js.map} +1 -1
- package/dist/{SecretsTab-DoHYppoO.cjs → SecretsTab-B07A5MeK.cjs} +2 -2
- package/dist/{SecretsTab-DoHYppoO.cjs.map → SecretsTab-B07A5MeK.cjs.map} +1 -1
- package/dist/{SecretsTab-D5RxHYVp.js → SecretsTab-DFrxV8Q8.js} +8 -8
- package/dist/{SecretsTab-D5RxHYVp.js.map → SecretsTab-DFrxV8Q8.js.map} +1 -1
- package/dist/{SettingsTab-Dvnzqzdp.cjs → SettingsTab-CDaG6VS1.cjs} +2 -2
- package/dist/{SettingsTab-Dvnzqzdp.cjs.map → SettingsTab-CDaG6VS1.cjs.map} +1 -1
- package/dist/{SettingsTab-CKGQEwd_.js → SettingsTab-CpLxrjTc.js} +5 -5
- package/dist/{SettingsTab-CKGQEwd_.js.map → SettingsTab-CpLxrjTc.js.map} +1 -1
- package/dist/{SignalWidget-BWKgNMdV.cjs → SignalWidget-DhS8nGJu.cjs} +2 -2
- package/dist/{SignalWidget-BWKgNMdV.cjs.map → SignalWidget-DhS8nGJu.cjs.map} +1 -1
- package/dist/{SignalWidget-Cis0Xkea.js → SignalWidget-qvL2YZJA.js} +3 -3
- package/dist/{SignalWidget-Cis0Xkea.js.map → SignalWidget-qvL2YZJA.js.map} +1 -1
- package/dist/{SimpleTextDialog-D2mEDvGY.js → SimpleTextDialog--iSWgPgq.js} +7 -7
- package/dist/SimpleTextDialog--iSWgPgq.js.map +1 -0
- package/dist/{SimpleTextDialog-BCNn5FZh.cjs → SimpleTextDialog-tZ7qO1zq.cjs} +2 -2
- package/dist/SimpleTextDialog-tZ7qO1zq.cjs.map +1 -0
- package/dist/{SpacerWidget-_daU5QnM.cjs → SpacerWidget-CUrYZDLP.cjs} +2 -2
- package/dist/{SpacerWidget-_daU5QnM.cjs.map → SpacerWidget-CUrYZDLP.cjs.map} +1 -1
- package/dist/{SpacerWidget-CLcqC2Qk.js → SpacerWidget-CaWx41K7.js} +3 -3
- package/dist/{SpacerWidget-CLcqC2Qk.js.map → SpacerWidget-CaWx41K7.js.map} +1 -1
- package/dist/{SparklineWidget-qRnlPzJ_.cjs → SparklineWidget-BOnHnJOh.cjs} +2 -2
- package/dist/{SparklineWidget-qRnlPzJ_.cjs.map → SparklineWidget-BOnHnJOh.cjs.map} +1 -1
- package/dist/{SparklineWidget-CTp83eZ-.js → SparklineWidget-BkNSRypJ.js} +5 -5
- package/dist/{SparklineWidget-CTp83eZ-.js.map → SparklineWidget-BkNSRypJ.js.map} +1 -1
- package/dist/{TabbookWidget-C0Fvv-o5.cjs → TabbookWidget-BTvyYn7i.cjs} +2 -2
- package/dist/{TabbookWidget-C0Fvv-o5.cjs.map → TabbookWidget-BTvyYn7i.cjs.map} +1 -1
- package/dist/{TabbookWidget-uucd-zsX.js → TabbookWidget-MsrRG1vn.js} +3 -3
- package/dist/{TabbookWidget-uucd-zsX.js.map → TabbookWidget-MsrRG1vn.js.map} +1 -1
- package/dist/TargetPacketItemChooser-CmjEcxN3.cjs +2 -0
- package/dist/TargetPacketItemChooser-CmjEcxN3.cjs.map +1 -0
- package/dist/{TargetPacketItemChooser-CXpSx-eA.js → TargetPacketItemChooser-oSQHf8Ht.js} +158 -108
- package/dist/TargetPacketItemChooser-oSQHf8Ht.js.map +1 -0
- package/dist/{TargetsTab-CM4ABe5y.js → TargetsTab-B6tf2hKl.js} +7 -7
- package/dist/{TargetsTab-CM4ABe5y.js.map → TargetsTab-B6tf2hKl.js.map} +1 -1
- package/dist/{TargetsTab-Ixql3xzm.cjs → TargetsTab-DwFb3_1K.cjs} +2 -2
- package/dist/{TargetsTab-Ixql3xzm.cjs.map → TargetsTab-DwFb3_1K.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-DrdMC0EB.cjs → TextboxWidget-CPmQEhMm.cjs} +2 -2
- package/dist/{TextboxWidget-DrdMC0EB.cjs.map → TextboxWidget-CPmQEhMm.cjs.map} +1 -1
- package/dist/{TextboxWidget-C2n38ti5.js → TextboxWidget-DbwpPVGB.js} +5 -5
- package/dist/{TextboxWidget-C2n38ti5.js.map → TextboxWidget-DbwpPVGB.js.map} +1 -1
- package/dist/{TextfieldWidget-VeOem1w3.cjs → TextfieldWidget-BzaNs7J4.cjs} +2 -2
- package/dist/{TextfieldWidget-VeOem1w3.cjs.map → TextfieldWidget-BzaNs7J4.cjs.map} +1 -1
- package/dist/{TextfieldWidget--HTv9ddk.js → TextfieldWidget-DzMlTMYW.js} +3 -3
- package/dist/{TextfieldWidget--HTv9ddk.js.map → TextfieldWidget-DzMlTMYW.js.map} +1 -1
- package/dist/{TimeWidget-CPNVZaUM.js → TimeWidget-BHybAfg8.js} +3 -3
- package/dist/{TimeWidget-CPNVZaUM.js.map → TimeWidget-BHybAfg8.js.map} +1 -1
- package/dist/{TimeWidget-C9ltUWFh.cjs → TimeWidget-DksEVe5c.cjs} +2 -2
- package/dist/{TimeWidget-C9ltUWFh.cjs.map → TimeWidget-DksEVe5c.cjs.map} +1 -1
- package/dist/{TitleWidget-IuUVZkLh.cjs → TitleWidget-C7_pj0lU.cjs} +2 -2
- package/dist/{TitleWidget-IuUVZkLh.cjs.map → TitleWidget-C7_pj0lU.cjs.map} +1 -1
- package/dist/{TitleWidget-Cp0cb6V8.js → TitleWidget-DL_sE5YE.js} +3 -3
- package/dist/{TitleWidget-Cp0cb6V8.js.map → TitleWidget-DL_sE5YE.js.map} +1 -1
- package/dist/{ToolsTab-DGjyBWkp.js → ToolsTab-CXoxIck8.js} +4 -4
- package/dist/{ToolsTab-DGjyBWkp.js.map → ToolsTab-CXoxIck8.js.map} +1 -1
- package/dist/{ToolsTab-Bgrj0eGr.cjs → ToolsTab-DTL8ujgd.cjs} +3 -3
- package/dist/{ToolsTab-Bgrj0eGr.cjs.map → ToolsTab-DTL8ujgd.cjs.map} +1 -1
- package/dist/TopBar-B8LJESUg.js +324 -0
- package/dist/TopBar-B8LJESUg.js.map +1 -0
- package/dist/TopBar-CGSMcenK.cjs +2 -0
- package/dist/TopBar-CGSMcenK.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog-C2Ggr_Xd.js → UpgradeToEnterpriseDialog-CqnhQ8So.js} +3 -3
- package/dist/{UpgradeToEnterpriseDialog-C2Ggr_Xd.js.map → UpgradeToEnterpriseDialog-CqnhQ8So.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-DtckZO3_.cjs → UpgradeToEnterpriseDialog-Dv_egyCM.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-DtckZO3_.cjs.map → UpgradeToEnterpriseDialog-Dv_egyCM.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-JEZNdnan.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-C3WTK6F-.js} +15036 -14930
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-C3WTK6F-.js.map +1 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-RGlL9jUF.cjs +1498 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-RGlL9jUF.cjs.map +1 -0
- package/dist/VWidget-CTcOKw09.cjs +2 -0
- package/dist/VWidget-CTcOKw09.cjs.map +1 -0
- package/dist/{VWidget-DQGJRgAk.js → VWidget-D06LY-Yc.js} +7 -7
- package/dist/VWidget-D06LY-Yc.js.map +1 -0
- package/dist/{ValueWidget-BmXm9dYt.cjs → ValueWidget-C2qn7lVq.cjs} +2 -2
- package/dist/{ValueWidget-BmXm9dYt.cjs.map → ValueWidget-C2qn7lVq.cjs.map} +1 -1
- package/dist/{ValueWidget-Bk1RFjks.js → ValueWidget-CGT0LV_n.js} +5 -5
- package/dist/{ValueWidget-Bk1RFjks.js.map → ValueWidget-CGT0LV_n.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-C0HIBYh2.js → ValuelimitsbarWidget-CmpyPO-1.js} +5 -5
- package/dist/{ValuelimitsbarWidget-C0HIBYh2.js.map → ValuelimitsbarWidget-CmpyPO-1.js.map} +1 -1
- package/dist/{ValuelimitsbarWidget-PjCpjhsr.cjs → ValuelimitsbarWidget-_lEKCmQl.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-PjCpjhsr.cjs.map → ValuelimitsbarWidget-_lEKCmQl.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-BGiDDUI_.cjs → ValuelimitscolumnWidget-0urjo-hR.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-BGiDDUI_.cjs.map → ValuelimitscolumnWidget-0urjo-hR.cjs.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-BTT90uyX.js → ValuelimitscolumnWidget-jzxrQd-f.js} +5 -5
- package/dist/{ValuelimitscolumnWidget-BTT90uyX.js.map → ValuelimitscolumnWidget-jzxrQd-f.js.map} +1 -1
- package/dist/{ValuerangebarWidget-CcQw_XK9.js → ValuerangebarWidget-C8ckuAeh.js} +5 -5
- package/dist/{ValuerangebarWidget-CcQw_XK9.js.map → ValuerangebarWidget-C8ckuAeh.js.map} +1 -1
- package/dist/{ValuerangebarWidget-ClmX-qH_.cjs → ValuerangebarWidget-lXHRe4YZ.cjs} +2 -2
- package/dist/{ValuerangebarWidget-ClmX-qH_.cjs.map → ValuerangebarWidget-lXHRe4YZ.cjs.map} +1 -1
- package/dist/{VerticalWidget-BeDWsvP6.cjs → VerticalWidget-XBSrdA2c.cjs} +2 -2
- package/dist/{VerticalWidget-BeDWsvP6.cjs.map → VerticalWidget-XBSrdA2c.cjs.map} +1 -1
- package/dist/{VerticalWidget-CNtFQv3R.js → VerticalWidget-qN82km_m.js} +3 -3
- package/dist/{VerticalWidget-CNtFQv3R.js.map → VerticalWidget-qN82km_m.js.map} +1 -1
- package/dist/{VerticalboxWidget-DlokKDBD.cjs → VerticalboxWidget-1FHkgmf0.cjs} +2 -2
- package/dist/{VerticalboxWidget-DlokKDBD.cjs.map → VerticalboxWidget-1FHkgmf0.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-Yxmz1SnU.js → VerticalboxWidget-CiJZDlHJ.js} +6 -6
- package/dist/{VerticalboxWidget-Yxmz1SnU.js.map → VerticalboxWidget-CiJZDlHJ.js.map} +1 -1
- package/dist/{Widget-HC1_yuQg.cjs → Widget-BwvnfXRa.cjs} +2 -2
- package/dist/{Widget-HC1_yuQg.cjs.map → Widget-BwvnfXRa.cjs.map} +1 -1
- package/dist/{Widget-LsyjS7ZS.js → Widget-DXvVFSH5.js} +2 -2
- package/dist/{Widget-LsyjS7ZS.js.map → Widget-DXvVFSH5.js.map} +1 -1
- package/dist/cmdUtilities--4ZqS2At.js +44 -0
- package/dist/{cmdUtilities-BMsSNjt_.js.map → cmdUtilities--4ZqS2At.js.map} +1 -1
- package/dist/{cmdUtilities-ChD8v8-7.cjs → cmdUtilities-N30xDV6q.cjs} +2 -2
- package/dist/{cmdUtilities-ChD8v8-7.cjs.map → cmdUtilities-N30xDV6q.cjs.map} +1 -1
- package/dist/components.cjs +2 -2
- package/dist/components.cjs.map +1 -1
- package/dist/components.js +93 -93
- package/dist/components.js.map +1 -1
- package/dist/composables.cjs +2 -0
- package/dist/composables.cjs.map +1 -0
- package/dist/composables.js +5 -0
- package/dist/composables.js.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{index-DS1ACWVr.js → index-3k1IXN1T.js} +244 -226
- package/dist/index-3k1IXN1T.js.map +1 -0
- package/dist/index-DlWUR7vt.cjs +7 -0
- package/dist/index-DlWUR7vt.cjs.map +1 -0
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +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-DRNFiuf0.js} +2 -2
- package/dist/{settings-DCxXjkio.js.map → settings-DRNFiuf0.js.map} +1 -1
- package/dist/{settings-zRw8EylV.cjs → settings-s8NuYKD-.cjs} +2 -2
- package/dist/{settings-zRw8EylV.cjs.map → settings-s8NuYKD-.cjs.map} +1 -1
- package/dist/tools/admin.cjs +5 -5
- package/dist/tools/admin.cjs.map +1 -1
- package/dist/tools/admin.js +605 -849
- 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 +925 -894
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/useContainerHeight-BAw05dIa.js +11 -0
- package/dist/useContainerHeight-BAw05dIa.js.map +1 -0
- package/dist/useContainerHeight-BEd4f2Lr.cjs +2 -0
- package/dist/useContainerHeight-BEd4f2Lr.cjs.map +1 -0
- package/dist/util.cjs +1 -1
- package/dist/util.js +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +64 -64
- package/package.json +23 -25
- package/dist/CriticalCmdDialog-CnNlsHRX.js.map +0 -1
- package/dist/CriticalCmdDialog-niBmkudw.cjs.map +0 -1
- package/dist/CustomIcon-Bop2mEnu.cjs +0 -2
- package/dist/DetailsDialog-BNCS3QAe.js.map +0 -1
- package/dist/DetailsDialog-DgN9Jcio.cjs +0 -2
- package/dist/DetailsDialog-DgN9Jcio.cjs.map +0 -1
- 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 +0 -6
- 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/TopBar-B48yYbtR.js +0 -296
- package/dist/TopBar-B48yYbtR.js.map +0 -1
- package/dist/TopBar-DLz-U85G.cjs +0 -2
- package/dist/TopBar-DLz-U85G.cjs.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.map +0 -1
- package/dist/VWidget-Cf9MXbCl.cjs +0 -2
- package/dist/VWidget-Cf9MXbCl.cjs.map +0 -1
- package/dist/VWidget-DQGJRgAk.js.map +0 -1
- package/dist/cmdUtilities-BMsSNjt_.js +0 -46
- package/dist/index-DS1ACWVr.js.map +0 -1
- package/dist/index-Nd4O4kac.cjs +0 -7
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedisTab-
|
|
1
|
+
{"version":3,"file":"RedisTab-Dz4m_JfV.cjs","sources":["../src/tools/admin/tabs/RedisTab.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 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-card>\n <v-card-title> Send Raw Redis Commands </v-card-title>\n <v-card-subtitle>\n THIS IS DANGEROUS. This allows you to interact directly with the\n underlying Redis database, making it easy to modify or delete data.\n <br /><br />\n Enter commands like you would at the Redis cli prompt:\n <code>ping</code> or\n <code>hget openc3__settings version</code>\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <v-text-field\n v-model=\"redisCommandText\"\n hide-details\n label=\"Redis command\"\n class=\"monospace\"\n @keydown=\"commandKeydown\"\n />\n <v-checkbox\n v-model=\"prettyPrint\"\n label=\"Pretty print\"\n density=\"compact\"\n hide-details\n class=\"mb-2\"\n />\n <template v-if=\"redisResponse\">\n <pre v-if=\"prettyPrint\" v-text=\"formattedResponse\" />\n <span v-else class=\"monospace\"> Response: {{ redisResponse }} </span>\n </template>\n </v-card-text>\n <v-card-actions class=\"px-2\">\n <v-btn\n :disabled=\"!redisCommandText.length\"\n color=\"success\"\n variant=\"text\"\n @click=\"executeRaw\"\n >\n Execute\n </v-btn>\n <v-radio-group v-model=\"redisEndpoint\" inline hide-details class=\"mt-0\">\n <v-radio\n label=\"Persistent\"\n value=\"/openc3-api/redis/exec\"\n data-test=\"persistent-radio\"\n />\n <v-radio\n label=\"Ephemeral\"\n value=\"/openc3-api/redis/exec?ephemeral=1\"\n data-test=\"ephemeral-radio\"\n />\n </v-radio-group>\n </v-card-actions>\n\n <v-data-table\n :headers=\"headers\"\n :items=\"commands\"\n class=\"monospace\"\n :items-per-page=\"-1\"\n hide-default-footer\n density=\"compact\"\n height=\"45vh\"\n >\n </v-data-table>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n data() {\n return {\n redisCommandText: '',\n redisResponse: null,\n redisEndpoint: '/openc3-api/redis/exec',\n prettyPrint: false,\n headers: [\n { text: 'Redis', value: 'redis', width: 150 },\n { text: 'Command', value: 'command' },\n { text: 'Response', value: 'response' },\n ],\n commands: [],\n }\n },\n computed: {\n formattedResponse: function () {\n let result = this.redisResponse\n if (this.redisResponse && this.prettyPrint) {\n if (typeof result === 'string') {\n try {\n result = JSON.parse(result)\n } catch (e) {\n // Oh 🐋\n }\n }\n if (Array.isArray(result)) {\n for (let i = 0; i < result.length; i++) {\n if (typeof result[i] === 'string') {\n try {\n result[i] = JSON.parse(result[i])\n } catch (e) {\n // Oh 🐋\n }\n }\n }\n }\n }\n result = JSON.stringify(result, null, 2)\n return `Response: ${result}`\n },\n },\n methods: {\n commandKeydown: function ($event) {\n $event.key === 'Enter' && this.executeRaw()\n },\n executeRaw: function () {\n this.redisResponse = null\n Api.post(this.redisEndpoint, {\n data: this.redisCommandText,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'plain/text',\n },\n }).then((response) => {\n this.redisResponse = response.data.result\n let redis = 'Ephemeral'\n if (this.redisEndpoint === '/openc3-api/redis/exec') {\n redis = 'Persistent'\n }\n this.commands.unshift({\n redis: redis,\n command: this.redisCommandText,\n response: this.redisResponse,\n })\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.monospace {\n font-family: monospace;\n font-size: 14px;\n}\n</style>\n"],"names":["_sfc_main","result","i","$event","Api","response","redis","_createElementBlock","_createVNode","_component_v_card","_component_v_card_title","_cache","_component_v_card_subtitle","_createElementVNode","_component_v_card_text","_component_v_text_field","$data","$options","_component_v_checkbox","_Fragment","_toDisplayString","_openBlock","_hoisted_2","_component_v_card_actions","_component_v_btn","_component_v_radio_group","_component_v_radio","_component_v_data_table"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { W as a } from "./Widget-
|
|
1
|
+
import { W as a } from "./Widget-DXvVFSH5.js";
|
|
2
2
|
import { resolveComponent as l, createBlock as n, openBlock as c, normalizeStyle as o } from "vue";
|
|
3
|
-
import { _ as u } from "./CustomIcon-
|
|
3
|
+
import { _ as u } from "./CustomIcon-DTfsnDJn.js";
|
|
4
4
|
const m = {
|
|
5
5
|
mixins: [a],
|
|
6
6
|
props: {
|
|
@@ -80,4 +80,4 @@ const E = /* @__PURE__ */ u(m, [["render", h]]);
|
|
|
80
80
|
export {
|
|
81
81
|
E as default
|
|
82
82
|
};
|
|
83
|
-
//# sourceMappingURL=RollupWidget-
|
|
83
|
+
//# sourceMappingURL=RollupWidget-ByLvEEau.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RollupWidget-
|
|
1
|
+
{"version":3,"file":"RollupWidget-ByLvEEau.js","sources":["../src/widgets/RollupWidget.vue"],"sourcesContent":["<!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <rux-monitoring-icon\n class=\"rux-icon\"\n :style=\"[pointerStyle, computedStyle]\"\n :icon=\"icon\"\n :status=\"status\"\n :label=\"label\"\n :sublabel=\"subLabel\"\n @click=\"clickHandler\"\n ></rux-monitoring-icon>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n default: null,\n },\n },\n data: function () {\n return {\n valueId: null,\n icon: '',\n label: '',\n subLabel: '',\n items: [],\n screenTarget: null,\n screenName: null,\n }\n },\n computed: {\n status: function () {\n let state = 'off'\n // Calculate the overall state of all the items we care about\n for (const item of this.items) {\n let limitsState = this.screenValues[item][1]\n if (limitsState) {\n if (\n (limitsState.includes('BLUE') || limitsState.includes('GREEN')) &&\n state != 'caution' &&\n state != 'critical'\n ) {\n state = 'normal'\n }\n if (limitsState.includes('YELLOW') && state != 'critical') {\n state = 'caution'\n }\n if (limitsState.includes('RED')) {\n state = 'critical'\n }\n }\n }\n return state\n },\n pointerStyle() {\n if (this.screenTarget && this.screenName) {\n return {\n cursor: 'pointer',\n }\n } else {\n return {\n cursor: 'default',\n }\n }\n },\n },\n created: function () {\n this.icon = this.parameters[0]\n this.label = this.parameters[1]\n this.subLabel = this.parameters[2]\n\n // This was an attempt at dynamically importing the rux icon they requested.\n // However, webpack looks at the import line and tries to process all the files.\n // Good discussion here: https://github.com/webpack/webpack/issues/6680\n // and here: https://github.com/webpack/webpack/issues/4175\n // Perhaps there's a way to ignore stuff but we'd still be importing ALL\n // the files which is a LOT. Instead we just import all the icons we need in\n // openc3-cosmos-init/plugins/openc3-tool-base/src/plugins/vuetify.js\n\n // import(\n // `@astrouxds/astro-web-components/dist/components/rux-icon-${this.icon}`\n // ).then((module) => {\n // // First key of the module is the name of the class\n // let name = Object.keys(module)[0]\n // try {\n // customElements.define(`rux-icon-${this.icon}`, module[name])\n // } catch (e) {\n // // Catch the fact that the icon probably already exists and move on\n // }\n // })\n\n this.appliedSettings.forEach((setting) => {\n switch (setting[0].toUpperCase()) {\n // Create a link to an existing screen\n case 'SCREEN':\n this.screenTarget = setting[1]\n this.screenName = setting[2]\n break\n\n // Create the list of rollup telemetry\n case 'TLM':\n let type = 'CONVERTED'\n if (setting[4]) {\n type = setting[4]\n }\n let item = `${setting[1]}__${setting[2]}__${setting[3]}__${type}`\n this.items.push(item)\n this.$emit('addItem', item)\n break\n }\n })\n },\n unmounted: function () {\n this.items.forEach((item) => {\n this.$emit('deleteItem', item)\n })\n },\n methods: {\n clickHandler() {\n if (this.screenTarget && this.screenName) {\n this.$emit('open', this.screenTarget, this.screenName)\n }\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","state","item","limitsState","setting","type","_createBlock","_component_rux_monitoring_icon","_normalizeStyle","$options","_ctx"],"mappings":";;;AAiCA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,SAAS;AAAA;;EAGb,MAAM,WAAY;AAChB,WAAO;AAAA,MACL,SAAS;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO,CAAA;AAAA,MACP,cAAc;AAAA,MACd,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,QAAQ,WAAY;AAClB,UAAIC,IAAQ;AAEZ,iBAAWC,KAAQ,KAAK,OAAO;AAC7B,YAAIC,IAAc,KAAK,aAAaD,CAAI,EAAE,CAAC;AAC3C,QAAIC,OAECA,EAAY,SAAS,MAAM,KAAKA,EAAY,SAAS,OAAO,MAC7DF,KAAS,aACTA,KAAS,eAETA,IAAQ,WAENE,EAAY,SAAS,QAAQ,KAAKF,KAAS,eAC7CA,IAAQ,YAENE,EAAY,SAAS,KAAK,MAC5BF,IAAQ;AAAA,MAGd;AACA,aAAOA;AAAA,IACT;AAAA,IACA,eAAe;AACb,aAAI,KAAK,gBAAgB,KAAK,aACrB;AAAA,QACL,QAAQ;AAAA,MACV,IAEO;AAAA,QACL,QAAQ;AAAA,MACV;AAAA,IAEJ;AAAA;EAEF,SAAS,WAAY;AACnB,SAAK,OAAO,KAAK,WAAW,CAAC,GAC7B,KAAK,QAAQ,KAAK,WAAW,CAAC,GAC9B,KAAK,WAAW,KAAK,WAAW,CAAC,GAsBjC,KAAK,gBAAgB,QAAQ,CAACG,MAAY;AACxC,cAAQA,EAAQ,CAAC,EAAE,YAAW,GAAE;AAAA;AAAA,QAE9B,KAAK;AACH,eAAK,eAAeA,EAAQ,CAAC,GAC7B,KAAK,aAAaA,EAAQ,CAAC;AAC3B;AAAA;AAAA,QAGF,KAAK;AACH,cAAIC,IAAO;AACX,UAAID,EAAQ,CAAC,MACXC,IAAOD,EAAQ,CAAC;AAElB,cAAIF,IAAO,GAAGE,EAAQ,CAAC,CAAC,KAAKA,EAAQ,CAAC,CAAC,KAAKA,EAAQ,CAAC,CAAC,KAAKC,CAAI;AAC/D,eAAK,MAAM,KAAKH,CAAI,GACpB,KAAK,MAAM,WAAWA,CAAI;AAC1B;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,WAAW,WAAY;AACrB,SAAK,MAAM,QAAQ,CAACA,MAAS;AAC3B,WAAK,MAAM,cAAcA,CAAI;AAAA,IAC/B,CAAC;AAAA,EACH;AAAA,EACA,SAAS;AAAA,IACP,eAAe;AACb,MAAI,KAAK,gBAAgB,KAAK,cAC5B,KAAK,MAAM,QAAQ,KAAK,cAAc,KAAK,UAAU;AAAA,IAEzD;AAAA;AAEJ;;;cA9HEI,EAQuBC,GAAA;AAAA,IAPrB,OAAM;AAAA,IACL,OAAKC,EAAA,CAAGC,EAAA,cAAcC,EAAA,aAAa,CAAA;AAAA,IACnC,MAAMA,EAAA;AAAA,IACN,QAAQD,EAAA;AAAA,IACR,OAAOC,EAAA;AAAA,IACP,UAAUA,EAAA;AAAA,IACV,SAAOD,EAAA;AAAA;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./Widget-
|
|
2
|
-
//# sourceMappingURL=RollupWidget-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./Widget-BwvnfXRa.cjs"),s=require("vue"),c=require("./CustomIcon-eie3rPKh.cjs"),a={mixins:[l.Widget],props:{value:{default:null}},data:function(){return{valueId:null,icon:"",label:"",subLabel:"",items:[],screenTarget:null,screenName:null}},computed:{status:function(){let e="off";for(const i of this.items){let t=this.screenValues[i][1];t&&((t.includes("BLUE")||t.includes("GREEN"))&&e!="caution"&&e!="critical"&&(e="normal"),t.includes("YELLOW")&&e!="critical"&&(e="caution"),t.includes("RED")&&(e="critical"))}return e},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.icon=this.parameters[0],this.label=this.parameters[1],this.subLabel=this.parameters[2],this.appliedSettings.forEach(e=>{switch(e[0].toUpperCase()){case"SCREEN":this.screenTarget=e[1],this.screenName=e[2];break;case"TLM":let i="CONVERTED";e[4]&&(i=e[4]);let t=`${e[1]}__${e[2]}__${e[3]}__${i}`;this.items.push(t),this.$emit("addItem",t);break}})},unmounted:function(){this.items.forEach(e=>{this.$emit("deleteItem",e)})},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}};function o(e,i,t,m,d,r){const n=s.resolveComponent("rux-monitoring-icon");return s.openBlock(),s.createBlock(n,{class:"rux-icon",style:s.normalizeStyle([r.pointerStyle,e.computedStyle]),icon:e.icon,status:r.status,label:e.label,sublabel:e.subLabel,onClick:r.clickHandler},null,8,["style","icon","status","label","sublabel","onClick"])}const u=c._export_sfc(a,[["render",o]]);exports.default=u;
|
|
2
|
+
//# sourceMappingURL=RollupWidget-D-Dx6Dkx.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RollupWidget-
|
|
1
|
+
{"version":3,"file":"RollupWidget-D-Dx6Dkx.cjs","sources":["../src/widgets/RollupWidget.vue"],"sourcesContent":["<!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <rux-monitoring-icon\n class=\"rux-icon\"\n :style=\"[pointerStyle, computedStyle]\"\n :icon=\"icon\"\n :status=\"status\"\n :label=\"label\"\n :sublabel=\"subLabel\"\n @click=\"clickHandler\"\n ></rux-monitoring-icon>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n default: null,\n },\n },\n data: function () {\n return {\n valueId: null,\n icon: '',\n label: '',\n subLabel: '',\n items: [],\n screenTarget: null,\n screenName: null,\n }\n },\n computed: {\n status: function () {\n let state = 'off'\n // Calculate the overall state of all the items we care about\n for (const item of this.items) {\n let limitsState = this.screenValues[item][1]\n if (limitsState) {\n if (\n (limitsState.includes('BLUE') || limitsState.includes('GREEN')) &&\n state != 'caution' &&\n state != 'critical'\n ) {\n state = 'normal'\n }\n if (limitsState.includes('YELLOW') && state != 'critical') {\n state = 'caution'\n }\n if (limitsState.includes('RED')) {\n state = 'critical'\n }\n }\n }\n return state\n },\n pointerStyle() {\n if (this.screenTarget && this.screenName) {\n return {\n cursor: 'pointer',\n }\n } else {\n return {\n cursor: 'default',\n }\n }\n },\n },\n created: function () {\n this.icon = this.parameters[0]\n this.label = this.parameters[1]\n this.subLabel = this.parameters[2]\n\n // This was an attempt at dynamically importing the rux icon they requested.\n // However, webpack looks at the import line and tries to process all the files.\n // Good discussion here: https://github.com/webpack/webpack/issues/6680\n // and here: https://github.com/webpack/webpack/issues/4175\n // Perhaps there's a way to ignore stuff but we'd still be importing ALL\n // the files which is a LOT. Instead we just import all the icons we need in\n // openc3-cosmos-init/plugins/openc3-tool-base/src/plugins/vuetify.js\n\n // import(\n // `@astrouxds/astro-web-components/dist/components/rux-icon-${this.icon}`\n // ).then((module) => {\n // // First key of the module is the name of the class\n // let name = Object.keys(module)[0]\n // try {\n // customElements.define(`rux-icon-${this.icon}`, module[name])\n // } catch (e) {\n // // Catch the fact that the icon probably already exists and move on\n // }\n // })\n\n this.appliedSettings.forEach((setting) => {\n switch (setting[0].toUpperCase()) {\n // Create a link to an existing screen\n case 'SCREEN':\n this.screenTarget = setting[1]\n this.screenName = setting[2]\n break\n\n // Create the list of rollup telemetry\n case 'TLM':\n let type = 'CONVERTED'\n if (setting[4]) {\n type = setting[4]\n }\n let item = `${setting[1]}__${setting[2]}__${setting[3]}__${type}`\n this.items.push(item)\n this.$emit('addItem', item)\n break\n }\n })\n },\n unmounted: function () {\n this.items.forEach((item) => {\n this.$emit('deleteItem', item)\n })\n },\n methods: {\n clickHandler() {\n if (this.screenTarget && this.screenName) {\n this.$emit('open', this.screenTarget, this.screenName)\n }\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","state","item","limitsState","setting","type","_createBlock","_component_rux_monitoring_icon","_normalizeStyle","$options","_ctx"],"mappings":"iLAiCKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,MAAO,CACL,QAAS,OAGb,KAAM,UAAY,CAChB,MAAO,CACL,QAAS,KACT,KAAM,GACN,MAAO,GACP,SAAU,GACV,MAAO,CAAA,EACP,aAAc,KACd,WAAY,IACd,CACF,EACA,SAAU,CACR,OAAQ,UAAY,CAClB,IAAIC,EAAQ,MAEZ,UAAWC,KAAQ,KAAK,MAAO,CAC7B,IAAIC,EAAc,KAAK,aAAaD,CAAI,EAAE,CAAC,EACvCC,KAECA,EAAY,SAAS,MAAM,GAAKA,EAAY,SAAS,OAAO,IAC7DF,GAAS,WACTA,GAAS,aAETA,EAAQ,UAENE,EAAY,SAAS,QAAQ,GAAKF,GAAS,aAC7CA,EAAQ,WAENE,EAAY,SAAS,KAAK,IAC5BF,EAAQ,YAGd,CACA,OAAOA,CACT,EACA,cAAe,CACb,OAAI,KAAK,cAAgB,KAAK,WACrB,CACL,OAAQ,SACV,EAEO,CACL,OAAQ,SACV,CAEJ,GAEF,QAAS,UAAY,CACnB,KAAK,KAAO,KAAK,WAAW,CAAC,EAC7B,KAAK,MAAQ,KAAK,WAAW,CAAC,EAC9B,KAAK,SAAW,KAAK,WAAW,CAAC,EAsBjC,KAAK,gBAAgB,QAASG,GAAY,CACxC,OAAQA,EAAQ,CAAC,EAAE,YAAW,EAAE,CAE9B,IAAK,SACH,KAAK,aAAeA,EAAQ,CAAC,EAC7B,KAAK,WAAaA,EAAQ,CAAC,EAC3B,MAGF,IAAK,MACH,IAAIC,EAAO,YACPD,EAAQ,CAAC,IACXC,EAAOD,EAAQ,CAAC,GAElB,IAAIF,EAAO,GAAGE,EAAQ,CAAC,CAAC,KAAKA,EAAQ,CAAC,CAAC,KAAKA,EAAQ,CAAC,CAAC,KAAKC,CAAI,GAC/D,KAAK,MAAM,KAAKH,CAAI,EACpB,KAAK,MAAM,UAAWA,CAAI,EAC1B,KACJ,CACF,CAAC,CACH,EACA,UAAW,UAAY,CACrB,KAAK,MAAM,QAASA,GAAS,CAC3B,KAAK,MAAM,aAAcA,CAAI,CAC/B,CAAC,CACH,EACA,QAAS,CACP,cAAe,CACT,KAAK,cAAgB,KAAK,YAC5B,KAAK,MAAM,OAAQ,KAAK,aAAc,KAAK,UAAU,CAEzD,EAEJ,iGA9HEI,EAAAA,YAQuBC,EAAA,CAPrB,MAAM,WACL,MAAKC,EAAAA,eAAA,CAAGC,EAAA,aAAcC,EAAA,aAAa,CAAA,EACnC,KAAMA,EAAA,KACN,OAAQD,EAAA,OACR,MAAOC,EAAA,MACP,SAAUA,EAAA,SACV,QAAOD,EAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { f as c } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-C3WTK6F-.js";
|
|
2
2
|
import { resolveComponent as o, createElementBlock as r, openBlock as s, createVNode as n, createBlock as f, createCommentVNode as w, withCtx as a, Fragment as C, renderList as b, createTextVNode as k, toDisplayString as D } from "vue";
|
|
3
|
-
import { _ as x } from "./CustomIcon-
|
|
3
|
+
import { _ as x } from "./CustomIcon-DTfsnDJn.js";
|
|
4
4
|
import "single-spa";
|
|
5
|
-
import { O as y } from "./OutputDialog-
|
|
5
|
+
import { O as y } from "./OutputDialog-BMzp6wy3.js";
|
|
6
6
|
const V = {
|
|
7
7
|
components: { OutputDialog: y },
|
|
8
8
|
data() {
|
|
@@ -35,9 +35,9 @@ const V = {
|
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
function R(t, l, S, T, e, u) {
|
|
38
|
-
const d = o("v-list-item-title"), m = o("v-btn"), p = o("v-list-item"), _ = o("v-divider"),
|
|
38
|
+
const d = o("v-list-item-title"), m = o("v-btn"), p = o("v-list-item"), _ = o("v-divider"), g = o("v-list"), h = o("output-dialog");
|
|
39
39
|
return s(), r("div", null, [
|
|
40
|
-
n(
|
|
40
|
+
n(g, {
|
|
41
41
|
class: "list",
|
|
42
42
|
"data-test": "routerList"
|
|
43
43
|
}, {
|
|
@@ -67,7 +67,7 @@ function R(t, l, S, T, e, u) {
|
|
|
67
67
|
]),
|
|
68
68
|
_: 1
|
|
69
69
|
}),
|
|
70
|
-
e.showDialog ? (s(), f(
|
|
70
|
+
e.showDialog ? (s(), f(h, {
|
|
71
71
|
key: 0,
|
|
72
72
|
modelValue: e.showDialog,
|
|
73
73
|
"onUpdate:modelValue": l[0] || (l[0] = (i) => e.showDialog = i),
|
|
@@ -82,4 +82,4 @@ const F = /* @__PURE__ */ x(V, [["render", R], ["__scopeId", "data-v-400627ab"]]
|
|
|
82
82
|
export {
|
|
83
83
|
F as default
|
|
84
84
|
};
|
|
85
|
-
//# sourceMappingURL=RoutersTab-
|
|
85
|
+
//# sourceMappingURL=RoutersTab-CEe4oS0x.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutersTab-
|
|
1
|
+
{"version":3,"file":"RoutersTab-CEe4oS0x.js","sources":["../src/tools/admin/tabs/RoutersTab.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 <div>\n <v-list class=\"list\" data-test=\"routerList\">\n <div v-for=\"(router, index) in routers\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ router }}</v-list-item-title>\n\n <template #append>\n <v-btn\n aria-label=\"Show Router Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showRouter(router)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Router\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog } from '@/components'\n\nexport default {\n components: { OutputDialog },\n data() {\n return {\n routers: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/routers').then((response) => {\n this.routers = response.data\n })\n },\n add() {},\n showRouter(name) {\n Api.get(`/openc3-api/routers/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","Api","response","name","content","_createElementBlock","_createVNode","_component_v_list","_openBlock","_Fragment","_renderList","$data","router","index","_component_v_list_item","_component_v_btn","$event","$options","_component_v_list_item_title","_component_v_divider","_createBlock","_component_output_dialog"],"mappings":";;;;;AAwDA,MAAKA,IAAU;AAAA,EACb,YAAY,EAAE,cAAAC,EAAW;AAAA,EACzB,OAAO;AACL,WAAO;AAAA,MACL,SAAS,CAAA;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,OAAM;AAAA,EACb;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AACPC,MAAAA,EAAI,IAAI,qBAAqB,EAAE,KAAK,CAACC,MAAa;AAChD,aAAK,UAAUA,EAAS;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA,IACA,MAAM;AAAA,IAAC;AAAA,IACP,WAAWC,GAAM;AACfF,MAAAA,EAAI,IAAI,uBAAuBE,CAAI,EAAE,EAAE,KAAK,CAACD,MAAa;AACxD,aAAK,cAAc,KAAK,UAAUA,EAAS,MAAM,MAAM,GAAI,GAC3D,KAAK,cAAcC,GACnB,KAAK,aAAa;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,IACA,eAAeC,GAAS;AACtB,WAAK,aAAa;AAAA,IACpB;AAAA;AAEJ;;;cAhEEC,EA0BM,OAAA,MAAA;AAAA,IAzBJC,EAgBSC,GAAA;AAAA,MAhBD,OAAM;AAAA,MAAO,aAAU;AAAA;iBACxB,MAAkC;AAAA,SAAvCC,EAAA,EAAA,GAAAH,EAcMI,GAAA,MAAAC,EAdyBC,EAAA,SAAO,CAAzBC,GAAQC,YAArBR,EAcM,OAAA,EAdmC,KAAKQ,KAAK;AAAA,UACjDP,EAWcQ,GAAA,MAAA;AAAA,YARD,UACT,MAKE;AAAA,cALFR,EAKES,GAAA;AAAA,gBAJA,cAAW;AAAA,gBACX,MAAK;AAAA,gBACL,SAAQ;AAAA,gBACP,SAAK,CAAAC,MAAEC,EAAA,WAAWL,CAAM;AAAA;;uBAP7B,MAAmD;AAAA,cAAnDN,EAAmDY,GAAA,MAAA;AAAA,2BAAhC,MAAY;AAAA,sBAATN,CAAM,GAAA,CAAA;AAAA;;;;;;UAW9BN,EAAaa,CAAA;AAAA;;;;IAITR,EAAA,mBADRS,EAOEC,GAAA;AAAA;kBALSV,EAAA;AAAA,oDAAAA,EAAA,aAAUK;AAAA,MAClB,SAASL,EAAA;AAAA,MACV,MAAK;AAAA,MACJ,MAAMA,EAAA;AAAA,MACN,UAAQM,EAAA;AAAA;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-
|
|
2
|
-
//# sourceMappingURL=RoutersTab-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-RGlL9jUF.cjs"),e=require("vue"),m=require("./CustomIcon-eie3rPKh.cjs");require("single-spa");const v=require("./OutputDialog-CKObLICh.cjs"),g={components:{OutputDialog:v.OutputDialog},data(){return{routers:[],jsonContent:"",dialogTitle:"",showDialog:!1}},mounted(){this.update()},methods:{update(){r.fi.get("/openc3-api/routers").then(t=>{this.routers=t.data})},add(){},showRouter(t){r.fi.get(`/openc3-api/routers/${t}`).then(n=>{this.jsonContent=JSON.stringify(n.data,null," "),this.dialogTitle=t,this.showDialog=!0})},dialogCallback(t){this.showDialog=!1}}};function h(t,n,f,k,o,i){const s=e.resolveComponent("v-list-item-title"),a=e.resolveComponent("v-btn"),u=e.resolveComponent("v-list-item"),c=e.resolveComponent("v-divider"),d=e.resolveComponent("v-list"),p=e.resolveComponent("output-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{class:"list","data-test":"routerList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.routers,(l,_)=>(e.openBlock(),e.createElementBlock("div",{key:_},[e.createVNode(u,null,{append:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Show Router Details",icon:"mdi-eye",variant:"text",onClick:w=>i.showRouter(l)},null,8,["onClick"])]),default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l),1)]),_:2},1024)]),_:2},1024),e.createVNode(c)]))),128))]),_:1}),o.showDialog?(e.openBlock(),e.createBlock(p,{key:0,modelValue:o.showDialog,"onUpdate:modelValue":n[0]||(n[0]=l=>o.showDialog=l),content:o.jsonContent,type:"Router",name:o.dialogTitle,onSubmit:i.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):e.createCommentVNode("",!0)])}const C=m._export_sfc(g,[["render",h],["__scopeId","data-v-400627ab"]]);exports.default=C;
|
|
2
|
+
//# sourceMappingURL=RoutersTab-CyjPaVVb.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutersTab-
|
|
1
|
+
{"version":3,"file":"RoutersTab-CyjPaVVb.cjs","sources":["../src/tools/admin/tabs/RoutersTab.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 <div>\n <v-list class=\"list\" data-test=\"routerList\">\n <div v-for=\"(router, index) in routers\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ router }}</v-list-item-title>\n\n <template #append>\n <v-btn\n aria-label=\"Show Router Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showRouter(router)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Router\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog } from '@/components'\n\nexport default {\n components: { OutputDialog },\n data() {\n return {\n routers: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/routers').then((response) => {\n this.routers = response.data\n })\n },\n add() {},\n showRouter(name) {\n Api.get(`/openc3-api/routers/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","Api","response","name","content","_createElementBlock","_createVNode","_component_v_list","_openBlock","_Fragment","_renderList","$data","router","index","_component_v_list_item","_component_v_btn","$event","$options","_component_v_list_item_title","_component_v_divider","_createBlock","_component_output_dialog"],"mappings":"yTAwDKA,EAAU,CACb,WAAY,CAAA,aAAEC,EAAAA,YAAW,EACzB,MAAO,CACL,MAAO,CACL,QAAS,CAAA,EACT,YAAa,GACb,YAAa,GACb,WAAY,EACd,CACF,EACA,SAAU,CACR,KAAK,OAAM,CACb,EACA,QAAS,CACP,QAAS,CACPC,EAAAA,GAAI,IAAI,qBAAqB,EAAE,KAAMC,GAAa,CAChD,KAAK,QAAUA,EAAS,IAC1B,CAAC,CACH,EACA,KAAM,CAAC,EACP,WAAWC,EAAM,CACfF,KAAI,IAAI,uBAAuBE,CAAI,EAAE,EAAE,KAAMD,GAAa,CACxD,KAAK,YAAc,KAAK,UAAUA,EAAS,KAAM,KAAM,GAAI,EAC3D,KAAK,YAAcC,EACnB,KAAK,WAAa,EACpB,CAAC,CACH,EACA,eAAeC,EAAS,CACtB,KAAK,WAAa,EACpB,EAEJ,wQAhEEC,qBA0BM,MAAA,KAAA,CAzBJC,EAAAA,YAgBSC,EAAA,CAhBD,MAAM,OAAO,YAAU,iCACxB,IAAkC,EAAvCC,EAAAA,UAAA,EAAA,EAAAH,EAAAA,mBAcMI,WAAA,KAAAC,EAAAA,WAdyBC,EAAA,QAAO,CAAzBC,EAAQC,mBAArBR,EAAAA,mBAcM,MAAA,CAdmC,IAAKQ,GAAK,CACjDP,EAAAA,YAWcQ,EAAA,KAAA,CARD,iBACT,IAKE,CALFR,EAAAA,YAKES,EAAA,CAJA,aAAW,sBACX,KAAK,UACL,QAAQ,OACP,QAAKC,GAAEC,EAAA,WAAWL,CAAM,2CAP7B,IAAmD,CAAnDN,EAAAA,YAAmDY,EAAA,KAAA,mBAAhC,IAAY,qCAATN,CAAM,EAAA,CAAA,4BAW9BN,EAAAA,YAAaa,CAAA,oBAITR,EAAA,0BADRS,EAAAA,YAOEC,EAAA,kBALSV,EAAA,gDAAAA,EAAA,WAAUK,GAClB,QAASL,EAAA,YACV,KAAK,SACJ,KAAMA,EAAA,YACN,SAAQM,EAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const g=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-RGlL9jUF.cjs"),k=require("./TargetPacketItemChooser-CmjEcxN3.cjs"),v=require("./cmdUtilities-N30xDV6q.cjs"),t=require("vue"),f=require("./CustomIcon-eie3rPKh.cjs"),w=require("./DetailsDialog-Brv3nVs3.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},showQueueSelect:{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.yi,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)&&!e.hidden&&(!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)),Object.prototype.toString.call(s).slice(8,-1)==="Object"&&(s=this.convertToString(s));let r="N/A";e.minimum!=null&&e.maximum!=null&&(e.data_type==="FLOAT"&&(e.minimum<-1e6&&(e.minimum=e.minimum.toExponential(3)),e.maximum>1e6&&(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 D(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,"show-queue-select":s.showQueueSelect,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","show-queue-select"])]),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 I=f._export_sfc(B,[["render",D]]),O={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)}}},U={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",U,[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(O,[["render",R]]),q={props:{modelValue:String},data(){return{loading:!1,search:"",selected:this.modelValue,scripts:[],items:[]}},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)}},created(){this.loading=!0,g.fi.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},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(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),search:n.search,"onUpdate:search":e[1]||(e[1]=m=>n.search=m),density:"compact",variant:"outlined","hide-no-data":"","hide-details":"",class:"mb-5",label:"Select script",loading:n.loading,items:n.items,"data-test":"select-script"},null,8,["modelValue","search","loading","items"])]),_:1})])}const F=f._export_sfc(q,[["render",A]]);exports.CommandEditor=I;exports.CommandParameterEditor=C;exports.EnvironmentChooser=M;exports.ScriptChooser=F;
|
|
2
|
+
//# sourceMappingURL=ScriptChooser-B83Pgq2H.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScriptChooser-B83Pgq2H.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 :show-queue-select=\"showQueueSelect\"\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 showQueueSelect: {\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 !parameter.hidden &&\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 if (\n Object.prototype.toString.call(val).slice(8, -1) ===\n 'Object'\n ) {\n val = this.convertToString(val)\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 parameter.minimum = parameter.minimum.toExponential(3)\n }\n if (parameter.maximum > 1e6) {\n parameter.maximum = parameter.maximum.toExponential(3)\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 v-model:search=\"search\"\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 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 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 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 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","newVal","oldVal","Api","response","filename","v","_component_v_row","_component_v_autocomplete"],"mappings":"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"}
|