@openc3/vue-common 7.0.0-rc3 → 7.0.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-B2-n1K3r.cjs → ArrayWidget-BHjh3qLF.cjs} +2 -2
- package/dist/{ArrayWidget-B2-n1K3r.cjs.map → ArrayWidget-BHjh3qLF.cjs.map} +1 -1
- package/dist/{ArrayWidget-dQWDMMrn.js → ArrayWidget-Dh6zDiC7.js} +6 -6
- package/dist/{ArrayWidget-dQWDMMrn.js.map → ArrayWidget-Dh6zDiC7.js.map} +1 -1
- package/dist/{ArrayplotWidget-BmBcPGUR.cjs → ArrayplotWidget-BHD-TGQO.cjs} +2 -2
- package/dist/{ArrayplotWidget-BmBcPGUR.cjs.map → ArrayplotWidget-BHD-TGQO.cjs.map} +1 -1
- package/dist/{ArrayplotWidget-DCnbK37q.js → ArrayplotWidget-CSc_TqNm.js} +6 -6
- package/dist/{ArrayplotWidget-DCnbK37q.js.map → ArrayplotWidget-CSc_TqNm.js.map} +1 -1
- package/dist/{BarColumn-DmOxuCa9.js → BarColumn-DmjMnw5l.js} +3 -3
- package/dist/{BarColumn-DmOxuCa9.js.map → BarColumn-DmjMnw5l.js.map} +1 -1
- package/dist/{BarColumn-CkecDAzn.cjs → BarColumn-Ym4P8YHC.cjs} +2 -2
- package/dist/{BarColumn-CkecDAzn.cjs.map → BarColumn-Ym4P8YHC.cjs.map} +1 -1
- package/dist/{BlockWidget-UejKxAxY.js → BlockWidget-BdR_HCVc.js} +6 -6
- package/dist/{BlockWidget-UejKxAxY.js.map → BlockWidget-BdR_HCVc.js.map} +1 -1
- package/dist/{BlockWidget-BZXHLTJt.cjs → BlockWidget-Bi1PfS1k.cjs} +2 -2
- package/dist/{BlockWidget-BZXHLTJt.cjs.map → BlockWidget-Bi1PfS1k.cjs.map} +1 -1
- package/dist/{ButtonWidget-CzRyY1N5.cjs → ButtonWidget-70hNWuEy.cjs} +2 -2
- package/dist/{ButtonWidget-CzRyY1N5.cjs.map → ButtonWidget-70hNWuEy.cjs.map} +1 -1
- package/dist/{ButtonWidget-DtAkhzCN.js → ButtonWidget-DZ4VCNWU.js} +6 -6
- package/dist/{ButtonWidget-DtAkhzCN.js.map → ButtonWidget-DZ4VCNWU.js.map} +1 -1
- package/dist/{CanvasWidget-cQqNxspP.cjs → CanvasWidget-DTEx-DpZ.cjs} +2 -2
- package/dist/{CanvasWidget-cQqNxspP.cjs.map → CanvasWidget-DTEx-DpZ.cjs.map} +1 -1
- package/dist/{CanvasWidget-YXQ8TLqA.js → CanvasWidget-DuXOo3jG.js} +4 -4
- package/dist/{CanvasWidget-YXQ8TLqA.js.map → CanvasWidget-DuXOo3jG.js.map} +1 -1
- package/dist/{CanvasdotWidget-BbmhHQV_.js → CanvasdotWidget-WoLpxI1u.js} +5 -5
- package/dist/{CanvasdotWidget-BbmhHQV_.js.map → CanvasdotWidget-WoLpxI1u.js.map} +1 -1
- package/dist/{CanvasdotWidget-CMIw-ga4.cjs → CanvasdotWidget-bbOquK8B.cjs} +2 -2
- package/dist/{CanvasdotWidget-CMIw-ga4.cjs.map → CanvasdotWidget-bbOquK8B.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-DXxtYjGG.cjs → CanvasimageWidget-D2EqsK7w.cjs} +2 -2
- package/dist/{CanvasimageWidget-DXxtYjGG.cjs.map → CanvasimageWidget-D2EqsK7w.cjs.map} +1 -1
- package/dist/{CanvasimageWidget-CJf5NYEj.js → CanvasimageWidget-tWpK5rsv.js} +8 -8
- package/dist/{CanvasimageWidget-CJf5NYEj.js.map → CanvasimageWidget-tWpK5rsv.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-D86eJXbs.js → CanvasimagevalueWidget-BVzJYz3l.js} +9 -9
- package/dist/{CanvasimagevalueWidget-D86eJXbs.js.map → CanvasimagevalueWidget-BVzJYz3l.js.map} +1 -1
- package/dist/{CanvasimagevalueWidget-VPKlJrxM.cjs → CanvasimagevalueWidget-By_DiQ75.cjs} +2 -2
- package/dist/{CanvasimagevalueWidget-VPKlJrxM.cjs.map → CanvasimagevalueWidget-By_DiQ75.cjs.map} +1 -1
- package/dist/{CanvaslabelWidget-TkrVd-Dg.js → CanvaslabelWidget-CDFf8Vll.js} +5 -5
- package/dist/{CanvaslabelWidget-TkrVd-Dg.js.map → CanvaslabelWidget-CDFf8Vll.js.map} +1 -1
- package/dist/{CanvaslabelWidget-BgGRS0NS.cjs → CanvaslabelWidget-DiPxyXoX.cjs} +2 -2
- package/dist/{CanvaslabelWidget-BgGRS0NS.cjs.map → CanvaslabelWidget-DiPxyXoX.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-W2QzOkQw.cjs → CanvaslabelvalueWidget-Cw5CCQTi.cjs} +2 -2
- package/dist/{CanvaslabelvalueWidget-W2QzOkQw.cjs.map → CanvaslabelvalueWidget-Cw5CCQTi.cjs.map} +1 -1
- package/dist/{CanvaslabelvalueWidget-BwsIN_MT.js → CanvaslabelvalueWidget-DzJKD6qs.js} +5 -5
- package/dist/{CanvaslabelvalueWidget-BwsIN_MT.js.map → CanvaslabelvalueWidget-DzJKD6qs.js.map} +1 -1
- package/dist/{CanvaslineWidget-yT7FUWs8.cjs → CanvaslineWidget-BECtKTPL.cjs} +2 -2
- package/dist/{CanvaslineWidget-yT7FUWs8.cjs.map → CanvaslineWidget-BECtKTPL.cjs.map} +1 -1
- package/dist/{CanvaslineWidget-BjBvF-vY.js → CanvaslineWidget-BttTXCZq.js} +5 -5
- package/dist/{CanvaslineWidget-BjBvF-vY.js.map → CanvaslineWidget-BttTXCZq.js.map} +1 -1
- package/dist/{CanvaslinevalueWidget-Dj4tsTBp.cjs → CanvaslinevalueWidget-5duJ98qu.cjs} +2 -2
- package/dist/{CanvaslinevalueWidget-Dj4tsTBp.cjs.map → CanvaslinevalueWidget-5duJ98qu.cjs.map} +1 -1
- package/dist/{CanvaslinevalueWidget-krBLp9yB.js → CanvaslinevalueWidget-i6G0JfnZ.js} +5 -5
- package/dist/{CanvaslinevalueWidget-krBLp9yB.js.map → CanvaslinevalueWidget-i6G0JfnZ.js.map} +1 -1
- package/dist/{CheckbuttonWidget-IMrIK9q4.js → CheckbuttonWidget-18jtf7sh.js} +5 -5
- package/dist/{CheckbuttonWidget-IMrIK9q4.js.map → CheckbuttonWidget-18jtf7sh.js.map} +1 -1
- package/dist/{CheckbuttonWidget-CT28NPNo.cjs → CheckbuttonWidget-CTMObPhX.cjs} +2 -2
- package/dist/{CheckbuttonWidget-CT28NPNo.cjs.map → CheckbuttonWidget-CTMObPhX.cjs.map} +1 -1
- package/dist/{ClassificationBanners-DiIkXqna.js → ClassificationBanners-BmnQODLn.js} +2 -2
- package/dist/{ClassificationBanners-DiIkXqna.js.map → ClassificationBanners-BmnQODLn.js.map} +1 -1
- package/dist/{ClassificationBanners-DC__VXBX.cjs → ClassificationBanners-DjGCuH-4.cjs} +2 -2
- package/dist/{ClassificationBanners-DC__VXBX.cjs.map → ClassificationBanners-DjGCuH-4.cjs.map} +1 -1
- package/dist/{ComboboxWidget-C9Zlc2Hy.js → ComboboxWidget-BjaVFbD4.js} +5 -5
- package/dist/{ComboboxWidget-C9Zlc2Hy.js.map → ComboboxWidget-BjaVFbD4.js.map} +1 -1
- package/dist/{ComboboxWidget-hFBSBFwy.cjs → ComboboxWidget-Cc0Acq9q.cjs} +2 -2
- package/dist/{ComboboxWidget-hFBSBFwy.cjs.map → ComboboxWidget-Cc0Acq9q.cjs.map} +1 -1
- package/dist/{CriticalCmdDialog-Cp-ykpQb.js → CriticalCmdDialog-CO-nvphS.js} +8 -8
- package/dist/{CriticalCmdDialog-Cp-ykpQb.js.map → CriticalCmdDialog-CO-nvphS.js.map} +1 -1
- package/dist/{CriticalCmdDialog-CCaStsM-.cjs → CriticalCmdDialog-eytxCQto.cjs} +2 -2
- package/dist/{CriticalCmdDialog-CCaStsM-.cjs.map → CriticalCmdDialog-eytxCQto.cjs.map} +1 -1
- package/dist/{CustomIcon-Cg3jCA_l.js → CustomIcon-DTR361si.js} +4 -4
- package/dist/{CustomIcon-Cg3jCA_l.js.map → CustomIcon-DTR361si.js.map} +1 -1
- package/dist/{DateWidget-C_QpCTxN.cjs → DateWidget-Cle8FY8Q.cjs} +2 -2
- package/dist/{DateWidget-C_QpCTxN.cjs.map → DateWidget-Cle8FY8Q.cjs.map} +1 -1
- package/dist/{DateWidget-Y6WAFGGt.js → DateWidget-DkFAFlc8.js} +5 -5
- package/dist/{DateWidget-Y6WAFGGt.js.map → DateWidget-DkFAFlc8.js.map} +1 -1
- package/dist/{DetailsDialog-Bq9BPuoe.cjs → DetailsDialog-BcMaTfuQ.cjs} +2 -2
- package/dist/{DetailsDialog-Bq9BPuoe.cjs.map → DetailsDialog-BcMaTfuQ.cjs.map} +1 -1
- package/dist/{DetailsDialog-DznGAE6i.js → DetailsDialog-sqja4Lzq.js} +5 -5
- package/dist/{DetailsDialog-DznGAE6i.js.map → DetailsDialog-sqja4Lzq.js.map} +1 -1
- package/dist/{DynamicWidget-Bym87woV.js → DynamicWidget-BuSbQVhf.js} +4 -4
- package/dist/{DynamicWidget-Bym87woV.js.map → DynamicWidget-BuSbQVhf.js.map} +1 -1
- package/dist/{EventListDialog-CktWO2jn.js → EventListDialog-DjCQAwGl.js} +17 -14
- package/dist/EventListDialog-DjCQAwGl.js.map +1 -0
- package/dist/EventListDialog-EmC7YW60.cjs +2 -0
- package/dist/EventListDialog-EmC7YW60.cjs.map +1 -0
- package/dist/{FilechecksumWidget-BZdmiTbb.cjs → FilechecksumWidget-2ta-UvLp.cjs} +2 -2
- package/dist/{FilechecksumWidget-BZdmiTbb.cjs.map → FilechecksumWidget-2ta-UvLp.cjs.map} +1 -1
- package/dist/{FilechecksumWidget-VbLODmHh.js → FilechecksumWidget-DqJ_hvN4.js} +8 -8
- package/dist/{FilechecksumWidget-VbLODmHh.js.map → FilechecksumWidget-DqJ_hvN4.js.map} +1 -1
- package/dist/{FiledisplayWidget-BI7GAQ4d.cjs → FiledisplayWidget-BUKXIQir.cjs} +2 -2
- package/dist/{FiledisplayWidget-BI7GAQ4d.cjs.map → FiledisplayWidget-BUKXIQir.cjs.map} +1 -1
- package/dist/{FiledisplayWidget-kixqcLtx.js → FiledisplayWidget-CYznG_tf.js} +6 -6
- package/dist/{FiledisplayWidget-kixqcLtx.js.map → FiledisplayWidget-CYznG_tf.js.map} +1 -1
- package/dist/{FormatvalueWidget--djAS0BE.js → FormatvalueWidget-BnVu4YGx.js} +6 -6
- package/dist/{FormatvalueWidget--djAS0BE.js.map → FormatvalueWidget-BnVu4YGx.js.map} +1 -1
- package/dist/{FormatvalueWidget-I1y_kf9t.cjs → FormatvalueWidget-BpFXnA_U.cjs} +2 -2
- package/dist/{FormatvalueWidget-I1y_kf9t.cjs.map → FormatvalueWidget-BpFXnA_U.cjs.map} +1 -1
- package/dist/{Graph-GhpiUBKI.js → Graph-CUFzx8Ti.js} +289 -281
- package/dist/Graph-CUFzx8Ti.js.map +1 -0
- package/dist/Graph-qxF4224c.cjs +2 -0
- package/dist/Graph-qxF4224c.cjs.map +1 -0
- package/dist/{GraphWidget-Bzo-klWV.cjs → GraphWidget-BvCQHVxQ.cjs} +2 -2
- package/dist/{GraphWidget-Bzo-klWV.cjs.map → GraphWidget-BvCQHVxQ.cjs.map} +1 -1
- package/dist/{GraphWidget-8T08osON.js → GraphWidget-DO5XbOGy.js} +2 -2
- package/dist/{GraphWidget-8T08osON.js.map → GraphWidget-DO5XbOGy.js.map} +1 -1
- package/dist/{HorizontalWidget-CusI1RiA.js → HorizontalWidget-BA9PiP3d.js} +4 -4
- package/dist/{HorizontalWidget-CusI1RiA.js.map → HorizontalWidget-BA9PiP3d.js.map} +1 -1
- package/dist/{HorizontalWidget-CAf9I0CU.cjs → HorizontalWidget-BBQE-dP-.cjs} +2 -2
- package/dist/{HorizontalWidget-CAf9I0CU.cjs.map → HorizontalWidget-BBQE-dP-.cjs.map} +1 -1
- package/dist/{HorizontalboxWidget-D5fIhINf.js → HorizontalboxWidget-B-7HOqgl.js} +7 -7
- package/dist/{HorizontalboxWidget-D5fIhINf.js.map → HorizontalboxWidget-B-7HOqgl.js.map} +1 -1
- package/dist/{HorizontalboxWidget-B7E5GEPu.cjs → HorizontalboxWidget-CX7J8RdA.cjs} +2 -2
- package/dist/{HorizontalboxWidget-B7E5GEPu.cjs.map → HorizontalboxWidget-CX7J8RdA.cjs.map} +1 -1
- package/dist/HorizontallineWidget-D-o9MGo0.js +16 -0
- package/dist/{HorizontallineWidget-CnRlq7hi.js.map → HorizontallineWidget-D-o9MGo0.js.map} +1 -1
- package/dist/{HorizontallineWidget-DqLKGhdz.cjs → HorizontallineWidget-odTFoB8u.cjs} +2 -2
- package/dist/{HorizontallineWidget-DqLKGhdz.cjs.map → HorizontallineWidget-odTFoB8u.cjs.map} +1 -1
- package/dist/{IframeWidget-DtF44NYM.js → IframeWidget-BzOka-fX.js} +5 -5
- package/dist/{IframeWidget-DtF44NYM.js.map → IframeWidget-BzOka-fX.js.map} +1 -1
- package/dist/{IframeWidget-BMtv8io0.cjs → IframeWidget-cTHu_Rmp.cjs} +2 -2
- package/dist/{IframeWidget-BMtv8io0.cjs.map → IframeWidget-cTHu_Rmp.cjs.map} +1 -1
- package/dist/{ImageLoader-jcIDHdUq.cjs → ImageLoader-BTEOukIw.cjs} +2 -2
- package/dist/{ImageLoader-jcIDHdUq.cjs.map → ImageLoader-BTEOukIw.cjs.map} +1 -1
- package/dist/{ImageLoader-B5rGuJ_H.js → ImageLoader-CstmWFM4.js} +2 -2
- package/dist/{ImageLoader-B5rGuJ_H.js.map → ImageLoader-CstmWFM4.js.map} +1 -1
- package/dist/{ImageviewerWidget-Ciu80vaC.js → ImageviewerWidget-BA9uOM1q.js} +5 -5
- package/dist/{ImageviewerWidget-Ciu80vaC.js.map → ImageviewerWidget-BA9uOM1q.js.map} +1 -1
- package/dist/{ImageviewerWidget-ox5FNYVP.cjs → ImageviewerWidget-CLAFwmaB.cjs} +2 -2
- package/dist/{ImageviewerWidget-ox5FNYVP.cjs.map → ImageviewerWidget-CLAFwmaB.cjs.map} +1 -1
- package/dist/{InterfacesTab-C14LErLZ.js → InterfacesTab-C3mDLkGC.js} +9 -9
- package/dist/{InterfacesTab-C14LErLZ.js.map → InterfacesTab-C3mDLkGC.js.map} +1 -1
- package/dist/{InterfacesTab-CUM5GGWs.cjs → InterfacesTab-CM0CGFVS.cjs} +2 -2
- package/dist/{InterfacesTab-CUM5GGWs.cjs.map → InterfacesTab-CM0CGFVS.cjs.map} +1 -1
- package/dist/{LabelWidget-B9J1Whh0.cjs → LabelWidget-CMmVq1mx.cjs} +2 -2
- package/dist/{LabelWidget-B9J1Whh0.cjs.map → LabelWidget-CMmVq1mx.cjs.map} +1 -1
- package/dist/{LabelWidget-78VnL1xc.js → LabelWidget-Da2howZF.js} +5 -5
- package/dist/{LabelWidget-78VnL1xc.js.map → LabelWidget-Da2howZF.js.map} +1 -1
- package/dist/{LabelledWidget-Cx2PI85E.js → LabelledWidget-BH8y3OXT.js} +7 -7
- package/dist/{LabelledWidget-Cx2PI85E.js.map → LabelledWidget-BH8y3OXT.js.map} +1 -1
- package/dist/{LabelledWidget-BMtqUP-E.cjs → LabelledWidget-CAqH0oWs.cjs} +2 -2
- package/dist/{LabelledWidget-BMtqUP-E.cjs.map → LabelledWidget-CAqH0oWs.cjs.map} +1 -1
- package/dist/{LabelprogressbarWidget-eC7VC7lY.js → LabelprogressbarWidget-Brl24F4c.js} +7 -7
- package/dist/{LabelprogressbarWidget-eC7VC7lY.js.map → LabelprogressbarWidget-Brl24F4c.js.map} +1 -1
- package/dist/{LabelprogressbarWidget-Ce3PRzaA.cjs → LabelprogressbarWidget-BxLGmW9T.cjs} +2 -2
- package/dist/{LabelprogressbarWidget-Ce3PRzaA.cjs.map → LabelprogressbarWidget-BxLGmW9T.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-DuCA67yl.cjs → LabelsparklineWidget-BUXOpBeB.cjs} +2 -2
- package/dist/{LabelsparklineWidget-DuCA67yl.cjs.map → LabelsparklineWidget-BUXOpBeB.cjs.map} +1 -1
- package/dist/{LabelsparklineWidget-CP5rD4ob.js → LabelsparklineWidget-D22MB7-4.js} +7 -7
- package/dist/{LabelsparklineWidget-CP5rD4ob.js.map → LabelsparklineWidget-D22MB7-4.js.map} +1 -1
- package/dist/{LabelvalueWidget-PM8DFnDm.js → LabelvalueWidget-_1JPbK-K.js} +7 -7
- package/dist/{LabelvalueWidget-PM8DFnDm.js.map → LabelvalueWidget-_1JPbK-K.js.map} +1 -1
- package/dist/{LabelvalueWidget-DxEvAoHT.cjs → LabelvalueWidget-bYqqgIGE.cjs} +2 -2
- package/dist/{LabelvalueWidget-DxEvAoHT.cjs.map → LabelvalueWidget-bYqqgIGE.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-Dy3_fdkx.cjs → LabelvaluedescWidget-B2dFZoDE.cjs} +2 -2
- package/dist/{LabelvaluedescWidget-Dy3_fdkx.cjs.map → LabelvaluedescWidget-B2dFZoDE.cjs.map} +1 -1
- package/dist/{LabelvaluedescWidget-C8OmKnu-.js → LabelvaluedescWidget-BgduSJJb.js} +8 -8
- package/dist/{LabelvaluedescWidget-C8OmKnu-.js.map → LabelvaluedescWidget-BgduSJJb.js.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-DWvSVvXl.cjs → LabelvaluelimitsbarWidget-BGag8V6k.cjs} +2 -2
- package/dist/{LabelvaluelimitsbarWidget-DWvSVvXl.cjs.map → LabelvaluelimitsbarWidget-BGag8V6k.cjs.map} +1 -1
- package/dist/{LabelvaluelimitsbarWidget-DIsTQqkO.js → LabelvaluelimitsbarWidget-C9PlEhWo.js} +7 -7
- package/dist/{LabelvaluelimitsbarWidget-DIsTQqkO.js.map → LabelvaluelimitsbarWidget-C9PlEhWo.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-ld556rRi.js → LabelvaluelimitscolumnWidget-Cay6AhoZ.js} +8 -8
- package/dist/{LabelvaluelimitscolumnWidget-ld556rRi.js.map → LabelvaluelimitscolumnWidget-Cay6AhoZ.js.map} +1 -1
- package/dist/{LabelvaluelimitscolumnWidget-CyPuEz7E.cjs → LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs} +2 -2
- package/dist/{LabelvaluelimitscolumnWidget-CyPuEz7E.cjs.map → LabelvaluelimitscolumnWidget-SHVJIgGJ.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-DdqgjjUc.cjs → LabelvaluerangebarWidget-Dbibpimv.cjs} +2 -2
- package/dist/{LabelvaluerangebarWidget-DdqgjjUc.cjs.map → LabelvaluerangebarWidget-Dbibpimv.cjs.map} +1 -1
- package/dist/{LabelvaluerangebarWidget-nCeoujui.js → LabelvaluerangebarWidget-s_8IgY-C.js} +7 -7
- package/dist/{LabelvaluerangebarWidget-nCeoujui.js.map → LabelvaluerangebarWidget-s_8IgY-C.js.map} +1 -1
- package/dist/{Layout-BcytiBn4.js → Layout-D7RGn0Fe.js} +2 -2
- package/dist/{Layout-BcytiBn4.js.map → Layout-D7RGn0Fe.js.map} +1 -1
- package/dist/{Layout-JCk8r88e.cjs → Layout-DwWEea79.cjs} +2 -2
- package/dist/{Layout-JCk8r88e.cjs.map → Layout-DwWEea79.cjs.map} +1 -1
- package/dist/{LedWidget-BEP-sFTh.cjs → LedWidget-BaiKDozd.cjs} +2 -2
- package/dist/{LedWidget-BEP-sFTh.cjs.map → LedWidget-BaiKDozd.cjs.map} +1 -1
- package/dist/{LedWidget-3pWKnZsD.js → LedWidget-DgMtvsiv.js} +6 -6
- package/dist/{LedWidget-3pWKnZsD.js.map → LedWidget-DgMtvsiv.js.map} +1 -1
- package/dist/{LimitsBar-BJ_cERjE.cjs → LimitsBar-BFM38vQL.cjs} +2 -2
- package/dist/{LimitsBar-BJ_cERjE.cjs.map → LimitsBar-BFM38vQL.cjs.map} +1 -1
- package/dist/{LimitsBar-DCco6Rwp.js → LimitsBar-CcOaAw0C.js} +7 -7
- package/dist/{LimitsBar-DCco6Rwp.js.map → LimitsBar-CcOaAw0C.js.map} +1 -1
- package/dist/{LimitsbarWidget-DiAnkXID.cjs → LimitsbarWidget-ConP3qI5.cjs} +2 -2
- package/dist/{LimitsbarWidget-DiAnkXID.cjs.map → LimitsbarWidget-ConP3qI5.cjs.map} +1 -1
- package/dist/{LimitsbarWidget-_BMzxWBm.js → LimitsbarWidget-DpmJn1Lo.js} +7 -7
- package/dist/{LimitsbarWidget-_BMzxWBm.js.map → LimitsbarWidget-DpmJn1Lo.js.map} +1 -1
- package/dist/{LimitscolorWidget-C2gZyqtI.js → LimitscolorWidget-BMXiEaDm.js} +20 -20
- package/dist/{LimitscolorWidget-C2gZyqtI.js.map → LimitscolorWidget-BMXiEaDm.js.map} +1 -1
- package/dist/{LimitscolorWidget-ByfzIE_O.cjs → LimitscolorWidget-veWQ4NXl.cjs} +2 -2
- package/dist/{LimitscolorWidget-ByfzIE_O.cjs.map → LimitscolorWidget-veWQ4NXl.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-CZwcXbLS.cjs → LimitscolumnWidget-CJABAor8.cjs} +2 -2
- package/dist/{LimitscolumnWidget-CZwcXbLS.cjs.map → LimitscolumnWidget-CJABAor8.cjs.map} +1 -1
- package/dist/{LimitscolumnWidget-Cv-6FXU3.js → LimitscolumnWidget-ufFMz6R-.js} +5 -5
- package/dist/{LimitscolumnWidget-Cv-6FXU3.js.map → LimitscolumnWidget-ufFMz6R-.js.map} +1 -1
- package/dist/{LinegraphWidget-so5ohfWF.cjs → LinegraphWidget-3E8L5CvM.cjs} +2 -2
- package/dist/{LinegraphWidget-so5ohfWF.cjs.map → LinegraphWidget-3E8L5CvM.cjs.map} +1 -1
- package/dist/{LinegraphWidget-BahyhwSt.js → LinegraphWidget-BC2wVOny.js} +7 -7
- package/dist/{LinegraphWidget-BahyhwSt.js.map → LinegraphWidget-BC2wVOny.js.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-Dma8IsO-.cjs → MatrixbycolumnsWidget-DICgiNQo.cjs} +2 -2
- package/dist/{MatrixbycolumnsWidget-Dma8IsO-.cjs.map → MatrixbycolumnsWidget-DICgiNQo.cjs.map} +1 -1
- package/dist/{MatrixbycolumnsWidget-B1Hy9but.js → MatrixbycolumnsWidget-DfUAeBnO.js} +5 -5
- package/dist/{MatrixbycolumnsWidget-B1Hy9but.js.map → MatrixbycolumnsWidget-DfUAeBnO.js.map} +1 -1
- package/dist/{MicroservicesTab-BSXNA_Si.js → MicroservicesTab-B0SZVty3.js} +67 -62
- package/dist/MicroservicesTab-B0SZVty3.js.map +1 -0
- package/dist/MicroservicesTab-snXJDoYq.cjs +4 -0
- package/dist/MicroservicesTab-snXJDoYq.cjs.map +1 -0
- package/dist/{OpenC3TimePicker-LN9R7V31.js → OpenC3TimePicker-DpkbfbgC.js} +5 -5
- package/dist/{OpenC3TimePicker-LN9R7V31.js.map → OpenC3TimePicker-DpkbfbgC.js.map} +1 -1
- package/dist/{OpenC3TimePicker-BHX9fnlR.cjs → OpenC3TimePicker-Yl1jVi7p.cjs} +2 -2
- package/dist/{OpenC3TimePicker-BHX9fnlR.cjs.map → OpenC3TimePicker-Yl1jVi7p.cjs.map} +1 -1
- package/dist/{Openc3Screen-CJOTF-lu.cjs → Openc3Screen-D1RLlBgQ.cjs} +5 -5
- package/dist/Openc3Screen-D1RLlBgQ.cjs.map +1 -0
- package/dist/{Openc3Screen-BP7Ho9XC.js → Openc3Screen-DbUvz-3B.js} +254 -254
- package/dist/Openc3Screen-DbUvz-3B.js.map +1 -0
- package/dist/{OutputDialog-Dx5mkq19.cjs → OutputDialog-ChPCaQAE.cjs} +2 -2
- package/dist/{OutputDialog-Dx5mkq19.cjs.map → OutputDialog-ChPCaQAE.cjs.map} +1 -1
- package/dist/{OutputDialog-JdAxzpPD.js → OutputDialog-Ds-GdGyI.js} +5 -5
- package/dist/{OutputDialog-JdAxzpPD.js.map → OutputDialog-Ds-GdGyI.js.map} +1 -1
- package/dist/PackagesTab-BgQsbXRo.cjs +2 -0
- package/dist/PackagesTab-BgQsbXRo.cjs.map +1 -0
- package/dist/{PackagesTab-ByfVH001.js → PackagesTab-CWplBp_I.js} +70 -66
- package/dist/PackagesTab-CWplBp_I.js.map +1 -0
- package/dist/{PluginsTab-D7zpmf8s.js → PluginsTab-BiiL622n.js} +486 -448
- package/dist/PluginsTab-BiiL622n.js.map +1 -0
- package/dist/PluginsTab-RgIMk-F7.cjs +6 -0
- package/dist/PluginsTab-RgIMk-F7.cjs.map +1 -0
- package/dist/{ProgressbarWidget-mAVHKeok.js → ProgressbarWidget-D3ndYnq_.js} +5 -5
- package/dist/{ProgressbarWidget-mAVHKeok.js.map → ProgressbarWidget-D3ndYnq_.js.map} +1 -1
- package/dist/{ProgressbarWidget-BINuoD9p.cjs → ProgressbarWidget-DludJVUf.cjs} +2 -2
- package/dist/{ProgressbarWidget-BINuoD9p.cjs.map → ProgressbarWidget-DludJVUf.cjs.map} +1 -1
- package/dist/{RadiobuttonWidget-CL3QjTnZ.js → RadiobuttonWidget-CP0S9nWW.js} +5 -5
- package/dist/{RadiobuttonWidget-CL3QjTnZ.js.map → RadiobuttonWidget-CP0S9nWW.js.map} +1 -1
- package/dist/{RadiobuttonWidget-DDmgt0su.cjs → RadiobuttonWidget-DX4h94p1.cjs} +2 -2
- package/dist/{RadiobuttonWidget-DDmgt0su.cjs.map → RadiobuttonWidget-DX4h94p1.cjs.map} +1 -1
- package/dist/{RadiogroupWidget-RUwgtUTC.js → RadiogroupWidget-BXHfA21T.js} +4 -4
- package/dist/{RadiogroupWidget-RUwgtUTC.js.map → RadiogroupWidget-BXHfA21T.js.map} +1 -1
- package/dist/{RadiogroupWidget-q7h1v-ko.cjs → RadiogroupWidget-NqjBNUH6.cjs} +2 -2
- package/dist/{RadiogroupWidget-q7h1v-ko.cjs.map → RadiogroupWidget-NqjBNUH6.cjs.map} +1 -1
- package/dist/{RangebarWidget-CfDsKLZc.js → RangebarWidget-Bv2DqkPo.js} +5 -5
- package/dist/{RangebarWidget-CfDsKLZc.js.map → RangebarWidget-Bv2DqkPo.js.map} +1 -1
- package/dist/{RangebarWidget-BbPMpwMs.cjs → RangebarWidget-CRq2zpvw.cjs} +2 -2
- package/dist/{RangebarWidget-BbPMpwMs.cjs.map → RangebarWidget-CRq2zpvw.cjs.map} +1 -1
- package/dist/{RedisTab-YrX-5A3T.js → RedisTab-7TbOXFA_.js} +9 -9
- package/dist/{RedisTab-YrX-5A3T.js.map → RedisTab-7TbOXFA_.js.map} +1 -1
- package/dist/{RedisTab-dZE6KvLS.cjs → RedisTab-DpWPY1P0.cjs} +2 -2
- package/dist/{RedisTab-dZE6KvLS.cjs.map → RedisTab-DpWPY1P0.cjs.map} +1 -1
- package/dist/{RollupWidget-BmgRFIOo.cjs → RollupWidget-B7_Q_boi.cjs} +2 -2
- package/dist/{RollupWidget-BmgRFIOo.cjs.map → RollupWidget-B7_Q_boi.cjs.map} +1 -1
- package/dist/{RollupWidget-DCMoQUeJ.js → RollupWidget-o_huYU0x.js} +5 -5
- package/dist/{RollupWidget-DCMoQUeJ.js.map → RollupWidget-o_huYU0x.js.map} +1 -1
- package/dist/{RoutersTab-C6vejQrw.cjs → RoutersTab-CAbnSGHy.cjs} +2 -2
- package/dist/{RoutersTab-C6vejQrw.cjs.map → RoutersTab-CAbnSGHy.cjs.map} +1 -1
- package/dist/{RoutersTab-MA9KW_gu.js → RoutersTab-DN17iBBi.js} +9 -9
- package/dist/{RoutersTab-MA9KW_gu.js.map → RoutersTab-DN17iBBi.js.map} +1 -1
- package/dist/{ScriptChooser-Cm_HEyBf.cjs → ScriptChooser-CggwstfT.cjs} +2 -2
- package/dist/{ScriptChooser-Cm_HEyBf.cjs.map → ScriptChooser-CggwstfT.cjs.map} +1 -1
- package/dist/{ScriptChooser-DGbs03IW.js → ScriptChooser-CzzUJ1Zj.js} +6 -6
- package/dist/{ScriptChooser-DGbs03IW.js.map → ScriptChooser-CzzUJ1Zj.js.map} +1 -1
- package/dist/{ScrollwindowWidget-DarXe7-1.js → ScrollwindowWidget-DdjaML6D.js} +4 -4
- package/dist/{ScrollwindowWidget-DarXe7-1.js.map → ScrollwindowWidget-DdjaML6D.js.map} +1 -1
- package/dist/{ScrollwindowWidget-BbASNNcM.cjs → ScrollwindowWidget-kS5QjP-v.cjs} +2 -2
- package/dist/{ScrollwindowWidget-BbASNNcM.cjs.map → ScrollwindowWidget-kS5QjP-v.cjs.map} +1 -1
- package/dist/{SecretsTab-DwE3KJNI.cjs → SecretsTab-Cn6-o85L.cjs} +2 -2
- package/dist/{SecretsTab-DwE3KJNI.cjs.map → SecretsTab-Cn6-o85L.cjs.map} +1 -1
- package/dist/{SecretsTab-DTaPAHv3.js → SecretsTab-Cu3sx2OA.js} +4 -4
- package/dist/{SecretsTab-DTaPAHv3.js.map → SecretsTab-Cu3sx2OA.js.map} +1 -1
- package/dist/{SettingsTab-BhT5sui9.js → SettingsTab-B_vvSLvt.js} +6 -6
- package/dist/{SettingsTab-BhT5sui9.js.map → SettingsTab-B_vvSLvt.js.map} +1 -1
- package/dist/{SettingsTab-o9tfAuE4.cjs → SettingsTab-C6zIL2D6.cjs} +2 -2
- package/dist/{SettingsTab-o9tfAuE4.cjs.map → SettingsTab-C6zIL2D6.cjs.map} +1 -1
- package/dist/{SignalWidget-CO3UaFok.cjs → SignalWidget-BagcB92r.cjs} +2 -2
- package/dist/{SignalWidget-CO3UaFok.cjs.map → SignalWidget-BagcB92r.cjs.map} +1 -1
- package/dist/{SignalWidget-C-iEC5KL.js → SignalWidget-Dd54y28I.js} +5 -5
- package/dist/{SignalWidget-C-iEC5KL.js.map → SignalWidget-Dd54y28I.js.map} +1 -1
- package/dist/{SimpleTextDialog-B9ZurpdS.cjs → SimpleTextDialog-BJ50TbWh.cjs} +2 -2
- package/dist/{SimpleTextDialog-B9ZurpdS.cjs.map → SimpleTextDialog-BJ50TbWh.cjs.map} +1 -1
- package/dist/{SimpleTextDialog-Bqh3eT2B.js → SimpleTextDialog-DZv9n_kJ.js} +5 -5
- package/dist/{SimpleTextDialog-Bqh3eT2B.js.map → SimpleTextDialog-DZv9n_kJ.js.map} +1 -1
- package/dist/{SpacerWidget-CQh-LB4u.cjs → SpacerWidget-DWjBns9r.cjs} +2 -2
- package/dist/{SpacerWidget-CQh-LB4u.cjs.map → SpacerWidget-DWjBns9r.cjs.map} +1 -1
- package/dist/{SpacerWidget-FHxUhs1G.js → SpacerWidget-GPFYtIG1.js} +5 -5
- package/dist/{SpacerWidget-FHxUhs1G.js.map → SpacerWidget-GPFYtIG1.js.map} +1 -1
- package/dist/{SparklineWidget-ClT5Umm2.js → SparklineWidget-f11nrlLS.js} +7 -7
- package/dist/{SparklineWidget-ClT5Umm2.js.map → SparklineWidget-f11nrlLS.js.map} +1 -1
- package/dist/{SparklineWidget-BsMIozYC.cjs → SparklineWidget-xdPgolp3.cjs} +2 -2
- package/dist/{SparklineWidget-BsMIozYC.cjs.map → SparklineWidget-xdPgolp3.cjs.map} +1 -1
- package/dist/{TabbookWidget-So-oaWd4.cjs → TabbookWidget-CUIYWHRH.cjs} +2 -2
- package/dist/{TabbookWidget-So-oaWd4.cjs.map → TabbookWidget-CUIYWHRH.cjs.map} +1 -1
- package/dist/{TabbookWidget-D-b0v0oo.js → TabbookWidget-DeaC27yC.js} +4 -4
- package/dist/{TabbookWidget-D-b0v0oo.js.map → TabbookWidget-DeaC27yC.js.map} +1 -1
- package/dist/{TargetPacketItemChooser-DD7JgCD9.js → TargetPacketItemChooser-BoBqvs3T.js} +23 -23
- package/dist/TargetPacketItemChooser-BoBqvs3T.js.map +1 -0
- package/dist/TargetPacketItemChooser-C0Z90rss.cjs +2 -0
- package/dist/TargetPacketItemChooser-C0Z90rss.cjs.map +1 -0
- package/dist/{TargetsTab-BD0JGvAl.cjs → TargetsTab-BMcWjrZ_.cjs} +2 -2
- package/dist/{TargetsTab-BD0JGvAl.cjs.map → TargetsTab-BMcWjrZ_.cjs.map} +1 -1
- package/dist/{TargetsTab-hTLe_rba.js → TargetsTab-CjVaBN9O.js} +11 -11
- package/dist/{TargetsTab-hTLe_rba.js.map → TargetsTab-CjVaBN9O.js.map} +1 -1
- package/dist/{TextBoxDialog-BRwZOtzT.js → TextBoxDialog-R6GC8pMa.js} +4 -4
- package/dist/{TextBoxDialog-BRwZOtzT.js.map → TextBoxDialog-R6GC8pMa.js.map} +1 -1
- package/dist/{TextboxWidget-CF4iq315.cjs → TextboxWidget-CXA9rR02.cjs} +2 -2
- package/dist/{TextboxWidget-CF4iq315.cjs.map → TextboxWidget-CXA9rR02.cjs.map} +1 -1
- package/dist/{TextboxWidget-WM3eFUR_.js → TextboxWidget-tL41zWUX.js} +6 -6
- package/dist/{TextboxWidget-WM3eFUR_.js.map → TextboxWidget-tL41zWUX.js.map} +1 -1
- package/dist/{TextfieldWidget-D9BINKRU.cjs → TextfieldWidget-D-H2fOZG.cjs} +2 -2
- package/dist/{TextfieldWidget-D9BINKRU.cjs.map → TextfieldWidget-D-H2fOZG.cjs.map} +1 -1
- package/dist/{TextfieldWidget-lfc1Vg51.js → TextfieldWidget-D1qj14Qi.js} +5 -5
- package/dist/{TextfieldWidget-lfc1Vg51.js.map → TextfieldWidget-D1qj14Qi.js.map} +1 -1
- package/dist/{TimeWidget-CgtJbnnC.cjs → TimeWidget-CGk8Ze_I.cjs} +2 -2
- package/dist/{TimeWidget-CgtJbnnC.cjs.map → TimeWidget-CGk8Ze_I.cjs.map} +1 -1
- package/dist/{TimeWidget-B13aIVqG.js → TimeWidget-CSVGNong.js} +6 -6
- package/dist/{TimeWidget-B13aIVqG.js.map → TimeWidget-CSVGNong.js.map} +1 -1
- package/dist/{TitleWidget-CTAMgzU4.js → TitleWidget-CLx-tuYT.js} +5 -5
- package/dist/{TitleWidget-CTAMgzU4.js.map → TitleWidget-CLx-tuYT.js.map} +1 -1
- package/dist/{TitleWidget-BV2sDP_-.cjs → TitleWidget-ClhWhUf3.cjs} +2 -2
- package/dist/{TitleWidget-BV2sDP_-.cjs.map → TitleWidget-ClhWhUf3.cjs.map} +1 -1
- package/dist/{ToolsTab-DXK-L-kx.cjs → ToolsTab-DTHap-Nq.cjs} +2 -2
- package/dist/{ToolsTab-DXK-L-kx.cjs.map → ToolsTab-DTHap-Nq.cjs.map} +1 -1
- package/dist/{ToolsTab-CmhRtClS.js → ToolsTab-lBB_KhmA.js} +10 -10
- package/dist/{ToolsTab-CmhRtClS.js.map → ToolsTab-lBB_KhmA.js.map} +1 -1
- package/dist/{TopBar-D-lJHb6d.js → TopBar-C810rP_B.js} +4 -4
- package/dist/{TopBar-D-lJHb6d.js.map → TopBar-C810rP_B.js.map} +1 -1
- package/dist/{TopBar-BiE7GgIN.cjs → TopBar-Ctzx7o2k.cjs} +2 -2
- package/dist/{TopBar-BiE7GgIN.cjs.map → TopBar-Ctzx7o2k.cjs.map} +1 -1
- package/dist/TsdbTab-7F4mRKDo.js +125 -0
- package/dist/TsdbTab-7F4mRKDo.js.map +1 -0
- package/dist/TsdbTab-DVF6n9mq.cjs +2 -0
- package/dist/TsdbTab-DVF6n9mq.cjs.map +1 -0
- package/dist/{UpgradeToEnterpriseDialog-et3RrozN.js → UpgradeToEnterpriseDialog-D_S574Zb.js} +6 -6
- package/dist/{UpgradeToEnterpriseDialog-et3RrozN.js.map → UpgradeToEnterpriseDialog-D_S574Zb.js.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog-D1_viCAx.cjs → UpgradeToEnterpriseDialog-XJb6gVCY.cjs} +2 -2
- package/dist/{UpgradeToEnterpriseDialog-D1_viCAx.cjs.map → UpgradeToEnterpriseDialog-XJb6gVCY.cjs.map} +1 -1
- package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js} +11973 -11975
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js.map +1 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs +1485 -0
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs.map +1 -0
- package/dist/{VWidget-0kkhOxhV.js → VWidget-CxnaMF0w.js} +3 -3
- package/dist/{VWidget-0kkhOxhV.js.map → VWidget-CxnaMF0w.js.map} +1 -1
- package/dist/{VWidget-Dkji3VZ0.cjs → VWidget-dEHSEvZx.cjs} +2 -2
- package/dist/{VWidget-Dkji3VZ0.cjs.map → VWidget-dEHSEvZx.cjs.map} +1 -1
- package/dist/{ValueWidget-BoQfnx8U.js → ValueWidget-BYgpXfDo.js} +6 -6
- package/dist/{ValueWidget-BoQfnx8U.js.map → ValueWidget-BYgpXfDo.js.map} +1 -1
- package/dist/{ValueWidget-mkXMZvdK.cjs → ValueWidget-Bws1qOEI.cjs} +2 -2
- package/dist/{ValueWidget-mkXMZvdK.cjs.map → ValueWidget-Bws1qOEI.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-B8IUYgYx.cjs → ValuelimitsbarWidget-BoZSJvuq.cjs} +2 -2
- package/dist/{ValuelimitsbarWidget-B8IUYgYx.cjs.map → ValuelimitsbarWidget-BoZSJvuq.cjs.map} +1 -1
- package/dist/{ValuelimitsbarWidget-ZfgwDNqX.js → ValuelimitsbarWidget-Dc9-VNZ3.js} +7 -7
- package/dist/{ValuelimitsbarWidget-ZfgwDNqX.js.map → ValuelimitsbarWidget-Dc9-VNZ3.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-B3x9DknL.js → ValuelimitscolumnWidget-b7W8K3mR.js} +7 -7
- package/dist/{ValuelimitscolumnWidget-B3x9DknL.js.map → ValuelimitscolumnWidget-b7W8K3mR.js.map} +1 -1
- package/dist/{ValuelimitscolumnWidget-B7DigaiC.cjs → ValuelimitscolumnWidget-ta9i_tiy.cjs} +2 -2
- package/dist/{ValuelimitscolumnWidget-B7DigaiC.cjs.map → ValuelimitscolumnWidget-ta9i_tiy.cjs.map} +1 -1
- package/dist/{ValuerangebarWidget-40InNHft.js → ValuerangebarWidget-DmhczZQb.js} +7 -7
- package/dist/{ValuerangebarWidget-40InNHft.js.map → ValuerangebarWidget-DmhczZQb.js.map} +1 -1
- package/dist/{ValuerangebarWidget-DA4X0MuO.cjs → ValuerangebarWidget-Ips-beG6.cjs} +2 -2
- package/dist/{ValuerangebarWidget-DA4X0MuO.cjs.map → ValuerangebarWidget-Ips-beG6.cjs.map} +1 -1
- package/dist/{VerticalWidget-BiFa3xbs.cjs → VerticalWidget-BVt7QPjO.cjs} +2 -2
- package/dist/{VerticalWidget-BiFa3xbs.cjs.map → VerticalWidget-BVt7QPjO.cjs.map} +1 -1
- package/dist/{VerticalWidget-abr1X6L7.js → VerticalWidget-BvsVh0Ob.js} +4 -4
- package/dist/{VerticalWidget-abr1X6L7.js.map → VerticalWidget-BvsVh0Ob.js.map} +1 -1
- package/dist/{VerticalboxWidget-Cx30rcqe.cjs → VerticalboxWidget-CNoXT3YW.cjs} +2 -2
- package/dist/{VerticalboxWidget-Cx30rcqe.cjs.map → VerticalboxWidget-CNoXT3YW.cjs.map} +1 -1
- package/dist/{VerticalboxWidget-DsbB17o-.js → VerticalboxWidget-ClTCDCQN.js} +7 -7
- package/dist/{VerticalboxWidget-DsbB17o-.js.map → VerticalboxWidget-ClTCDCQN.js.map} +1 -1
- package/dist/{Widget-VL9FlMQp.cjs → Widget-CB_BtOFw.cjs} +2 -2
- package/dist/{Widget-VL9FlMQp.cjs.map → Widget-CB_BtOFw.cjs.map} +1 -1
- package/dist/{Widget-DksaxMdD.js → Widget-DRhVdCLP.js} +2 -2
- package/dist/{Widget-DksaxMdD.js.map → Widget-DRhVdCLP.js.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +19 -19
- package/dist/icons.js +2 -2
- package/dist/{index-Qy49-kGB.cjs → index-3sXOEKCU.cjs} +4 -4
- package/dist/index-3sXOEKCU.cjs.map +1 -0
- package/dist/{index-DqKiZufS.cjs → index-B34azWgs.cjs} +4 -4
- package/dist/index-B34azWgs.cjs.map +1 -0
- package/dist/{index-C7Uj4U87.js → index-CJcL4_a4.js} +6 -6
- package/dist/index-CJcL4_a4.js.map +1 -0
- package/dist/{index-BRc4sKEF.js → index-GYAZJDxn.js} +75 -69
- package/dist/index-GYAZJDxn.js.map +1 -0
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.js +3 -3
- package/dist/plugins.js.map +1 -1
- package/dist/purify.es-4pyphLiB.cjs +3 -0
- package/dist/purify.es-4pyphLiB.cjs.map +1 -0
- package/dist/{purify.es-DcWaZU6I.js → purify.es-BPDBzHtc.js} +115 -115
- package/dist/purify.es-BPDBzHtc.js.map +1 -0
- package/dist/{settings-D3MxiRHY.cjs → settings-B0AhztTk.cjs} +2 -2
- package/dist/{settings-D3MxiRHY.cjs.map → settings-B0AhztTk.cjs.map} +1 -1
- package/dist/{settings-BDlsBCNk.js → settings-C2auUQwX.js} +2 -2
- package/dist/{settings-BDlsBCNk.js.map → settings-C2auUQwX.js.map} +1 -1
- package/dist/tools/admin.cjs +1 -1
- package/dist/tools/admin.js +1 -1
- package/dist/tools/base.cjs +1 -1
- package/dist/tools/base.js +9 -9
- package/dist/tools/calendar.cjs +1 -1
- package/dist/tools/calendar.js +1 -1
- package/dist/tools/scriptrunner.cjs +8 -8
- package/dist/tools/scriptrunner.cjs.map +1 -1
- package/dist/tools/scriptrunner.js +3185 -2986
- package/dist/tools/scriptrunner.js.map +1 -1
- package/dist/vue-common.css +1 -1
- package/dist/widgets.cjs +1 -1
- package/dist/widgets.js +65 -65
- package/package.json +10 -10
- package/dist/EventListDialog-CktWO2jn.js.map +0 -1
- package/dist/EventListDialog-EAGLDaHc.cjs +0 -2
- package/dist/EventListDialog-EAGLDaHc.cjs.map +0 -1
- package/dist/Graph-9_EZ9aQx.cjs +0 -2
- package/dist/Graph-9_EZ9aQx.cjs.map +0 -1
- package/dist/Graph-GhpiUBKI.js.map +0 -1
- package/dist/HorizontallineWidget-CnRlq7hi.js +0 -16
- package/dist/MicroservicesTab-ARGtrfOb.cjs +0 -4
- package/dist/MicroservicesTab-ARGtrfOb.cjs.map +0 -1
- package/dist/MicroservicesTab-BSXNA_Si.js.map +0 -1
- package/dist/Openc3Screen-BP7Ho9XC.js.map +0 -1
- package/dist/Openc3Screen-CJOTF-lu.cjs.map +0 -1
- package/dist/PackagesTab-ByfVH001.js.map +0 -1
- package/dist/PackagesTab-HPNAXhzf.cjs +0 -2
- package/dist/PackagesTab-HPNAXhzf.cjs.map +0 -1
- package/dist/PluginsTab-D7zpmf8s.js.map +0 -1
- package/dist/PluginsTab-DfmpvAYa.cjs +0 -6
- package/dist/PluginsTab-DfmpvAYa.cjs.map +0 -1
- package/dist/TargetPacketItemChooser-DD7JgCD9.js.map +0 -1
- package/dist/TargetPacketItemChooser-PqyXKRlT.cjs +0 -2
- package/dist/TargetPacketItemChooser-PqyXKRlT.cjs.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-D0cYHPwr.js.map +0 -1
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DtL207xP.cjs +0 -1485
- package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DtL207xP.cjs.map +0 -1
- package/dist/index-BRc4sKEF.js.map +0 -1
- package/dist/index-C7Uj4U87.js.map +0 -1
- package/dist/index-DqKiZufS.cjs.map +0 -1
- package/dist/index-Qy49-kGB.cjs.map +0 -1
- package/dist/purify.es-B336bjAn.cjs +0 -3
- package/dist/purify.es-B336bjAn.cjs.map +0 -1
- package/dist/purify.es-DcWaZU6I.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { openBlock as r, createElementBlock as _, createElementVNode as u, useCssVars as l } from "vue";
|
|
2
2
|
const d = (t, e) => {
|
|
3
3
|
const s = t.__vccOpts || t;
|
|
4
4
|
for (const [c, n] of e)
|
|
@@ -37,8 +37,8 @@ const m = { class: "cosmos-custom-icon" }, h = {
|
|
|
37
37
|
focusable: "false"
|
|
38
38
|
}, v = ["href"];
|
|
39
39
|
function g(t, e, s, c, n, p) {
|
|
40
|
-
return
|
|
41
|
-
(
|
|
40
|
+
return r(), _("span", m, [
|
|
41
|
+
(r(), _("svg", h, [
|
|
42
42
|
u("use", { href: p.iconSrc }, null, 8, v)
|
|
43
43
|
]))
|
|
44
44
|
]);
|
|
@@ -48,4 +48,4 @@ export {
|
|
|
48
48
|
w as C,
|
|
49
49
|
d as _
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=CustomIcon-
|
|
51
|
+
//# sourceMappingURL=CustomIcon-DTR361si.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomIcon-
|
|
1
|
+
{"version":3,"file":"CustomIcon-DTR361si.js","sources":["../src/icons/CustomIcon.vue"],"sourcesContent":["<!--\n# Copyright 2025 OpenC3, Inc.\n# All Rights Reserved.\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.\n# See LICENSE.md 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 <span class=\"cosmos-custom-icon\">\n <!-- Camel case props because svg -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n preserveAspectRatio=\"xMidYMid meet\"\n focusable=\"false\"\n >\n <use :href=\"iconSrc\" />\n </svg>\n </span>\n</template>\n\n<script>\nconst ICON_LIBRARY = '/icons/customIcons.svg'\n\nexport default {\n props: {\n icon: {\n type: String,\n default: null,\n },\n size: {\n type: String,\n default: 'small',\n },\n color: {\n type: String,\n default: 'white',\n },\n },\n computed: {\n iconSrc: function () {\n return ICON_LIBRARY + '#' + this.icon\n },\n },\n}\n</script>\n\n<style scoped>\n.cosmos-custom-icon {\n fill: v-bind(color);\n}\n</style>\n"],"names":["ICON_LIBRARY","_sfc_main","_hoisted_1","_openBlock","_createElementBlock","_hoisted_2","_createElementVNode","$options","_hoisted_3"],"mappings":";;;;;;GA4BMA,IAAe,0BAEhBC,IAAU;AAAA,EACb,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA;IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA;IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;;EAGb,UAAU;AAAA,IACR,SAAS,WAAY;AACnB,aAAOD,IAAe,MAAM,KAAK;AAAA,IACnC;AAAA;AAEJ;;;;;;AApCQ,MAAAE,IAAA,EAAA,OAAM,qBAAoB;EAG5B,OAAM;AAAA,EACN,SAAQ;AAAA,EACR,qBAAoB;AAAA,EACpB,WAAU;;;AANd,SAAAC,EAAA,GAAAC,EAUO,QAVPF,GAUO;AAAA,KARLC,KAAAC,EAOM,OAPNC,GAOM;AAAA,MADJC,EAAuB,OAAA,EAAjB,MAAMC,EAAA,WAAO,MAAA,GAAAC,CAAA;AAAA;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./Widget-
|
|
2
|
-
//# sourceMappingURL=DateWidget-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./Widget-CB_BtOFw.cjs"),i=require("./timeFilters-CRNRsUsb.cjs"),e=require("vue"),n=require("./CustomIcon-8F08upeg.cjs"),u={mixins:[s.Widget,i.TimeFilters],data(){return{label:"Date",dateValue:""}},created(){this.parameters[0]&&(this.label=this.parameters[0]),this.dateValue=this.formatDate(new Date,this.screenTimeZone)},methods:{text(){return this.dateValue},date(){return this.dateValue}}};function d(r,l,m,p,t,f){const a=e.resolveComponent("v-text-field");return e.openBlock(),e.createBlock(a,{modelValue:t.dateValue,"onUpdate:modelValue":l[0]||(l[0]=o=>t.dateValue=o),label:t.label,style:e.normalizeStyle(r.computedStyle),type:"date","hide-details":""},null,8,["modelValue","label","style"])}const c=n._export_sfc(u,[["render",d]]);exports.default=c;
|
|
2
|
+
//# sourceMappingURL=DateWidget-Cle8FY8Q.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateWidget-
|
|
1
|
+
{"version":3,"file":"DateWidget-Cle8FY8Q.cjs","sources":["../src/widgets/DateWidget.vue"],"sourcesContent":["<!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\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.\n# See LICENSE.md 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-text-field\n v-model=\"dateValue\"\n :label=\"label\"\n :style=\"computedStyle\"\n type=\"date\"\n hide-details\n />\n</template>\n\n<script>\nimport Widget from './Widget'\nimport { TimeFilters } from '@/util'\n\nexport default {\n mixins: [Widget, TimeFilters],\n data() {\n return {\n label: 'Date',\n dateValue: '',\n }\n },\n created() {\n if (this.parameters[0]) {\n this.label = this.parameters[0]\n }\n this.dateValue = this.formatDate(new Date(), this.screenTimeZone)\n },\n methods: {\n text() {\n return this.dateValue\n },\n date() {\n return this.dateValue\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","TimeFilters","_createBlock","_component_v_text_field","$data","$event","_ctx"],"mappings":"yNA2BKA,EAAU,CACb,OAAQ,CAACC,EAAAA,OAAQC,aAAW,EAC5B,MAAO,CACL,MAAO,CACL,MAAO,OACP,UAAW,EACb,CACF,EACA,SAAU,CACJ,KAAK,WAAW,CAAC,IACnB,KAAK,MAAQ,KAAK,WAAW,CAAC,GAEhC,KAAK,UAAY,KAAK,WAAW,IAAI,KAAQ,KAAK,cAAc,CAClE,EACA,QAAS,CACP,MAAO,CACL,OAAO,KAAK,SACd,EACA,MAAO,CACL,OAAO,KAAK,SACd,EAEJ,0FAnCEC,EAAAA,YAMEC,EAAA,YALSC,EAAA,+CAAAA,EAAA,UAASC,GACjB,MAAOD,EAAA,MACP,uBAAOE,EAAA,aAAa,EACrB,KAAK,OACL,eAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as r } from "./Widget-
|
|
1
|
+
import { W as r } from "./Widget-DRhVdCLP.js";
|
|
2
2
|
import { T as s } from "./timeFilters-DTOZtBlG.js";
|
|
3
|
-
import { resolveComponent as i,
|
|
4
|
-
import { _ as p } from "./CustomIcon-
|
|
3
|
+
import { resolveComponent as i, openBlock as n, createBlock as d, normalizeStyle as m } from "vue";
|
|
4
|
+
import { _ as p } from "./CustomIcon-DTR361si.js";
|
|
5
5
|
const u = {
|
|
6
6
|
mixins: [r, s],
|
|
7
7
|
data() {
|
|
@@ -24,7 +24,7 @@ const u = {
|
|
|
24
24
|
};
|
|
25
25
|
function f(a, t, c, _, e, h) {
|
|
26
26
|
const l = i("v-text-field");
|
|
27
|
-
return
|
|
27
|
+
return n(), d(l, {
|
|
28
28
|
modelValue: e.dateValue,
|
|
29
29
|
"onUpdate:modelValue": t[0] || (t[0] = (o) => e.dateValue = o),
|
|
30
30
|
label: e.label,
|
|
@@ -37,4 +37,4 @@ const D = /* @__PURE__ */ p(u, [["render", f]]);
|
|
|
37
37
|
export {
|
|
38
38
|
D as default
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=DateWidget-
|
|
40
|
+
//# sourceMappingURL=DateWidget-DkFAFlc8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateWidget-
|
|
1
|
+
{"version":3,"file":"DateWidget-DkFAFlc8.js","sources":["../src/widgets/DateWidget.vue"],"sourcesContent":["<!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\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.\n# See LICENSE.md 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-text-field\n v-model=\"dateValue\"\n :label=\"label\"\n :style=\"computedStyle\"\n type=\"date\"\n hide-details\n />\n</template>\n\n<script>\nimport Widget from './Widget'\nimport { TimeFilters } from '@/util'\n\nexport default {\n mixins: [Widget, TimeFilters],\n data() {\n return {\n label: 'Date',\n dateValue: '',\n }\n },\n created() {\n if (this.parameters[0]) {\n this.label = this.parameters[0]\n }\n this.dateValue = this.formatDate(new Date(), this.screenTimeZone)\n },\n methods: {\n text() {\n return this.dateValue\n },\n date() {\n return this.dateValue\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","TimeFilters","_createBlock","_component_v_text_field","$data","$event","_ctx"],"mappings":";;;;AA2BA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,GAAQC,CAAW;AAAA,EAC5B,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,UAAU;AACR,IAAI,KAAK,WAAW,CAAC,MACnB,KAAK,QAAQ,KAAK,WAAW,CAAC,IAEhC,KAAK,YAAY,KAAK,WAAW,oBAAI,KAAI,GAAI,KAAK,cAAc;AAAA,EAClE;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AACL,aAAO,KAAK;AAAA,IACd;AAAA,IACA,OAAO;AACL,aAAO,KAAK;AAAA,IACd;AAAA;AAEJ;;;cAnCEC,EAMEC,GAAA;AAAA,gBALSC,EAAA;AAAA,kDAAAA,EAAA,YAASC;AAAA,IACjB,OAAOD,EAAA;AAAA,IACP,SAAOE,EAAA,aAAa;AAAA,IACrB,MAAK;AAAA,IACL,gBAAA;AAAA;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const y=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-DtL207xP.cjs"),B=require("./LimitsBar-BJ_cERjE.cjs"),N=require("./LimitsColor-5sx13hYN.cjs"),e=require("vue"),v=require("./CustomIcon-8F08upeg.cjs"),T={components:{LimitsBar:B.LimitsBar},props:{type:{default:"tlm",validator:function(a){return["cmd","tlm"].indexOf(a)!==-1}},targetName:{type:String,default:null},packetName:{type:String,default:null},itemName:{type:String,default:null},modelValue:Boolean},emits:["update:modelValue"],data(){return{details:Object,available:null,updater:null,rawValue:null,convertedValue:null,formattedValue:null,currentLimitsState:null}},computed:{show:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}},limitsColor(){return N.limitsColor(this.currentLimitsState)},astroStatus(){return N.astroStatus(this.limitsColor)},limitsColorClass(){return this.limitsColor?"openc3-"+this.limitsColor:""}},watch:{modelValue:function(a,t){a?(this.requestDetails(),this.type==="tlm"&&(this.updater=setInterval(()=>{this.available&&this.details&&this.api.get_tlm_values(this.available).then(s=>{for(let c of s){let o=null;if(c[0].json_class==="String"&&c[0].raw!==void 0?o=c[0].raw:this.details.data_type==="BLOCK"&&(o=c[0]),o!==null){o=o.slice(0,Number.parseInt(this.details.bit_size)/8);let i=!1;o.length>64&&(i=!0),c[0]=Array.from(o.slice(0,64),function(u){return u===" "?"20":("0"+(u&255).toString(16)).slice(-2)}).join(" ").toUpperCase(),i&&(c[0]+="...")}}this.details.data_type.includes("INT")&&!this.details.array_size?this.rawValue=`${s[0][0]} (0x${s[0][0].toString(16).toUpperCase()})`:this.rawValue=s[0][0],this.convertedValue=s[1][0],this.formattedValue=s[2][0],this.currentLimitsState=s[1][1]})},1e3))):(clearInterval(this.updater),this.updater=null)}},created(){this.api=new y.yi},beforeUnmount(){clearInterval(this.updater),this.updater=null},methods:{hasLimits(a){let t=!1;return a.limits.DEFAULT&&(t=!0),a.states&&Object.getOwnPropertyNames(a.states).forEach(s=>{a.states[s].color&&(t=!0)}),t},async requestDetails(){this.type==="tlm"?this.api.get_tlm_available([`${this.targetName}__${this.packetName}__${this.itemName}__RAW`,`${this.targetName}__${this.packetName}__${this.itemName}__CONVERTED`,`${this.targetName}__${this.packetName}__${this.itemName}__FORMATTED`]).then(a=>{a&&a.length>0&&(this.available=a),this.api.get_item(this.targetName,this.packetName,this.itemName).then(t=>{this.details=t,this.hasLimits(t)||(this.details.limits=null)})}):this.api.get_parameter(this.targetName,this.packetName,this.itemName).then(a=>{this.details=a})},async changeLimitsEnabled(){this.details.limits.enabled?await this.api.enable_limits(this.targetName,this.packetName,this.itemName):await this.api.disable_limits(this.targetName,this.packetName,this.itemName)},formatLimit(a){return a.hasOwnProperty("green_low")?"RL/"+a.red_low+" YL/"+a.yellow_low+" YH/"+a.yellow_high+" RH/"+a.red_high+" GL/"+a.green_low+" GH/"+a.green_high:a.hasOwnProperty("red_low")?"RL/"+a.red_low+" YL/"+a.yellow_low+" YH/"+a.yellow_high+" RH/"+a.red_high:a}}},b={key:5},S={key:7},D={class:"limits-text"},L={key:9};function E(a,t,s,c,o,i){const u=e.resolveComponent("v-spacer"),V=e.resolveComponent("v-toolbar"),x=e.resolveComponent("v-card-title"),_=e.resolveComponent("v-card-subtitle"),l=e.resolveComponent("v-col"),r=e.resolveComponent("v-row"),m=e.resolveComponent("rux-status"),f=e.resolveComponent("v-switch"),h=e.resolveComponent("LimitsBar"),w=e.resolveComponent("v-container"),C=e.resolveComponent("v-card-text"),p=e.resolveComponent("v-card"),g=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(g,{modelValue:i.show,"onUpdate:modelValue":t[1]||(t[1]=n=>i.show=n),width:"700"},{default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(V,{height:24},{default:e.withCtx(()=>[e.createVNode(u),t[2]||(t[2]=e.createElementVNode("span",null," Details ",-1)),e.createVNode(u)]),_:1}),e.createVNode(x,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.targetName)+" "+e.toDisplayString(s.packetName)+" "+e.toDisplayString(s.itemName),1)]),_:1}),e.createVNode(_,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.description),1)]),_:1}),e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(w,{fluid:""},{default:e.withCtx(()=>[s.type==="tlm"?(e.openBlock(),e.createBlock(r,{key:0,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode("Item Values",-1)])]),_:1}),e.createVNode(l)]),_:1})):e.createCommentVNode("",!0),e.createVNode(r,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Raw Value",-1)])]),_:1}),e.createVNode(l,{class:e.normalizeClass([i.limitsColorClass,"d-flex align-center"])},{default:e.withCtx(()=>[i.astroStatus?(e.openBlock(),e.createBlock(m,{key:0,class:"mr-1",status:i.astroStatus},null,8,["status"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(o.rawValue),1)]),_:1},8,["class"])]),_:1}),e.createVNode(r,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("Converted Value",-1)])]),_:1}),e.createVNode(l,{class:e.normalizeClass([i.limitsColorClass,"d-flex align-center"])},{default:e.withCtx(()=>[i.astroStatus?(e.openBlock(),e.createBlock(m,{key:0,class:"mr-1",status:i.astroStatus},null,8,["status"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(o.convertedValue),1)]),_:1},8,["class"])]),_:1}),e.createVNode(r,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("Formatted Value",-1)])]),_:1}),e.createVNode(l,{class:e.normalizeClass([i.limitsColorClass,"d-flex align-center"])},{default:e.withCtx(()=>[i.astroStatus?(e.openBlock(),e.createBlock(m,{key:0,class:"mr-1",status:i.astroStatus},null,8,["status"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(o.formattedValue),1)]),_:1},8,["class"])]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode("Bit Offset",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.bit_offset),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("Bit Size",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.bit_size),1)]),_:1})]),_:1}),o.details.array_size?(e.openBlock(),e.createBlock(r,{key:1,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("Array Size",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.array_size),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[10]||(t[10]=[e.createTextVNode("Data Type",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.data_type),1)]),_:1})]),_:1}),s.type==="cmd"?(e.openBlock(),e.createBlock(r,{key:2,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode("Minimum",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.minimum),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),s.type==="cmd"?(e.openBlock(),e.createBlock(r,{key:3,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode("Maximum",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.maximum),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),s.type==="cmd"?(e.openBlock(),e.createBlock(r,{key:4,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode("Default",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.default),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode("Format String",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.format_string),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode("Read Conversion",-1)])]),_:1}),o.details.read_conversion?(e.openBlock(),e.createBlock(l,{key:0},{default:e.withCtx(()=>[e.createTextVNode(" Class: "+e.toDisplayString(o.details.read_conversion.class)+" ",1),t[16]||(t[16]=e.createElementVNode("br",null,null,-1)),e.createTextVNode(" Params: "+e.toDisplayString(o.details.read_conversion.params),1)]),_:1})):(e.openBlock(),e.createBlock(l,{key:1}))]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode("Write Conversion",-1)])]),_:1}),o.details.write_conversion?(e.openBlock(),e.createBlock(l,{key:0},{default:e.withCtx(()=>[e.createTextVNode(" Class: "+e.toDisplayString(o.details.write_conversion.class)+" ",1),t[18]||(t[18]=e.createElementVNode("br",null,null,-1)),e.createTextVNode(" Params: "+e.toDisplayString(o.details.write_conversion.params),1)]),_:1})):(e.openBlock(),e.createBlock(l,{key:1}))]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode("Id Value",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.id_value),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode("Units Full",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.units_full),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[21]||(t[21]=[e.createTextVNode("Units Abbr",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.units),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[22]||(t[22]=[e.createTextVNode("Endianness",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.endianness),1)]),_:1})]),_:1}),o.details.states?(e.openBlock(),e.createElementBlock("div",b,[e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createTextVNode("States",-1)])]),_:1}),e.createVNode(l)]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.details.states,(n,d)=>(e.openBlock(),e.createBlock(r,{key:d,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d),1)]),_:2},1024),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.value),1)]),_:2},1024)]),_:2},1024))),128))])):(e.openBlock(),e.createBlock(r,{key:6,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[24]||(t[24]=[e.createTextVNode("States",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[...t[25]||(t[25]=[e.createTextVNode("None",-1)])]),_:1})]),_:1})),o.details.limits?(e.openBlock(),e.createElementBlock("div",S,[e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[26]||(t[26]=[e.createTextVNode("Limits",-1)])]),_:1}),e.createVNode(l)]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.details.limits,(n,d)=>(e.openBlock(),e.createBlock(r,{key:d,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),d==="enabled"?(e.openBlock(),e.createBlock(l,{key:0,cols:"4",class:"label"},{default:e.withCtx(()=>[...t[27]||(t[27]=[e.createTextVNode("Enabled",-1)])]),_:1})):e.createCommentVNode("",!0),d==="enabled"?(e.openBlock(),e.createBlock(f,{key:1,modelValue:o.details.limits.enabled,"onUpdate:modelValue":[t[0]||(t[0]=k=>o.details.limits.enabled=k),i.changeLimitsEnabled],density:"compact",color:"primary",class:"compact-switch","hide-details":""},null,8,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),d!=="enabled"?(e.openBlock(),e.createBlock(l,{key:2,cols:"4",class:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d),1)]),_:2},1024)):e.createCommentVNode("",!0),d!=="enabled"?(e.openBlock(),e.createBlock(l,{key:3},{default:e.withCtx(()=>[e.createElementVNode("div",D,e.toDisplayString(i.formatLimit(n)),1),n.red_low!==void 0?(e.openBlock(),e.createBlock(h,{key:0,"red-low":n.red_low,"yellow-low":n.yellow_low,"yellow-high":n.yellow_high,"red-high":n.red_high,"green-low":n.green_low,"green-high":n.green_high,value:o.convertedValue,width:300,height:22},null,8,["red-low","yellow-low","yellow-high","red-high","green-low","green-high","value"])):e.createCommentVNode("",!0)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1024))),128))])):(e.openBlock(),e.createBlock(r,{key:8,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[28]||(t[28]=[e.createTextVNode("Limits",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[...t[29]||(t[29]=[e.createTextVNode("None",-1)])]),_:1})]),_:1})),o.details.meta?(e.openBlock(),e.createElementBlock("div",L,[e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[30]||(t[30]=[e.createTextVNode("Meta",-1)])]),_:1}),e.createVNode(l)]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.details.meta,(n,d)=>(e.openBlock(),e.createBlock(r,{key:d,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d),1)]),_:2},1024),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.join(", ")),1)]),_:2},1024)]),_:2},1024))),128))])):(e.openBlock(),e.createBlock(r,{key:10,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[31]||(t[31]=[e.createTextVNode("Meta",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[...t[32]||(t[32]=[e.createTextVNode("None",-1)])]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const z=v._export_sfc(T,[["render",E],["__scopeId","data-v-36b55cdd"]]);exports.DetailsDialog=z;
|
|
2
|
-
//# sourceMappingURL=DetailsDialog-
|
|
1
|
+
"use strict";const y=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-eKtA_EtD.cjs"),B=require("./LimitsBar-BFM38vQL.cjs"),N=require("./LimitsColor-5sx13hYN.cjs"),e=require("vue"),v=require("./CustomIcon-8F08upeg.cjs"),T={components:{LimitsBar:B.LimitsBar},props:{type:{default:"tlm",validator:function(a){return["cmd","tlm"].indexOf(a)!==-1}},targetName:{type:String,default:null},packetName:{type:String,default:null},itemName:{type:String,default:null},modelValue:Boolean},emits:["update:modelValue"],data(){return{details:Object,available:null,updater:null,rawValue:null,convertedValue:null,formattedValue:null,currentLimitsState:null}},computed:{show:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}},limitsColor(){return N.limitsColor(this.currentLimitsState)},astroStatus(){return N.astroStatus(this.limitsColor)},limitsColorClass(){return this.limitsColor?"openc3-"+this.limitsColor:""}},watch:{modelValue:function(a,t){a?(this.requestDetails(),this.type==="tlm"&&(this.updater=setInterval(()=>{this.available&&this.details&&this.api.get_tlm_values(this.available).then(s=>{for(let c of s){let o=null;if(c[0].json_class==="String"&&c[0].raw!==void 0?o=c[0].raw:this.details.data_type==="BLOCK"&&(o=c[0]),o!==null){o=o.slice(0,Number.parseInt(this.details.bit_size)/8);let i=!1;o.length>64&&(i=!0),c[0]=Array.from(o.slice(0,64),function(u){return u===" "?"20":("0"+(u&255).toString(16)).slice(-2)}).join(" ").toUpperCase(),i&&(c[0]+="...")}}this.details.data_type.includes("INT")&&!this.details.array_size?this.rawValue=`${s[0][0]} (0x${s[0][0].toString(16).toUpperCase()})`:this.rawValue=s[0][0],this.convertedValue=s[1][0],this.formattedValue=s[2][0],this.currentLimitsState=s[1][1]})},1e3))):(clearInterval(this.updater),this.updater=null)}},created(){this.api=new y.yi},beforeUnmount(){clearInterval(this.updater),this.updater=null},methods:{hasLimits(a){let t=!1;return a.limits.DEFAULT&&(t=!0),a.states&&Object.getOwnPropertyNames(a.states).forEach(s=>{a.states[s].color&&(t=!0)}),t},async requestDetails(){this.type==="tlm"?this.api.get_tlm_available([`${this.targetName}__${this.packetName}__${this.itemName}__RAW`,`${this.targetName}__${this.packetName}__${this.itemName}__CONVERTED`,`${this.targetName}__${this.packetName}__${this.itemName}__FORMATTED`]).then(a=>{a&&a.length>0&&(this.available=a),this.api.get_item(this.targetName,this.packetName,this.itemName).then(t=>{this.details=t,this.hasLimits(t)||(this.details.limits=null)})}):this.api.get_parameter(this.targetName,this.packetName,this.itemName).then(a=>{this.details=a})},async changeLimitsEnabled(){this.details.limits.enabled?await this.api.enable_limits(this.targetName,this.packetName,this.itemName):await this.api.disable_limits(this.targetName,this.packetName,this.itemName)},formatLimit(a){return a.hasOwnProperty("green_low")?"RL/"+a.red_low+" YL/"+a.yellow_low+" YH/"+a.yellow_high+" RH/"+a.red_high+" GL/"+a.green_low+" GH/"+a.green_high:a.hasOwnProperty("red_low")?"RL/"+a.red_low+" YL/"+a.yellow_low+" YH/"+a.yellow_high+" RH/"+a.red_high:a}}},b={key:5},S={key:7},D={class:"limits-text"},L={key:9};function E(a,t,s,c,o,i){const u=e.resolveComponent("v-spacer"),V=e.resolveComponent("v-toolbar"),x=e.resolveComponent("v-card-title"),_=e.resolveComponent("v-card-subtitle"),l=e.resolveComponent("v-col"),r=e.resolveComponent("v-row"),m=e.resolveComponent("rux-status"),f=e.resolveComponent("v-switch"),h=e.resolveComponent("LimitsBar"),w=e.resolveComponent("v-container"),C=e.resolveComponent("v-card-text"),p=e.resolveComponent("v-card"),g=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(g,{modelValue:i.show,"onUpdate:modelValue":t[1]||(t[1]=n=>i.show=n),width:"700"},{default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(V,{height:24},{default:e.withCtx(()=>[e.createVNode(u),t[2]||(t[2]=e.createElementVNode("span",null," Details ",-1)),e.createVNode(u)]),_:1}),e.createVNode(x,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.targetName)+" "+e.toDisplayString(s.packetName)+" "+e.toDisplayString(s.itemName),1)]),_:1}),e.createVNode(_,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.description),1)]),_:1}),e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(w,{fluid:""},{default:e.withCtx(()=>[s.type==="tlm"?(e.openBlock(),e.createBlock(r,{key:0,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode("Item Values",-1)])]),_:1}),e.createVNode(l)]),_:1})):e.createCommentVNode("",!0),e.createVNode(r,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Raw Value",-1)])]),_:1}),e.createVNode(l,{class:e.normalizeClass([i.limitsColorClass,"d-flex align-center"])},{default:e.withCtx(()=>[i.astroStatus?(e.openBlock(),e.createBlock(m,{key:0,class:"mr-1",status:i.astroStatus},null,8,["status"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(o.rawValue),1)]),_:1},8,["class"])]),_:1}),e.createVNode(r,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("Converted Value",-1)])]),_:1}),e.createVNode(l,{class:e.normalizeClass([i.limitsColorClass,"d-flex align-center"])},{default:e.withCtx(()=>[i.astroStatus?(e.openBlock(),e.createBlock(m,{key:0,class:"mr-1",status:i.astroStatus},null,8,["status"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(o.convertedValue),1)]),_:1},8,["class"])]),_:1}),e.createVNode(r,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("Formatted Value",-1)])]),_:1}),e.createVNode(l,{class:e.normalizeClass([i.limitsColorClass,"d-flex align-center"])},{default:e.withCtx(()=>[i.astroStatus?(e.openBlock(),e.createBlock(m,{key:0,class:"mr-1",status:i.astroStatus},null,8,["status"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(o.formattedValue),1)]),_:1},8,["class"])]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode("Bit Offset",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.bit_offset),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("Bit Size",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.bit_size),1)]),_:1})]),_:1}),o.details.array_size?(e.openBlock(),e.createBlock(r,{key:1,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("Array Size",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.array_size),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[10]||(t[10]=[e.createTextVNode("Data Type",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.data_type),1)]),_:1})]),_:1}),s.type==="cmd"?(e.openBlock(),e.createBlock(r,{key:2,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode("Minimum",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.minimum),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),s.type==="cmd"?(e.openBlock(),e.createBlock(r,{key:3,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode("Maximum",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.maximum),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),s.type==="cmd"?(e.openBlock(),e.createBlock(r,{key:4,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode("Default",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.default),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode("Format String",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.format_string),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode("Read Conversion",-1)])]),_:1}),o.details.read_conversion?(e.openBlock(),e.createBlock(l,{key:0},{default:e.withCtx(()=>[e.createTextVNode(" Class: "+e.toDisplayString(o.details.read_conversion.class)+" ",1),t[16]||(t[16]=e.createElementVNode("br",null,null,-1)),e.createTextVNode(" Params: "+e.toDisplayString(o.details.read_conversion.params),1)]),_:1})):(e.openBlock(),e.createBlock(l,{key:1}))]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode("Write Conversion",-1)])]),_:1}),o.details.write_conversion?(e.openBlock(),e.createBlock(l,{key:0},{default:e.withCtx(()=>[e.createTextVNode(" Class: "+e.toDisplayString(o.details.write_conversion.class)+" ",1),t[18]||(t[18]=e.createElementVNode("br",null,null,-1)),e.createTextVNode(" Params: "+e.toDisplayString(o.details.write_conversion.params),1)]),_:1})):(e.openBlock(),e.createBlock(l,{key:1}))]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode("Id Value",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.id_value),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode("Units Full",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.units_full),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[21]||(t[21]=[e.createTextVNode("Units Abbr",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.units),1)]),_:1})]),_:1}),e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[22]||(t[22]=[e.createTextVNode("Endianness",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.details.endianness),1)]),_:1})]),_:1}),o.details.states?(e.openBlock(),e.createElementBlock("div",b,[e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createTextVNode("States",-1)])]),_:1}),e.createVNode(l)]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.details.states,(n,d)=>(e.openBlock(),e.createBlock(r,{key:d,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d),1)]),_:2},1024),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.value),1)]),_:2},1024)]),_:2},1024))),128))])):(e.openBlock(),e.createBlock(r,{key:6,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[24]||(t[24]=[e.createTextVNode("States",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[...t[25]||(t[25]=[e.createTextVNode("None",-1)])]),_:1})]),_:1})),o.details.limits?(e.openBlock(),e.createElementBlock("div",S,[e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[26]||(t[26]=[e.createTextVNode("Limits",-1)])]),_:1}),e.createVNode(l)]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.details.limits,(n,d)=>(e.openBlock(),e.createBlock(r,{key:d,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),d==="enabled"?(e.openBlock(),e.createBlock(l,{key:0,cols:"4",class:"label"},{default:e.withCtx(()=>[...t[27]||(t[27]=[e.createTextVNode("Enabled",-1)])]),_:1})):e.createCommentVNode("",!0),d==="enabled"?(e.openBlock(),e.createBlock(f,{key:1,modelValue:o.details.limits.enabled,"onUpdate:modelValue":[t[0]||(t[0]=k=>o.details.limits.enabled=k),i.changeLimitsEnabled],density:"compact",color:"primary",class:"compact-switch","hide-details":""},null,8,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),d!=="enabled"?(e.openBlock(),e.createBlock(l,{key:2,cols:"4",class:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d),1)]),_:2},1024)):e.createCommentVNode("",!0),d!=="enabled"?(e.openBlock(),e.createBlock(l,{key:3},{default:e.withCtx(()=>[e.createElementVNode("div",D,e.toDisplayString(i.formatLimit(n)),1),n.red_low!==void 0?(e.openBlock(),e.createBlock(h,{key:0,"red-low":n.red_low,"yellow-low":n.yellow_low,"yellow-high":n.yellow_high,"red-high":n.red_high,"green-low":n.green_low,"green-high":n.green_high,value:o.convertedValue,width:300,height:22},null,8,["red-low","yellow-low","yellow-high","red-high","green-low","green-high","value"])):e.createCommentVNode("",!0)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1024))),128))])):(e.openBlock(),e.createBlock(r,{key:8,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[28]||(t[28]=[e.createTextVNode("Limits",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[...t[29]||(t[29]=[e.createTextVNode("None",-1)])]),_:1})]),_:1})),o.details.meta?(e.openBlock(),e.createElementBlock("div",L,[e.createVNode(r,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[30]||(t[30]=[e.createTextVNode("Meta",-1)])]),_:1}),e.createVNode(l)]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.details.meta,(n,d)=>(e.openBlock(),e.createBlock(r,{key:d,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"1"}),e.createVNode(l,{cols:"4",class:"label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d),1)]),_:2},1024),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.join(", ")),1)]),_:2},1024)]),_:2},1024))),128))])):(e.openBlock(),e.createBlock(r,{key:10,"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(l,{cols:"5",class:"label"},{default:e.withCtx(()=>[...t[31]||(t[31]=[e.createTextVNode("Meta",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[...t[32]||(t[32]=[e.createTextVNode("None",-1)])]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const z=v._export_sfc(T,[["render",E],["__scopeId","data-v-36b55cdd"]]);exports.DetailsDialog=z;
|
|
2
|
+
//# sourceMappingURL=DetailsDialog-BcMaTfuQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsDialog-Bq9BPuoe.cjs","sources":["../src/components/DetailsDialog.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\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.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"700\">\n <v-card>\n <v-toolbar :height=\"24\">\n <v-spacer />\n <span> Details </span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-title>\n {{ targetName }} {{ packetName }} {{ itemName }}\n </v-card-title>\n <v-card-subtitle>{{ details.description }}</v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row v-if=\"type === 'tlm'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Item Values</v-col>\n <v-col />\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Raw Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ rawValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Converted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ convertedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Formatted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ formattedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Offset</v-col>\n <v-col>{{ details.bit_offset }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Size</v-col>\n <v-col>{{ details.bit_size }}</v-col>\n </v-row>\n <v-row v-if=\"details.array_size\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Array Size</v-col>\n <v-col>{{ details.array_size }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Data Type</v-col>\n <v-col>{{ details.data_type }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Minimum</v-col>\n <v-col>{{ details.minimum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Maximum</v-col>\n <v-col>{{ details.maximum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Default</v-col>\n <v-col>{{ details.default }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Format String</v-col>\n <v-col>{{ details.format_string }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Read Conversion</v-col>\n <v-col v-if=\"details.read_conversion\">\n Class: {{ details.read_conversion.class }}\n <br />\n Params:\n {{ details.read_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Write Conversion</v-col>\n <v-col v-if=\"details.write_conversion\">\n Class: {{ details.write_conversion.class }}\n <br />\n Params:\n {{ details.write_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Id Value</v-col>\n <v-col>{{ details.id_value }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Full</v-col>\n <v-col>{{ details.units_full }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Abbr</v-col>\n <v-col>{{ details.units }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Endianness</v-col>\n <v-col>{{ details.endianness }}</v-col>\n </v-row>\n <div v-if=\"details.states\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col />\n </v-row>\n <v-row v-for=\"(state, key) in details.states\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ state.value }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.limits\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(limit, key) in details.limits\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col v-if=\"key === 'enabled'\" cols=\"4\" class=\"label\"\n >Enabled</v-col\n >\n <v-switch\n v-if=\"key === 'enabled'\"\n v-model=\"details.limits.enabled\"\n density=\"compact\"\n color=\"primary\"\n class=\"compact-switch\"\n hide-details\n @update:model-value=\"changeLimitsEnabled\"\n ></v-switch>\n <v-col v-if=\"key !== 'enabled'\" cols=\"4\" class=\"label\">{{\n key\n }}</v-col>\n <v-col v-if=\"key !== 'enabled'\">\n <div class=\"limits-text\">{{ formatLimit(limit) }}</div>\n <LimitsBar\n v-if=\"limit.red_low !== undefined\"\n :red-low=\"limit.red_low\"\n :yellow-low=\"limit.yellow_low\"\n :yellow-high=\"limit.yellow_high\"\n :red-high=\"limit.red_high\"\n :green-low=\"limit.green_low\"\n :green-high=\"limit.green_high\"\n :value=\"convertedValue\"\n :width=\"300\"\n :height=\"22\"\n />\n </v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.meta\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(value, key) in details.meta\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ value.join(', ') }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col>None</v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\nimport LimitsBar from './LimitsBar.vue'\nimport { limitsColor, astroStatus } from '../widgets/LimitsColor'\n\nexport default {\n components: {\n LimitsBar,\n },\n props: {\n type: {\n default: 'tlm',\n validator: function (value) {\n // The value must match one of these strings\n return ['cmd', 'tlm'].indexOf(value) !== -1\n },\n },\n targetName: {\n type: String,\n default: null,\n },\n packetName: {\n type: String,\n default: null,\n },\n itemName: {\n type: String,\n default: null,\n },\n modelValue: Boolean,\n },\n emits: ['update:modelValue'],\n data() {\n return {\n details: Object,\n available: null,\n updater: null,\n rawValue: null,\n convertedValue: null,\n formattedValue: null,\n currentLimitsState: null,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n limitsColor() {\n return limitsColor(this.currentLimitsState)\n },\n astroStatus() {\n return astroStatus(this.limitsColor)\n },\n limitsColorClass() {\n if (this.limitsColor) {\n return 'openc3-' + this.limitsColor\n }\n return ''\n },\n },\n watch: {\n // Create a watcher on value which is the indicator to display the dialog\n // If value is true we request the details from the server\n // If this is a tlm dialog we setup an interval to get the telemetry values\n modelValue: function (newValue, oldValue) {\n if (newValue) {\n this.requestDetails()\n if (this.type === 'tlm') {\n this.updater = setInterval(() => {\n if (this.available && this.details) {\n this.api.get_tlm_values(this.available).then((values) => {\n for (let value of values) {\n let rawString = null\n // Check for raw encoded strings (non-ascii)\n if (\n value[0]['json_class'] === 'String' &&\n value[0]['raw'] !== undefined\n ) {\n rawString = value[0]['raw']\n } else if (this.details.data_type === 'BLOCK') {\n rawString = value[0]\n }\n if (rawString !== null) {\n // Slice the number of bytes in case they added UNITS\n // Otherwise we would render the units,\n // e.g. UNITS of 'B' becomes 20 42 (space, B)\n rawString = rawString.slice(\n 0,\n Number.parseInt(this.details.bit_size) / 8,\n )\n // Only display the first 64 bytes at which point ...\n let ellipse = false\n if (rawString.length > 64) {\n ellipse = true\n }\n value[0] = Array.from(\n rawString.slice(0, 64),\n function (byte) {\n // Can't really display spaces so change to 20 (hex)\n if (byte === ' ') {\n return '20'\n } else {\n return ('0' + (byte & 0xff).toString(16)).slice(-2)\n }\n },\n )\n .join(' ')\n .toUpperCase()\n if (ellipse) {\n value[0] += '...'\n }\n }\n }\n if (\n this.details.data_type.includes('INT') &&\n !this.details.array_size\n ) {\n // For INT and UINT display both dec and hex\n this.rawValue = `${values[0][0]} (0x${values[0][0]\n .toString(16)\n .toUpperCase()})`\n } else {\n this.rawValue = values[0][0]\n }\n this.convertedValue = values[1][0]\n this.formattedValue = values[2][0]\n this.currentLimitsState = values[1][1]\n })\n }\n }, 1000)\n }\n } else {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n },\n created() {\n this.api = new OpenC3Api()\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n // This check is necessary because COSMOS 5.20 was setting limits.enabled to false\n // even if the item did not have limits. While the backend changed we still need to\n // support the old results. Thus we check if the item has limits by checking if the\n // limits.DEFAULT key exists or if any of the states have a color.\n hasLimits(details) {\n let result = false\n if (details.limits.DEFAULT) {\n result = true\n }\n if (details.states) {\n Object.getOwnPropertyNames(details.states).forEach((state) => {\n if (details.states[state].color) {\n result = true\n }\n })\n }\n return result\n },\n async requestDetails() {\n if (this.type === 'tlm') {\n this.api\n .get_tlm_available([\n `${this.targetName}__${this.packetName}__${this.itemName}__RAW`,\n `${this.targetName}__${this.packetName}__${this.itemName}__CONVERTED`,\n `${this.targetName}__${this.packetName}__${this.itemName}__FORMATTED`,\n ])\n .then((available) => {\n if (available && available.length > 0) {\n this.available = available\n }\n this.api\n .get_item(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n // If the item does not have limits explicitly null it\n // to make the check in the template easier\n if (!this.hasLimits(details)) {\n this.details.limits = null\n }\n })\n })\n } else {\n this.api\n .get_parameter(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n })\n }\n },\n async changeLimitsEnabled() {\n if (this.details.limits.enabled) {\n await this.api.enable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n } else {\n await this.api.disable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n }\n },\n formatLimit(limit) {\n if (limit.hasOwnProperty('green_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high +\n ' GL/' +\n limit.green_low +\n ' GH/' +\n limit.green_high\n )\n } else if (limit.hasOwnProperty('red_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high\n )\n } else {\n return limit\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.label {\n font-weight: bold;\n text-transform: capitalize;\n}\n\n:deep(.v-input--selection-controls) {\n padding: 0px;\n margin: 0px;\n}\n\n:deep(.v-switch .v-selection-control) {\n min-height: 28px;\n}\n\n.limits-text {\n margin-bottom: 4px;\n}\n</style>\n"],"names":["_sfc_main","LimitsBar","value","limitsColor","astroStatus","newValue","oldValue","values","rawString","ellipse","byte","OpenC3Api","details","result","state","available","limit","_hoisted_3","_createBlock","_component_v_dialog","$options","$event","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_cache","_createElementVNode","_component_v_card_title","_createTextVNode","_toDisplayString","$props","_component_v_card_subtitle","$data","_component_v_card_text","_component_v_container","_component_v_row","_component_v_col","_normalizeClass","_component_rux_status","_createElementBlock","_hoisted_1","_openBlock","_Fragment","key","_hoisted_2","_component_v_switch","_component_LimitsBar","_hoisted_4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsDialog-BcMaTfuQ.cjs","sources":["../src/components/DetailsDialog.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\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.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"700\">\n <v-card>\n <v-toolbar :height=\"24\">\n <v-spacer />\n <span> Details </span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-title>\n {{ targetName }} {{ packetName }} {{ itemName }}\n </v-card-title>\n <v-card-subtitle>{{ details.description }}</v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row v-if=\"type === 'tlm'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Item Values</v-col>\n <v-col />\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Raw Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ rawValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Converted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ convertedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Formatted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ formattedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Offset</v-col>\n <v-col>{{ details.bit_offset }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Size</v-col>\n <v-col>{{ details.bit_size }}</v-col>\n </v-row>\n <v-row v-if=\"details.array_size\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Array Size</v-col>\n <v-col>{{ details.array_size }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Data Type</v-col>\n <v-col>{{ details.data_type }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Minimum</v-col>\n <v-col>{{ details.minimum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Maximum</v-col>\n <v-col>{{ details.maximum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Default</v-col>\n <v-col>{{ details.default }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Format String</v-col>\n <v-col>{{ details.format_string }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Read Conversion</v-col>\n <v-col v-if=\"details.read_conversion\">\n Class: {{ details.read_conversion.class }}\n <br />\n Params:\n {{ details.read_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Write Conversion</v-col>\n <v-col v-if=\"details.write_conversion\">\n Class: {{ details.write_conversion.class }}\n <br />\n Params:\n {{ details.write_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Id Value</v-col>\n <v-col>{{ details.id_value }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Full</v-col>\n <v-col>{{ details.units_full }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Abbr</v-col>\n <v-col>{{ details.units }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Endianness</v-col>\n <v-col>{{ details.endianness }}</v-col>\n </v-row>\n <div v-if=\"details.states\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col />\n </v-row>\n <v-row v-for=\"(state, key) in details.states\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ state.value }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.limits\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(limit, key) in details.limits\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col v-if=\"key === 'enabled'\" cols=\"4\" class=\"label\"\n >Enabled</v-col\n >\n <v-switch\n v-if=\"key === 'enabled'\"\n v-model=\"details.limits.enabled\"\n density=\"compact\"\n color=\"primary\"\n class=\"compact-switch\"\n hide-details\n @update:model-value=\"changeLimitsEnabled\"\n ></v-switch>\n <v-col v-if=\"key !== 'enabled'\" cols=\"4\" class=\"label\">{{\n key\n }}</v-col>\n <v-col v-if=\"key !== 'enabled'\">\n <div class=\"limits-text\">{{ formatLimit(limit) }}</div>\n <LimitsBar\n v-if=\"limit.red_low !== undefined\"\n :red-low=\"limit.red_low\"\n :yellow-low=\"limit.yellow_low\"\n :yellow-high=\"limit.yellow_high\"\n :red-high=\"limit.red_high\"\n :green-low=\"limit.green_low\"\n :green-high=\"limit.green_high\"\n :value=\"convertedValue\"\n :width=\"300\"\n :height=\"22\"\n />\n </v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.meta\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(value, key) in details.meta\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ value.join(', ') }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col>None</v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\nimport LimitsBar from './LimitsBar.vue'\nimport { limitsColor, astroStatus } from '../widgets/LimitsColor'\n\nexport default {\n components: {\n LimitsBar,\n },\n props: {\n type: {\n default: 'tlm',\n validator: function (value) {\n // The value must match one of these strings\n return ['cmd', 'tlm'].indexOf(value) !== -1\n },\n },\n targetName: {\n type: String,\n default: null,\n },\n packetName: {\n type: String,\n default: null,\n },\n itemName: {\n type: String,\n default: null,\n },\n modelValue: Boolean,\n },\n emits: ['update:modelValue'],\n data() {\n return {\n details: Object,\n available: null,\n updater: null,\n rawValue: null,\n convertedValue: null,\n formattedValue: null,\n currentLimitsState: null,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n limitsColor() {\n return limitsColor(this.currentLimitsState)\n },\n astroStatus() {\n return astroStatus(this.limitsColor)\n },\n limitsColorClass() {\n if (this.limitsColor) {\n return 'openc3-' + this.limitsColor\n }\n return ''\n },\n },\n watch: {\n // Create a watcher on value which is the indicator to display the dialog\n // If value is true we request the details from the server\n // If this is a tlm dialog we setup an interval to get the telemetry values\n modelValue: function (newValue, oldValue) {\n if (newValue) {\n this.requestDetails()\n if (this.type === 'tlm') {\n this.updater = setInterval(() => {\n if (this.available && this.details) {\n this.api.get_tlm_values(this.available).then((values) => {\n for (let value of values) {\n let rawString = null\n // Check for raw encoded strings (non-ascii)\n if (\n value[0]['json_class'] === 'String' &&\n value[0]['raw'] !== undefined\n ) {\n rawString = value[0]['raw']\n } else if (this.details.data_type === 'BLOCK') {\n rawString = value[0]\n }\n if (rawString !== null) {\n // Slice the number of bytes in case they added UNITS\n // Otherwise we would render the units,\n // e.g. UNITS of 'B' becomes 20 42 (space, B)\n rawString = rawString.slice(\n 0,\n Number.parseInt(this.details.bit_size) / 8,\n )\n // Only display the first 64 bytes at which point ...\n let ellipse = false\n if (rawString.length > 64) {\n ellipse = true\n }\n value[0] = Array.from(\n rawString.slice(0, 64),\n function (byte) {\n // Can't really display spaces so change to 20 (hex)\n if (byte === ' ') {\n return '20'\n } else {\n return ('0' + (byte & 0xff).toString(16)).slice(-2)\n }\n },\n )\n .join(' ')\n .toUpperCase()\n if (ellipse) {\n value[0] += '...'\n }\n }\n }\n if (\n this.details.data_type.includes('INT') &&\n !this.details.array_size\n ) {\n // For INT and UINT display both dec and hex\n this.rawValue = `${values[0][0]} (0x${values[0][0]\n .toString(16)\n .toUpperCase()})`\n } else {\n this.rawValue = values[0][0]\n }\n this.convertedValue = values[1][0]\n this.formattedValue = values[2][0]\n this.currentLimitsState = values[1][1]\n })\n }\n }, 1000)\n }\n } else {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n },\n created() {\n this.api = new OpenC3Api()\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n // This check is necessary because COSMOS 5.20 was setting limits.enabled to false\n // even if the item did not have limits. While the backend changed we still need to\n // support the old results. Thus we check if the item has limits by checking if the\n // limits.DEFAULT key exists or if any of the states have a color.\n hasLimits(details) {\n let result = false\n if (details.limits.DEFAULT) {\n result = true\n }\n if (details.states) {\n Object.getOwnPropertyNames(details.states).forEach((state) => {\n if (details.states[state].color) {\n result = true\n }\n })\n }\n return result\n },\n async requestDetails() {\n if (this.type === 'tlm') {\n this.api\n .get_tlm_available([\n `${this.targetName}__${this.packetName}__${this.itemName}__RAW`,\n `${this.targetName}__${this.packetName}__${this.itemName}__CONVERTED`,\n `${this.targetName}__${this.packetName}__${this.itemName}__FORMATTED`,\n ])\n .then((available) => {\n if (available && available.length > 0) {\n this.available = available\n }\n this.api\n .get_item(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n // If the item does not have limits explicitly null it\n // to make the check in the template easier\n if (!this.hasLimits(details)) {\n this.details.limits = null\n }\n })\n })\n } else {\n this.api\n .get_parameter(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n })\n }\n },\n async changeLimitsEnabled() {\n if (this.details.limits.enabled) {\n await this.api.enable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n } else {\n await this.api.disable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n }\n },\n formatLimit(limit) {\n if (limit.hasOwnProperty('green_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high +\n ' GL/' +\n limit.green_low +\n ' GH/' +\n limit.green_high\n )\n } else if (limit.hasOwnProperty('red_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high\n )\n } else {\n return limit\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.label {\n font-weight: bold;\n text-transform: capitalize;\n}\n\n:deep(.v-input--selection-controls) {\n padding: 0px;\n margin: 0px;\n}\n\n:deep(.v-switch .v-selection-control) {\n min-height: 28px;\n}\n\n.limits-text {\n margin-bottom: 4px;\n}\n</style>\n"],"names":["_sfc_main","LimitsBar","value","limitsColor","astroStatus","newValue","oldValue","values","rawString","ellipse","byte","OpenC3Api","details","result","state","available","limit","_hoisted_3","_createBlock","_component_v_dialog","$options","$event","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_cache","_createElementVNode","_component_v_card_title","_createTextVNode","_toDisplayString","$props","_component_v_card_subtitle","$data","_component_v_card_text","_component_v_container","_component_v_row","_component_v_col","_normalizeClass","_component_rux_status","_createElementBlock","_hoisted_1","_openBlock","_Fragment","key","_hoisted_2","_component_v_switch","_component_LimitsBar","_hoisted_4"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { y as z } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-
|
|
2
|
-
import { L as I } from "./LimitsBar-
|
|
1
|
+
import { y as z } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_c790a82f_lang-BJxLUZhh.js";
|
|
2
|
+
import { L as I } from "./LimitsBar-CcOaAw0C.js";
|
|
3
3
|
import { a as T, l as A } from "./LimitsColor-CBcpB-la.js";
|
|
4
|
-
import { resolveComponent as g,
|
|
5
|
-
import { _ as F } from "./CustomIcon-
|
|
4
|
+
import { resolveComponent as g, openBlock as i, createBlock as d, withCtx as e, createVNode as t, createElementVNode as w, createTextVNode as a, toDisplayString as n, createCommentVNode as c, normalizeClass as N, createElementBlock as y, Fragment as V, renderList as k } from "vue";
|
|
5
|
+
import { _ as F } from "./CustomIcon-DTR361si.js";
|
|
6
6
|
const j = {
|
|
7
7
|
components: {
|
|
8
8
|
LimitsBar: I
|
|
@@ -815,4 +815,4 @@ const X = /* @__PURE__ */ F(j, [["render", q], ["__scopeId", "data-v-36b55cdd"]]
|
|
|
815
815
|
export {
|
|
816
816
|
X as D
|
|
817
817
|
};
|
|
818
|
-
//# sourceMappingURL=DetailsDialog-
|
|
818
|
+
//# sourceMappingURL=DetailsDialog-sqja4Lzq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailsDialog-DznGAE6i.js","sources":["../src/components/DetailsDialog.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\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.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"700\">\n <v-card>\n <v-toolbar :height=\"24\">\n <v-spacer />\n <span> Details </span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-title>\n {{ targetName }} {{ packetName }} {{ itemName }}\n </v-card-title>\n <v-card-subtitle>{{ details.description }}</v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row v-if=\"type === 'tlm'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Item Values</v-col>\n <v-col />\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Raw Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ rawValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Converted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ convertedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Formatted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ formattedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Offset</v-col>\n <v-col>{{ details.bit_offset }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Size</v-col>\n <v-col>{{ details.bit_size }}</v-col>\n </v-row>\n <v-row v-if=\"details.array_size\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Array Size</v-col>\n <v-col>{{ details.array_size }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Data Type</v-col>\n <v-col>{{ details.data_type }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Minimum</v-col>\n <v-col>{{ details.minimum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Maximum</v-col>\n <v-col>{{ details.maximum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Default</v-col>\n <v-col>{{ details.default }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Format String</v-col>\n <v-col>{{ details.format_string }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Read Conversion</v-col>\n <v-col v-if=\"details.read_conversion\">\n Class: {{ details.read_conversion.class }}\n <br />\n Params:\n {{ details.read_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Write Conversion</v-col>\n <v-col v-if=\"details.write_conversion\">\n Class: {{ details.write_conversion.class }}\n <br />\n Params:\n {{ details.write_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Id Value</v-col>\n <v-col>{{ details.id_value }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Full</v-col>\n <v-col>{{ details.units_full }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Abbr</v-col>\n <v-col>{{ details.units }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Endianness</v-col>\n <v-col>{{ details.endianness }}</v-col>\n </v-row>\n <div v-if=\"details.states\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col />\n </v-row>\n <v-row v-for=\"(state, key) in details.states\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ state.value }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.limits\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(limit, key) in details.limits\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col v-if=\"key === 'enabled'\" cols=\"4\" class=\"label\"\n >Enabled</v-col\n >\n <v-switch\n v-if=\"key === 'enabled'\"\n v-model=\"details.limits.enabled\"\n density=\"compact\"\n color=\"primary\"\n class=\"compact-switch\"\n hide-details\n @update:model-value=\"changeLimitsEnabled\"\n ></v-switch>\n <v-col v-if=\"key !== 'enabled'\" cols=\"4\" class=\"label\">{{\n key\n }}</v-col>\n <v-col v-if=\"key !== 'enabled'\">\n <div class=\"limits-text\">{{ formatLimit(limit) }}</div>\n <LimitsBar\n v-if=\"limit.red_low !== undefined\"\n :red-low=\"limit.red_low\"\n :yellow-low=\"limit.yellow_low\"\n :yellow-high=\"limit.yellow_high\"\n :red-high=\"limit.red_high\"\n :green-low=\"limit.green_low\"\n :green-high=\"limit.green_high\"\n :value=\"convertedValue\"\n :width=\"300\"\n :height=\"22\"\n />\n </v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.meta\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(value, key) in details.meta\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ value.join(', ') }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col>None</v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\nimport LimitsBar from './LimitsBar.vue'\nimport { limitsColor, astroStatus } from '../widgets/LimitsColor'\n\nexport default {\n components: {\n LimitsBar,\n },\n props: {\n type: {\n default: 'tlm',\n validator: function (value) {\n // The value must match one of these strings\n return ['cmd', 'tlm'].indexOf(value) !== -1\n },\n },\n targetName: {\n type: String,\n default: null,\n },\n packetName: {\n type: String,\n default: null,\n },\n itemName: {\n type: String,\n default: null,\n },\n modelValue: Boolean,\n },\n emits: ['update:modelValue'],\n data() {\n return {\n details: Object,\n available: null,\n updater: null,\n rawValue: null,\n convertedValue: null,\n formattedValue: null,\n currentLimitsState: null,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n limitsColor() {\n return limitsColor(this.currentLimitsState)\n },\n astroStatus() {\n return astroStatus(this.limitsColor)\n },\n limitsColorClass() {\n if (this.limitsColor) {\n return 'openc3-' + this.limitsColor\n }\n return ''\n },\n },\n watch: {\n // Create a watcher on value which is the indicator to display the dialog\n // If value is true we request the details from the server\n // If this is a tlm dialog we setup an interval to get the telemetry values\n modelValue: function (newValue, oldValue) {\n if (newValue) {\n this.requestDetails()\n if (this.type === 'tlm') {\n this.updater = setInterval(() => {\n if (this.available && this.details) {\n this.api.get_tlm_values(this.available).then((values) => {\n for (let value of values) {\n let rawString = null\n // Check for raw encoded strings (non-ascii)\n if (\n value[0]['json_class'] === 'String' &&\n value[0]['raw'] !== undefined\n ) {\n rawString = value[0]['raw']\n } else if (this.details.data_type === 'BLOCK') {\n rawString = value[0]\n }\n if (rawString !== null) {\n // Slice the number of bytes in case they added UNITS\n // Otherwise we would render the units,\n // e.g. UNITS of 'B' becomes 20 42 (space, B)\n rawString = rawString.slice(\n 0,\n Number.parseInt(this.details.bit_size) / 8,\n )\n // Only display the first 64 bytes at which point ...\n let ellipse = false\n if (rawString.length > 64) {\n ellipse = true\n }\n value[0] = Array.from(\n rawString.slice(0, 64),\n function (byte) {\n // Can't really display spaces so change to 20 (hex)\n if (byte === ' ') {\n return '20'\n } else {\n return ('0' + (byte & 0xff).toString(16)).slice(-2)\n }\n },\n )\n .join(' ')\n .toUpperCase()\n if (ellipse) {\n value[0] += '...'\n }\n }\n }\n if (\n this.details.data_type.includes('INT') &&\n !this.details.array_size\n ) {\n // For INT and UINT display both dec and hex\n this.rawValue = `${values[0][0]} (0x${values[0][0]\n .toString(16)\n .toUpperCase()})`\n } else {\n this.rawValue = values[0][0]\n }\n this.convertedValue = values[1][0]\n this.formattedValue = values[2][0]\n this.currentLimitsState = values[1][1]\n })\n }\n }, 1000)\n }\n } else {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n },\n created() {\n this.api = new OpenC3Api()\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n // This check is necessary because COSMOS 5.20 was setting limits.enabled to false\n // even if the item did not have limits. While the backend changed we still need to\n // support the old results. Thus we check if the item has limits by checking if the\n // limits.DEFAULT key exists or if any of the states have a color.\n hasLimits(details) {\n let result = false\n if (details.limits.DEFAULT) {\n result = true\n }\n if (details.states) {\n Object.getOwnPropertyNames(details.states).forEach((state) => {\n if (details.states[state].color) {\n result = true\n }\n })\n }\n return result\n },\n async requestDetails() {\n if (this.type === 'tlm') {\n this.api\n .get_tlm_available([\n `${this.targetName}__${this.packetName}__${this.itemName}__RAW`,\n `${this.targetName}__${this.packetName}__${this.itemName}__CONVERTED`,\n `${this.targetName}__${this.packetName}__${this.itemName}__FORMATTED`,\n ])\n .then((available) => {\n if (available && available.length > 0) {\n this.available = available\n }\n this.api\n .get_item(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n // If the item does not have limits explicitly null it\n // to make the check in the template easier\n if (!this.hasLimits(details)) {\n this.details.limits = null\n }\n })\n })\n } else {\n this.api\n .get_parameter(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n })\n }\n },\n async changeLimitsEnabled() {\n if (this.details.limits.enabled) {\n await this.api.enable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n } else {\n await this.api.disable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n }\n },\n formatLimit(limit) {\n if (limit.hasOwnProperty('green_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high +\n ' GL/' +\n limit.green_low +\n ' GH/' +\n limit.green_high\n )\n } else if (limit.hasOwnProperty('red_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high\n )\n } else {\n return limit\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.label {\n font-weight: bold;\n text-transform: capitalize;\n}\n\n:deep(.v-input--selection-controls) {\n padding: 0px;\n margin: 0px;\n}\n\n:deep(.v-switch .v-selection-control) {\n min-height: 28px;\n}\n\n.limits-text {\n margin-bottom: 4px;\n}\n</style>\n"],"names":["_sfc_main","LimitsBar","value","limitsColor","astroStatus","newValue","oldValue","values","rawString","ellipse","byte","OpenC3Api","details","result","state","available","limit","_hoisted_3","_createBlock","_component_v_dialog","$options","$event","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_cache","_createElementVNode","_component_v_card_title","_createTextVNode","_toDisplayString","$props","_component_v_card_subtitle","$data","_component_v_card_text","_component_v_container","_component_v_row","_component_v_col","_normalizeClass","_component_rux_status","_createElementBlock","_hoisted_1","_openBlock","_Fragment","key","_hoisted_2","_component_v_switch","_component_LimitsBar","_hoisted_4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DetailsDialog-sqja4Lzq.js","sources":["../src/components/DetailsDialog.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\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.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2026, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"700\">\n <v-card>\n <v-toolbar :height=\"24\">\n <v-spacer />\n <span> Details </span>\n <v-spacer />\n </v-toolbar>\n\n <v-card-title>\n {{ targetName }} {{ packetName }} {{ itemName }}\n </v-card-title>\n <v-card-subtitle>{{ details.description }}</v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row v-if=\"type === 'tlm'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Item Values</v-col>\n <v-col />\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Raw Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ rawValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Converted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ convertedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\">\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">Formatted Value</v-col>\n <v-col :class=\"limitsColorClass\" class=\"d-flex align-center\">\n <rux-status\n v-if=\"astroStatus\"\n class=\"mr-1\"\n :status=\"astroStatus\"\n />\n {{ formattedValue }}\n </v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Offset</v-col>\n <v-col>{{ details.bit_offset }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Bit Size</v-col>\n <v-col>{{ details.bit_size }}</v-col>\n </v-row>\n <v-row v-if=\"details.array_size\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Array Size</v-col>\n <v-col>{{ details.array_size }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Data Type</v-col>\n <v-col>{{ details.data_type }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Minimum</v-col>\n <v-col>{{ details.minimum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Maximum</v-col>\n <v-col>{{ details.maximum }}</v-col>\n </v-row>\n <v-row v-if=\"type === 'cmd'\" no-gutters>\n <v-col cols=\"5\" class=\"label\">Default</v-col>\n <v-col>{{ details.default }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Format String</v-col>\n <v-col>{{ details.format_string }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Read Conversion</v-col>\n <v-col v-if=\"details.read_conversion\">\n Class: {{ details.read_conversion.class }}\n <br />\n Params:\n {{ details.read_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Write Conversion</v-col>\n <v-col v-if=\"details.write_conversion\">\n Class: {{ details.write_conversion.class }}\n <br />\n Params:\n {{ details.write_conversion.params }}\n </v-col>\n <v-col v-else></v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Id Value</v-col>\n <v-col>{{ details.id_value }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Full</v-col>\n <v-col>{{ details.units_full }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Units Abbr</v-col>\n <v-col>{{ details.units }}</v-col>\n </v-row>\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Endianness</v-col>\n <v-col>{{ details.endianness }}</v-col>\n </v-row>\n <div v-if=\"details.states\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col />\n </v-row>\n <v-row v-for=\"(state, key) in details.states\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ state.value }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">States</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.limits\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(limit, key) in details.limits\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col v-if=\"key === 'enabled'\" cols=\"4\" class=\"label\"\n >Enabled</v-col\n >\n <v-switch\n v-if=\"key === 'enabled'\"\n v-model=\"details.limits.enabled\"\n density=\"compact\"\n color=\"primary\"\n class=\"compact-switch\"\n hide-details\n @update:model-value=\"changeLimitsEnabled\"\n ></v-switch>\n <v-col v-if=\"key !== 'enabled'\" cols=\"4\" class=\"label\">{{\n key\n }}</v-col>\n <v-col v-if=\"key !== 'enabled'\">\n <div class=\"limits-text\">{{ formatLimit(limit) }}</div>\n <LimitsBar\n v-if=\"limit.red_low !== undefined\"\n :red-low=\"limit.red_low\"\n :yellow-low=\"limit.yellow_low\"\n :yellow-high=\"limit.yellow_high\"\n :red-high=\"limit.red_high\"\n :green-low=\"limit.green_low\"\n :green-high=\"limit.green_high\"\n :value=\"convertedValue\"\n :width=\"300\"\n :height=\"22\"\n />\n </v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Limits</v-col>\n <v-col>None</v-col>\n </v-row>\n <div v-if=\"details.meta\">\n <v-row no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col></v-col>\n </v-row>\n <v-row v-for=\"(value, key) in details.meta\" :key=\"key\" no-gutters>\n <v-col cols=\"1\"></v-col>\n <v-col cols=\"4\" class=\"label\">{{ key }}</v-col>\n <v-col>{{ value.join(', ') }}</v-col>\n </v-row>\n </div>\n <v-row v-else no-gutters>\n <v-col cols=\"5\" class=\"label\">Meta</v-col>\n <v-col>None</v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/js-common/services'\nimport LimitsBar from './LimitsBar.vue'\nimport { limitsColor, astroStatus } from '../widgets/LimitsColor'\n\nexport default {\n components: {\n LimitsBar,\n },\n props: {\n type: {\n default: 'tlm',\n validator: function (value) {\n // The value must match one of these strings\n return ['cmd', 'tlm'].indexOf(value) !== -1\n },\n },\n targetName: {\n type: String,\n default: null,\n },\n packetName: {\n type: String,\n default: null,\n },\n itemName: {\n type: String,\n default: null,\n },\n modelValue: Boolean,\n },\n emits: ['update:modelValue'],\n data() {\n return {\n details: Object,\n available: null,\n updater: null,\n rawValue: null,\n convertedValue: null,\n formattedValue: null,\n currentLimitsState: null,\n }\n },\n computed: {\n show: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n limitsColor() {\n return limitsColor(this.currentLimitsState)\n },\n astroStatus() {\n return astroStatus(this.limitsColor)\n },\n limitsColorClass() {\n if (this.limitsColor) {\n return 'openc3-' + this.limitsColor\n }\n return ''\n },\n },\n watch: {\n // Create a watcher on value which is the indicator to display the dialog\n // If value is true we request the details from the server\n // If this is a tlm dialog we setup an interval to get the telemetry values\n modelValue: function (newValue, oldValue) {\n if (newValue) {\n this.requestDetails()\n if (this.type === 'tlm') {\n this.updater = setInterval(() => {\n if (this.available && this.details) {\n this.api.get_tlm_values(this.available).then((values) => {\n for (let value of values) {\n let rawString = null\n // Check for raw encoded strings (non-ascii)\n if (\n value[0]['json_class'] === 'String' &&\n value[0]['raw'] !== undefined\n ) {\n rawString = value[0]['raw']\n } else if (this.details.data_type === 'BLOCK') {\n rawString = value[0]\n }\n if (rawString !== null) {\n // Slice the number of bytes in case they added UNITS\n // Otherwise we would render the units,\n // e.g. UNITS of 'B' becomes 20 42 (space, B)\n rawString = rawString.slice(\n 0,\n Number.parseInt(this.details.bit_size) / 8,\n )\n // Only display the first 64 bytes at which point ...\n let ellipse = false\n if (rawString.length > 64) {\n ellipse = true\n }\n value[0] = Array.from(\n rawString.slice(0, 64),\n function (byte) {\n // Can't really display spaces so change to 20 (hex)\n if (byte === ' ') {\n return '20'\n } else {\n return ('0' + (byte & 0xff).toString(16)).slice(-2)\n }\n },\n )\n .join(' ')\n .toUpperCase()\n if (ellipse) {\n value[0] += '...'\n }\n }\n }\n if (\n this.details.data_type.includes('INT') &&\n !this.details.array_size\n ) {\n // For INT and UINT display both dec and hex\n this.rawValue = `${values[0][0]} (0x${values[0][0]\n .toString(16)\n .toUpperCase()})`\n } else {\n this.rawValue = values[0][0]\n }\n this.convertedValue = values[1][0]\n this.formattedValue = values[2][0]\n this.currentLimitsState = values[1][1]\n })\n }\n }, 1000)\n }\n } else {\n clearInterval(this.updater)\n this.updater = null\n }\n },\n },\n created() {\n this.api = new OpenC3Api()\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n // This check is necessary because COSMOS 5.20 was setting limits.enabled to false\n // even if the item did not have limits. While the backend changed we still need to\n // support the old results. Thus we check if the item has limits by checking if the\n // limits.DEFAULT key exists or if any of the states have a color.\n hasLimits(details) {\n let result = false\n if (details.limits.DEFAULT) {\n result = true\n }\n if (details.states) {\n Object.getOwnPropertyNames(details.states).forEach((state) => {\n if (details.states[state].color) {\n result = true\n }\n })\n }\n return result\n },\n async requestDetails() {\n if (this.type === 'tlm') {\n this.api\n .get_tlm_available([\n `${this.targetName}__${this.packetName}__${this.itemName}__RAW`,\n `${this.targetName}__${this.packetName}__${this.itemName}__CONVERTED`,\n `${this.targetName}__${this.packetName}__${this.itemName}__FORMATTED`,\n ])\n .then((available) => {\n if (available && available.length > 0) {\n this.available = available\n }\n this.api\n .get_item(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n // If the item does not have limits explicitly null it\n // to make the check in the template easier\n if (!this.hasLimits(details)) {\n this.details.limits = null\n }\n })\n })\n } else {\n this.api\n .get_parameter(this.targetName, this.packetName, this.itemName)\n .then((details) => {\n this.details = details\n })\n }\n },\n async changeLimitsEnabled() {\n if (this.details.limits.enabled) {\n await this.api.enable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n } else {\n await this.api.disable_limits(\n this.targetName,\n this.packetName,\n this.itemName,\n )\n }\n },\n formatLimit(limit) {\n if (limit.hasOwnProperty('green_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high +\n ' GL/' +\n limit.green_low +\n ' GH/' +\n limit.green_high\n )\n } else if (limit.hasOwnProperty('red_low')) {\n return (\n 'RL/' +\n limit.red_low +\n ' YL/' +\n limit.yellow_low +\n ' YH/' +\n limit.yellow_high +\n ' RH/' +\n limit.red_high\n )\n } else {\n return limit\n }\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.label {\n font-weight: bold;\n text-transform: capitalize;\n}\n\n:deep(.v-input--selection-controls) {\n padding: 0px;\n margin: 0px;\n}\n\n:deep(.v-switch .v-selection-control) {\n min-height: 28px;\n}\n\n.limits-text {\n margin-bottom: 4px;\n}\n</style>\n"],"names":["_sfc_main","LimitsBar","value","limitsColor","astroStatus","newValue","oldValue","values","rawString","ellipse","byte","OpenC3Api","details","result","state","available","limit","_hoisted_3","_createBlock","_component_v_dialog","$options","$event","_createVNode","_component_v_card","_component_v_toolbar","_component_v_spacer","_cache","_createElementVNode","_component_v_card_title","_createTextVNode","_toDisplayString","$props","_component_v_card_subtitle","$data","_component_v_card_text","_component_v_container","_component_v_row","_component_v_col","_normalizeClass","_component_rux_status","_createElementBlock","_hoisted_1","_openBlock","_Fragment","key","_hoisted_2","_component_v_switch","_component_LimitsBar","_hoisted_4"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { _ as a } from "./CustomIcon-
|
|
1
|
+
import { openBlock as n, createBlock as o, resolveDynamicComponent as r, normalizeProps as i, guardReactiveProps as s } from "vue";
|
|
2
|
+
import { _ as a } from "./CustomIcon-DTR361si.js";
|
|
3
3
|
const p = {
|
|
4
4
|
props: {
|
|
5
5
|
name: { type: String, default: null }
|
|
@@ -26,10 +26,10 @@ const p = {
|
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
function c(t, m, u, d, e, l) {
|
|
29
|
-
return
|
|
29
|
+
return n(), o(r(e.widgetType), i(s({ ...t.$props, ...t.$attrs })), null, 16);
|
|
30
30
|
}
|
|
31
31
|
const f = /* @__PURE__ */ a(p, [["render", c]]);
|
|
32
32
|
export {
|
|
33
33
|
f as default
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=DynamicWidget-
|
|
35
|
+
//# sourceMappingURL=DynamicWidget-BuSbQVhf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicWidget-
|
|
1
|
+
{"version":3,"file":"DynamicWidget-BuSbQVhf.js","sources":["../src/widgets/DynamicWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\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.\n# See LICENSE.md for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, 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 <component :is=\"widgetType\" v-bind=\"{ ...$props, ...$attrs }\"></component>\n</template>\n\n<script>\nexport default {\n props: {\n name: { type: String, default: null },\n },\n data() {\n return {\n widgetType: null,\n }\n },\n computed: {\n url: function () {\n return `${window.location.origin}/tools/widgets/${this.name}/${this.name}.umd.min.js`\n },\n },\n async mounted() {\n try {\n this.widgetType = await System.import(/* webpackIgnore: true */ this.url)\n } catch (e) {\n throw new Error(`Unknown widget: ${this.name}: ${e}`)\n }\n },\n}\n</script>\n"],"names":["_sfc_main","e","_openBlock","_createBlock","_resolveDynamicComponent","$data","_normalizeProps","_guardReactiveProps","_ctx"],"mappings":";;AAsBA,MAAKA,IAAU;AAAA,EACb,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,QAAQ,SAAS;;EAEjC,OAAO;AACL,WAAO;AAAA,MACL,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,KAAK,WAAY;AACf,aAAO,GAAG,OAAO,SAAS,MAAM,kBAAkB,KAAK,IAAI,IAAI,KAAK,IAAI;AAAA,IAC1E;AAAA;EAEF,MAAM,UAAU;AACd,QAAI;AACF,WAAK,aAAa,MAAM,OAAO;AAAA;AAAA,QAAiC,KAAK;AAAA,MAAG;AAAA,IAC1E,SAASC,GAAG;AACV,YAAM,IAAI,MAAM,mBAAmB,KAAK,IAAI,KAAKA,CAAC,EAAE;AAAA,IACtD;AAAA,EACF;AACF;;AAzBE,SAAAC,EAAA,GAAAC,EAA0EC,EAA1DC,EAAA,UAAU,GAAAC,EAAAC,EAAA,EAAA,GAAeC,EAAA,WAAWA,EAAA,OAAM,CAAA,CAAA,GAAA,MAAA,EAAA;;;"}
|