@openc3/vue-common 6.2.0 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ArrayWidget-BbsN1dzF.js +106 -0
- package/dist/ArrayWidget-BbsN1dzF.js.map +1 -0
- package/dist/ArrayWidget-DkjHrXsu.cjs +3 -0
- package/dist/ArrayWidget-DkjHrXsu.cjs.map +1 -0
- package/dist/ArrayplotWidget-CCKEyYIx.js +199 -0
- package/dist/ArrayplotWidget-CCKEyYIx.js.map +1 -0
- package/dist/ArrayplotWidget-COeaK_Lz.cjs +2 -0
- package/dist/ArrayplotWidget-COeaK_Lz.cjs.map +1 -0
- package/dist/AstroStatus-CILMWL6F.cjs +2 -0
- package/dist/AstroStatus-CILMWL6F.cjs.map +1 -0
- package/dist/AstroStatus-CY9VkeTN.js +40 -0
- package/dist/AstroStatus-CY9VkeTN.js.map +1 -0
- package/dist/BarColumn-C6p07yWK.js +108 -0
- package/dist/BarColumn-C6p07yWK.js.map +1 -0
- package/dist/BarColumn-CJLW1nXy.cjs +2 -0
- package/dist/BarColumn-CJLW1nXy.cjs.map +1 -0
- package/dist/BlockWidget-BFVYgbd_.cjs +3 -0
- package/dist/BlockWidget-BFVYgbd_.cjs.map +1 -0
- package/dist/BlockWidget-DlCHbqZX.js +112 -0
- package/dist/BlockWidget-DlCHbqZX.js.map +1 -0
- package/dist/ButtonWidget-CtfJzCBR.js +166 -0
- package/dist/ButtonWidget-CtfJzCBR.js.map +1 -0
- package/dist/ButtonWidget-HN8UHsme.cjs +3 -0
- package/dist/ButtonWidget-HN8UHsme.cjs.map +1 -0
- package/dist/CanvasWidget-CHmkxxMO.cjs +2 -0
- package/dist/CanvasWidget-CHmkxxMO.cjs.map +1 -0
- package/dist/CanvasWidget-CqRlXc4r.js +39 -0
- package/dist/CanvasWidget-CqRlXc4r.js.map +1 -0
- package/dist/CanvasdotWidget--Xr_KsZs.js +19 -0
- package/dist/CanvasdotWidget--Xr_KsZs.js.map +1 -0
- package/dist/CanvasdotWidget-B4bUcKRc.cjs +2 -0
- package/dist/CanvasdotWidget-B4bUcKRc.cjs.map +1 -0
- package/dist/CanvasimageWidget-B5YozXoI.cjs +2 -0
- package/dist/CanvasimageWidget-B5YozXoI.cjs.map +1 -0
- package/dist/CanvasimageWidget-BPlj5QYK.js +58 -0
- package/dist/CanvasimageWidget-BPlj5QYK.js.map +1 -0
- package/dist/CanvasimagevalueWidget-DVFGLt8f.js +107 -0
- package/dist/CanvasimagevalueWidget-DVFGLt8f.js.map +1 -0
- package/dist/CanvasimagevalueWidget-Dx1HnbEw.cjs +2 -0
- package/dist/CanvasimagevalueWidget-Dx1HnbEw.cjs.map +1 -0
- package/dist/CanvaslabelWidget-CYNqmyP0.js +23 -0
- package/dist/CanvaslabelWidget-CYNqmyP0.js.map +1 -0
- package/dist/CanvaslabelWidget-DgadQD-D.cjs +2 -0
- package/dist/CanvaslabelWidget-DgadQD-D.cjs.map +1 -0
- package/dist/CanvaslabelvalueWidget-B7yIDmsn.js +42 -0
- package/dist/CanvaslabelvalueWidget-B7yIDmsn.js.map +1 -0
- package/dist/CanvaslabelvalueWidget-C3k5gx5c.cjs +2 -0
- package/dist/CanvaslabelvalueWidget-C3k5gx5c.cjs.map +1 -0
- package/dist/CanvaslineWidget-BICdxX0Q.js +28 -0
- package/dist/CanvaslineWidget-BICdxX0Q.js.map +1 -0
- package/dist/CanvaslineWidget-CYHkes0a.cjs +2 -0
- package/dist/CanvaslineWidget-CYHkes0a.cjs.map +1 -0
- package/dist/CanvaslinevalueWidget-5DzhZ22p.cjs +2 -0
- package/dist/CanvaslinevalueWidget-5DzhZ22p.cjs.map +1 -0
- package/dist/CanvaslinevalueWidget-Cq-Ddh0P.js +44 -0
- package/dist/CanvaslinevalueWidget-Cq-Ddh0P.js.map +1 -0
- package/dist/CheckbuttonWidget-B74AWeaW.js +37 -0
- package/dist/CheckbuttonWidget-B74AWeaW.js.map +1 -0
- package/dist/CheckbuttonWidget-BCzsXnIF.cjs +2 -0
- package/dist/CheckbuttonWidget-BCzsXnIF.cjs.map +1 -0
- package/dist/ComboboxWidget-CtyKbEWb.js +37 -0
- package/dist/ComboboxWidget-CtyKbEWb.js.map +1 -0
- package/dist/ComboboxWidget-DQgDyDAC.cjs +2 -0
- package/dist/ComboboxWidget-DQgDyDAC.cjs.map +1 -0
- package/dist/CriticalCmdDialog-BnxZlt7W.cjs +2 -0
- package/dist/CriticalCmdDialog-BnxZlt7W.cjs.map +1 -0
- package/dist/CriticalCmdDialog-DPIZOBeP.js +270 -0
- package/dist/CriticalCmdDialog-DPIZOBeP.js.map +1 -0
- package/dist/CustomIcon-Bop2mEnu.cjs +2 -0
- package/dist/CustomIcon-Bop2mEnu.cjs.map +1 -0
- package/dist/CustomIcon-h5X7369N.js +50 -0
- package/dist/CustomIcon-h5X7369N.js.map +1 -0
- package/dist/DateWidget-BB4cIuUS.cjs +2 -0
- package/dist/DateWidget-BB4cIuUS.cjs.map +1 -0
- package/dist/DateWidget-BEVSczU8.js +40 -0
- package/dist/DateWidget-BEVSczU8.js.map +1 -0
- package/dist/DetailsDialog-DmEC5BTs.js +767 -0
- package/dist/DetailsDialog-DmEC5BTs.js.map +1 -0
- package/dist/DetailsDialog-mvxMFmgV.cjs +2 -0
- package/dist/DetailsDialog-mvxMFmgV.cjs.map +1 -0
- package/dist/DynamicWidget-BWEVCUfd.cjs +2 -0
- package/dist/DynamicWidget-BWEVCUfd.cjs.map +1 -0
- package/dist/DynamicWidget-CfMtj7H8.js +35 -0
- package/dist/DynamicWidget-CfMtj7H8.js.map +1 -0
- package/dist/EventListDialog-BHZLl28V.cjs +2 -0
- package/dist/EventListDialog-BHZLl28V.cjs.map +1 -0
- package/dist/EventListDialog-CSMSmCIT.js +1586 -0
- package/dist/EventListDialog-CSMSmCIT.js.map +1 -0
- package/dist/FormatvalueWidget-CdjCEAI7.cjs +2 -0
- package/dist/FormatvalueWidget-CdjCEAI7.cjs.map +1 -0
- package/dist/FormatvalueWidget-DN12xymS.js +44 -0
- package/dist/FormatvalueWidget-DN12xymS.js.map +1 -0
- package/dist/Graph-Bgo0cjl3.js +1988 -0
- package/dist/Graph-Bgo0cjl3.js.map +1 -0
- package/dist/Graph-Ujd2yaeI.cjs +2 -0
- package/dist/Graph-Ujd2yaeI.cjs.map +1 -0
- package/dist/GraphWidget-DurWDmpg.js +130 -0
- package/dist/GraphWidget-DurWDmpg.js.map +1 -0
- package/dist/GraphWidget-sid4Ws9H.cjs +2 -0
- package/dist/GraphWidget-sid4Ws9H.cjs.map +1 -0
- package/dist/HorizontalWidget-Cd_wl1b3.js +41 -0
- package/dist/HorizontalWidget-Cd_wl1b3.js.map +1 -0
- package/dist/HorizontalWidget-_6IR0cR8.cjs +2 -0
- package/dist/HorizontalWidget-_6IR0cR8.cjs.map +1 -0
- package/dist/HorizontalboxWidget-BcMTFBU-.js +47 -0
- package/dist/HorizontalboxWidget-BcMTFBU-.js.map +1 -0
- package/dist/HorizontalboxWidget-zmnurtv1.cjs +2 -0
- package/dist/HorizontalboxWidget-zmnurtv1.cjs.map +1 -0
- package/dist/HorizontallineWidget-CM-6WqCj.cjs +2 -0
- package/dist/HorizontallineWidget-CM-6WqCj.cjs.map +1 -0
- package/dist/HorizontallineWidget-CXFqHclf.js +16 -0
- package/dist/HorizontallineWidget-CXFqHclf.js.map +1 -0
- package/dist/IframeWidget-BPerHCCa.js +90 -0
- package/dist/IframeWidget-BPerHCCa.js.map +1 -0
- package/dist/IframeWidget-EhncMob0.cjs +2 -0
- package/dist/IframeWidget-EhncMob0.cjs.map +1 -0
- package/dist/ImageLoader-4N-7Gj61.js +36 -0
- package/dist/ImageLoader-4N-7Gj61.js.map +1 -0
- package/dist/ImageLoader-cRmBcpU9.cjs +2 -0
- package/dist/ImageLoader-cRmBcpU9.cjs.map +1 -0
- package/dist/ImageviewerWidget-Bv3CreXd.cjs +2 -0
- package/dist/ImageviewerWidget-Bv3CreXd.cjs.map +1 -0
- package/dist/ImageviewerWidget-Cw_H_HmZ.js +37 -0
- package/dist/ImageviewerWidget-Cw_H_HmZ.js.map +1 -0
- package/dist/InterfacesTab-B4glsR9Z.js +93 -0
- package/dist/InterfacesTab-B4glsR9Z.js.map +1 -0
- package/dist/InterfacesTab-Co1Kd6Fa.cjs +2 -0
- package/dist/InterfacesTab-Co1Kd6Fa.cjs.map +1 -0
- package/dist/LabelWidget-mMcf5S8K.cjs +2 -0
- package/dist/LabelWidget-mMcf5S8K.cjs.map +1 -0
- package/dist/LabelWidget-xrmcVeq8.js +48 -0
- package/dist/LabelWidget-xrmcVeq8.js.map +1 -0
- package/dist/LabelledWidget-BoYCuDaH.cjs +2 -0
- package/dist/LabelledWidget-BoYCuDaH.cjs.map +1 -0
- package/dist/LabelledWidget-D48QoyMk.js +42 -0
- package/dist/LabelledWidget-D48QoyMk.js.map +1 -0
- package/dist/LabelprogressbarWidget-C_950t6g.js +43 -0
- package/dist/LabelprogressbarWidget-C_950t6g.js.map +1 -0
- package/dist/LabelprogressbarWidget-DiucKsT2.cjs +2 -0
- package/dist/LabelprogressbarWidget-DiucKsT2.cjs.map +1 -0
- package/dist/LabelsparklineWidget-0KXQyPoU.js +44 -0
- package/dist/LabelsparklineWidget-0KXQyPoU.js.map +1 -0
- package/dist/LabelsparklineWidget-A3MTEhQc.cjs +2 -0
- package/dist/LabelsparklineWidget-A3MTEhQc.cjs.map +1 -0
- package/dist/LabelvalueWidget-CQ06wWDK.js +58 -0
- package/dist/LabelvalueWidget-CQ06wWDK.js.map +1 -0
- package/dist/LabelvalueWidget-DnKoz0-N.cjs +2 -0
- package/dist/LabelvalueWidget-DnKoz0-N.cjs.map +1 -0
- package/dist/LabelvaluedescWidget-Bo8zT01X.js +59 -0
- package/dist/LabelvaluedescWidget-Bo8zT01X.js.map +1 -0
- package/dist/LabelvaluedescWidget-I6ljK--Y.cjs +2 -0
- package/dist/LabelvaluedescWidget-I6ljK--Y.cjs.map +1 -0
- package/dist/LabelvaluelimitsbarWidget-BucTw8Yk.js +57 -0
- package/dist/LabelvaluelimitsbarWidget-BucTw8Yk.js.map +1 -0
- package/dist/LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs +2 -0
- package/dist/LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs.map +1 -0
- package/dist/LabelvaluelimitscolumnWidget-ClY5OxUC.cjs +2 -0
- package/dist/LabelvaluelimitscolumnWidget-ClY5OxUC.cjs.map +1 -0
- package/dist/LabelvaluelimitscolumnWidget-Dflb1hNd.js +47 -0
- package/dist/LabelvaluelimitscolumnWidget-Dflb1hNd.js.map +1 -0
- package/dist/LabelvaluerangebarWidget-9S5rVZaS.cjs +2 -0
- package/dist/LabelvaluerangebarWidget-9S5rVZaS.cjs.map +1 -0
- package/dist/LabelvaluerangebarWidget-D8cbfXFM.js +79 -0
- package/dist/LabelvaluerangebarWidget-D8cbfXFM.js.map +1 -0
- package/dist/Layout-DuCYyOw4.cjs +2 -0
- package/dist/Layout-DuCYyOw4.cjs.map +1 -0
- package/dist/Layout-Tf--nruw.js +14 -0
- package/dist/Layout-Tf--nruw.js.map +1 -0
- package/dist/LedWidget-B2BcwiYF.cjs +2 -0
- package/dist/LedWidget-B2BcwiYF.cjs.map +1 -0
- package/dist/LedWidget-qH_FthkK.js +145 -0
- package/dist/LedWidget-qH_FthkK.js.map +1 -0
- package/dist/LimitsbarWidget-B9lAB2RD.js +69 -0
- package/dist/LimitsbarWidget-B9lAB2RD.js.map +1 -0
- package/dist/LimitsbarWidget-CVCLFIhG.cjs +2 -0
- package/dist/LimitsbarWidget-CVCLFIhG.cjs.map +1 -0
- package/dist/LimitscolorWidget-DORhDxRo.cjs +2 -0
- package/dist/LimitscolorWidget-DORhDxRo.cjs.map +1 -0
- package/dist/LimitscolorWidget-c6Qa6su7.js +63 -0
- package/dist/LimitscolorWidget-c6Qa6su7.js.map +1 -0
- package/dist/LimitscolumnWidget-C9Uyg7Fh.cjs +2 -0
- package/dist/LimitscolumnWidget-C9Uyg7Fh.cjs.map +1 -0
- package/dist/LimitscolumnWidget-CcLs_443.js +66 -0
- package/dist/LimitscolumnWidget-CcLs_443.js.map +1 -0
- package/dist/LinegraphWidget-BSVYLFo1.js +39 -0
- package/dist/LinegraphWidget-BSVYLFo1.js.map +1 -0
- package/dist/LinegraphWidget-Bf8DIwEn.cjs +2 -0
- package/dist/LinegraphWidget-Bf8DIwEn.cjs.map +1 -0
- package/dist/MatrixbycolumnsWidget-DXFpZTre.js +56 -0
- package/dist/MatrixbycolumnsWidget-DXFpZTre.js.map +1 -0
- package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs +2 -0
- package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs.map +1 -0
- package/dist/MicroservicesTab-B5n-mN8G.cjs +2 -0
- package/dist/MicroservicesTab-B5n-mN8G.cjs.map +1 -0
- package/dist/MicroservicesTab-mCdS0v39.js +264 -0
- package/dist/MicroservicesTab-mCdS0v39.js.map +1 -0
- package/dist/Openc3Screen-BYhHaH_I.cjs +5 -0
- package/dist/Openc3Screen-BYhHaH_I.cjs.map +1 -0
- package/dist/Openc3Screen-Cud0OCFu.js +1789 -0
- package/dist/Openc3Screen-Cud0OCFu.js.map +1 -0
- package/dist/OutputDialog-DXoL9VPw.cjs +2 -0
- package/dist/OutputDialog-DXoL9VPw.cjs.map +1 -0
- package/dist/OutputDialog-zVPZiZay.js +242 -0
- package/dist/OutputDialog-zVPZiZay.js.map +1 -0
- package/dist/PackagesTab-CvT2JyMA.cjs +2 -0
- package/dist/PackagesTab-CvT2JyMA.cjs.map +1 -0
- package/dist/PackagesTab-SWcXumpK.js +332 -0
- package/dist/PackagesTab-SWcXumpK.js.map +1 -0
- package/dist/PluginsTab-B64OvayB.js +599 -0
- package/dist/PluginsTab-B64OvayB.js.map +1 -0
- package/dist/PluginsTab-CfpwWsqv.cjs +6 -0
- package/dist/PluginsTab-CfpwWsqv.cjs.map +1 -0
- package/dist/ProgressbarWidget-fGWa6ipm.cjs +2 -0
- package/dist/ProgressbarWidget-fGWa6ipm.cjs.map +1 -0
- package/dist/ProgressbarWidget-iYGw8-Dc.js +46 -0
- package/dist/ProgressbarWidget-iYGw8-Dc.js.map +1 -0
- package/dist/RadiobuttonWidget-ZEPJbOp_.cjs +2 -0
- package/dist/RadiobuttonWidget-ZEPJbOp_.cjs.map +1 -0
- package/dist/RadiobuttonWidget-ytmoVZ3u.js +34 -0
- package/dist/RadiobuttonWidget-ytmoVZ3u.js.map +1 -0
- package/dist/RadiogroupWidget-CusMBhKH.js +48 -0
- package/dist/RadiogroupWidget-CusMBhKH.js.map +1 -0
- package/dist/RadiogroupWidget-EK4rEGUC.cjs +2 -0
- package/dist/RadiogroupWidget-EK4rEGUC.cjs.map +1 -0
- package/dist/RangebarWidget-D_zGTtCa.js +67 -0
- package/dist/RangebarWidget-D_zGTtCa.js.map +1 -0
- package/dist/RangebarWidget-DwIs-L5k.cjs +2 -0
- package/dist/RangebarWidget-DwIs-L5k.cjs.map +1 -0
- package/dist/RedisTab-67UcKoPf.cjs +2 -0
- package/dist/RedisTab-67UcKoPf.cjs.map +1 -0
- package/dist/RedisTab-CyPo6ADN.js +135 -0
- package/dist/RedisTab-CyPo6ADN.js.map +1 -0
- package/dist/RollupWidget-DC3OIP6G.cjs +2 -0
- package/dist/RollupWidget-DC3OIP6G.cjs.map +1 -0
- package/dist/RollupWidget-Dolsixyt.js +83 -0
- package/dist/RollupWidget-Dolsixyt.js.map +1 -0
- package/dist/RoutersTab-BBPlFi_z.cjs +2 -0
- package/dist/RoutersTab-BBPlFi_z.cjs.map +1 -0
- package/dist/RoutersTab-Cs2dFVNA.js +95 -0
- package/dist/RoutersTab-Cs2dFVNA.js.map +1 -0
- package/dist/ScriptChooser-EV65rbWx.js +199 -0
- package/dist/ScriptChooser-EV65rbWx.js.map +1 -0
- package/dist/ScriptChooser-vyZwngrz.cjs +2 -0
- package/dist/ScriptChooser-vyZwngrz.cjs.map +1 -0
- package/dist/ScrollwindowWidget-BWeqSUPc.cjs +2 -0
- package/dist/ScrollwindowWidget-BWeqSUPc.cjs.map +1 -0
- package/dist/ScrollwindowWidget-DV2nZuNi.js +45 -0
- package/dist/ScrollwindowWidget-DV2nZuNi.js.map +1 -0
- package/dist/SecretsTab-0IFqUxNJ.cjs +2 -0
- package/dist/SecretsTab-0IFqUxNJ.cjs.map +1 -0
- package/dist/SecretsTab-DVyyyGlG.js +202 -0
- package/dist/SecretsTab-DVyyyGlG.js.map +1 -0
- package/dist/SettingsTab-B1LvOLG2.cjs +3 -0
- package/dist/SettingsTab-B1LvOLG2.cjs.map +1 -0
- package/dist/SettingsTab-g29K6FyC.js +1445 -0
- package/dist/SettingsTab-g29K6FyC.js.map +1 -0
- package/dist/SignalWidget-RvRwpE8T.cjs +2 -0
- package/dist/SignalWidget-RvRwpE8T.cjs.map +1 -0
- package/dist/SignalWidget-d9-6h85k.js +66 -0
- package/dist/SignalWidget-d9-6h85k.js.map +1 -0
- package/dist/SimpleTextDialog-Cpbt7Q-8.cjs +2 -0
- package/dist/SimpleTextDialog-Cpbt7Q-8.cjs.map +1 -0
- package/dist/SimpleTextDialog-pwN8oRy1.js +107 -0
- package/dist/SimpleTextDialog-pwN8oRy1.js.map +1 -0
- package/dist/SpacerWidget-7_8bpLCb.cjs +2 -0
- package/dist/SpacerWidget-7_8bpLCb.cjs.map +1 -0
- package/dist/SpacerWidget-BH0p2OLi.js +19 -0
- package/dist/SpacerWidget-BH0p2OLi.js.map +1 -0
- package/dist/SparklineWidget-60jVlbHA.cjs +2 -0
- package/dist/SparklineWidget-60jVlbHA.cjs.map +1 -0
- package/dist/SparklineWidget-coxi9r2g.js +48 -0
- package/dist/SparklineWidget-coxi9r2g.js.map +1 -0
- package/dist/TabbookWidget-B1XKplGH.js +66 -0
- package/dist/TabbookWidget-B1XKplGH.js.map +1 -0
- package/dist/TabbookWidget-D1CVT9IK.cjs +2 -0
- package/dist/TabbookWidget-D1CVT9IK.cjs.map +1 -0
- package/dist/TargetsTab-BkBkXn9A.js +129 -0
- package/dist/TargetsTab-BkBkXn9A.js.map +1 -0
- package/dist/TargetsTab-C-m26Eqq.cjs +2 -0
- package/dist/TargetsTab-C-m26Eqq.cjs.map +1 -0
- package/dist/TextBoxDialog-DOJ5d2RM.js +110 -0
- package/dist/TextBoxDialog-DOJ5d2RM.js.map +1 -0
- package/dist/TextBoxDialog-DfMXg_5C.cjs +2 -0
- package/dist/TextBoxDialog-DfMXg_5C.cjs.map +1 -0
- package/dist/TextboxWidget-BDG4NxRw.cjs +2 -0
- package/dist/TextboxWidget-BDG4NxRw.cjs.map +1 -0
- package/dist/TextboxWidget-C-_M2M4l.js +93 -0
- package/dist/TextboxWidget-C-_M2M4l.js.map +1 -0
- package/dist/TextfieldWidget-BGJv9Lox.cjs +2 -0
- package/dist/TextfieldWidget-BGJv9Lox.cjs.map +1 -0
- package/dist/TextfieldWidget-C08N4JE8.js +37 -0
- package/dist/TextfieldWidget-C08N4JE8.js.map +1 -0
- package/dist/TimeWidget-CGCOIouj.cjs +2 -0
- package/dist/TimeWidget-CGCOIouj.cjs.map +1 -0
- package/dist/TimeWidget-DtwdEcFg.js +40 -0
- package/dist/TimeWidget-DtwdEcFg.js.map +1 -0
- package/dist/TitleWidget-BljFH9RB.cjs +2 -0
- package/dist/TitleWidget-BljFH9RB.cjs.map +1 -0
- package/dist/TitleWidget-CT-aLcNb.js +26 -0
- package/dist/TitleWidget-CT-aLcNb.js.map +1 -0
- package/dist/ToolsTab-NveeVXz2.js +1521 -0
- package/dist/ToolsTab-NveeVXz2.js.map +1 -0
- package/dist/ToolsTab-RMTst_Sy.cjs +7 -0
- package/dist/ToolsTab-RMTst_Sy.cjs.map +1 -0
- package/dist/TopBar-CnJNNJlV.js +278 -0
- package/dist/TopBar-CnJNNJlV.js.map +1 -0
- package/dist/TopBar-Cnmb6DyC.cjs +2 -0
- package/dist/TopBar-Cnmb6DyC.cjs.map +1 -0
- package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js +94 -0
- package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js.map +1 -0
- package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs +2 -0
- package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs.map +1 -0
- package/dist/VWidget-2N2cOosI.cjs +2 -0
- package/dist/VWidget-2N2cOosI.cjs.map +1 -0
- package/dist/VWidget-DQqb7NVW.js +323 -0
- package/dist/VWidget-DQqb7NVW.js.map +1 -0
- package/dist/ValueWidget-C6RanBj3.js +116 -0
- package/dist/ValueWidget-C6RanBj3.js.map +1 -0
- package/dist/ValueWidget-Cu7hgKja.cjs +2 -0
- package/dist/ValueWidget-Cu7hgKja.cjs.map +1 -0
- package/dist/ValuelimitsbarWidget-B3bvjfxc.js +41 -0
- package/dist/ValuelimitsbarWidget-B3bvjfxc.js.map +1 -0
- package/dist/ValuelimitsbarWidget-C0HROxrb.cjs +2 -0
- package/dist/ValuelimitsbarWidget-C0HROxrb.cjs.map +1 -0
- package/dist/ValuelimitscolumnWidget-CWvLfg8u.cjs +2 -0
- package/dist/ValuelimitscolumnWidget-CWvLfg8u.cjs.map +1 -0
- package/dist/ValuelimitscolumnWidget-QvhI6EcE.js +40 -0
- package/dist/ValuelimitscolumnWidget-QvhI6EcE.js.map +1 -0
- package/dist/ValuerangebarWidget-Dt3K9BnC.js +65 -0
- package/dist/ValuerangebarWidget-Dt3K9BnC.js.map +1 -0
- package/dist/ValuerangebarWidget-DyN78cQl.cjs +2 -0
- package/dist/ValuerangebarWidget-DyN78cQl.cjs.map +1 -0
- package/dist/VerticalWidget-BIIViZgI.js +40 -0
- package/dist/VerticalWidget-BIIViZgI.js.map +1 -0
- package/dist/VerticalWidget-CFTOu4H8.cjs +2 -0
- package/dist/VerticalWidget-CFTOu4H8.cjs.map +1 -0
- package/dist/VerticalboxWidget-DY72fLHW.js +46 -0
- package/dist/VerticalboxWidget-DY72fLHW.js.map +1 -0
- package/dist/VerticalboxWidget-Z8-DWI8t.cjs +2 -0
- package/dist/VerticalboxWidget-Z8-DWI8t.cjs.map +1 -0
- package/dist/Widget-ChoIB2dd.cjs +2 -0
- package/dist/Widget-ChoIB2dd.cjs.map +1 -0
- package/dist/Widget-oyqWpFXJ.js +197 -0
- package/dist/Widget-oyqWpFXJ.js.map +1 -0
- package/dist/WidgetComponents-C1lSLZ0I.js +30205 -0
- package/dist/WidgetComponents-C1lSLZ0I.js.map +1 -0
- package/dist/WidgetComponents-utpQ592X.cjs +1493 -0
- package/dist/WidgetComponents-utpQ592X.cjs.map +1 -0
- package/dist/addMonths-BtG7uZLJ.js +19 -0
- package/dist/addMonths-BtG7uZLJ.js.map +1 -0
- package/dist/addMonths-n1tnl3ab.cjs +2 -0
- package/dist/addMonths-n1tnl3ab.cjs.map +1 -0
- package/dist/components.cjs +4 -0
- package/dist/components.cjs.map +1 -0
- package/dist/components.js +1379 -0
- package/dist/components.js.map +1 -0
- package/dist/fileIcon-BduOQcTc.cjs +2 -0
- package/dist/fileIcon-BduOQcTc.cjs.map +1 -0
- package/dist/fileIcon-DqRHb1_Z.js +22 -0
- package/dist/fileIcon-DqRHb1_Z.js.map +1 -0
- package/dist/format-B22VpiOS.cjs +2 -0
- package/dist/format-B22VpiOS.cjs.map +1 -0
- package/dist/format-CVeawcIv.js +1295 -0
- package/dist/format-CVeawcIv.js.map +1 -0
- package/dist/getDefaultOptions-Batab9o8.cjs +2 -0
- package/dist/getDefaultOptions-Batab9o8.cjs.map +1 -0
- package/dist/getDefaultOptions-BhSDk-Jo.js +8 -0
- package/dist/getDefaultOptions-BhSDk-Jo.js.map +1 -0
- package/dist/icons/status-dark.png +0 -0
- package/dist/icons/status-dark.xcf +0 -0
- package/dist/icons/status-light.png +0 -0
- package/dist/icons.cjs +2 -0
- package/dist/icons.cjs.map +1 -0
- package/dist/icons.js +164 -0
- package/dist/icons.js.map +1 -0
- package/dist/index-BX05anye.cjs +7 -0
- package/dist/index-BX05anye.cjs.map +1 -0
- package/dist/index-DwP8ryNM.js +1694 -0
- package/dist/index-DwP8ryNM.js.map +1 -0
- package/dist/parse-DnkEsW-3.js +1603 -0
- package/dist/parse-DnkEsW-3.js.map +1 -0
- package/dist/parse-DwfgQboe.cjs +2 -0
- package/dist/parse-DwfgQboe.cjs.map +1 -0
- package/dist/plugins.cjs +9 -0
- package/dist/plugins.cjs.map +1 -0
- package/dist/plugins.js +776 -0
- package/dist/plugins.js.map +1 -0
- package/dist/timeFilters-8SaYvcH0.cjs +2 -0
- package/dist/timeFilters-8SaYvcH0.cjs.map +1 -0
- package/dist/timeFilters-CRYpYDdf.js +622 -0
- package/dist/timeFilters-CRYpYDdf.js.map +1 -0
- package/dist/tools/admin.cjs +13 -0
- package/dist/tools/admin.cjs.map +1 -0
- package/dist/tools/admin.js +2024 -0
- package/dist/tools/admin.js.map +1 -0
- package/dist/tools/base.cjs +2 -0
- package/dist/tools/base.cjs.map +1 -0
- package/dist/tools/base.js +1677 -0
- package/dist/tools/base.js.map +1 -0
- package/dist/tools/calendar.cjs +2 -0
- package/dist/tools/calendar.cjs.map +1 -0
- package/dist/tools/calendar.js +12 -0
- package/dist/tools/calendar.js.map +1 -0
- package/dist/tools/scriptrunner.cjs +86 -0
- package/dist/tools/scriptrunner.cjs.map +1 -0
- package/dist/tools/scriptrunner.js +4564 -0
- package/dist/tools/scriptrunner.js.map +1 -0
- package/dist/util.cjs +2 -0
- package/dist/util.cjs.map +1 -0
- package/dist/util.js +9 -0
- package/dist/util.js.map +1 -0
- package/dist/vue-common.css +1 -0
- package/dist/widgets.cjs +2 -0
- package/dist/widgets.cjs.map +1 -0
- package/dist/widgets.js +132 -0
- package/dist/widgets.js.map +1 -0
- package/package.json +20 -15
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./WidgetComponents-utpQ592X.cjs"),e=require("vue"),P=require("./CustomIcon-Bop2mEnu.cjs");require("single-spa");const D=require("./SimpleTextDialog-Cpbt7Q-8.cjs"),T=require("./tools/admin.cjs"),w=require("./format-B22VpiOS.cjs"),b={components:{DownloadDialog:T.DownloadDialog,SimpleTextDialog:D.SimpleTextDialog},data(){return{showDownloadDialog:!1,showProcessOutput:!1,processOutput:"",files:[],loadingPackage:!1,progress:0,gems:[],python:[],processes:{}}},mounted(){this.update(),this.updateProcesses()},methods:{showOutput:function(n){this.processOutput=n.output,this.showProcessOutput=!0},update(){u.oi.get("/openc3-api/packages").then(n=>{this.gems=n.data.ruby,this.python=n.data.python})},updateProcesses:function(){u.oi.get("/openc3-api/process_status/package_?substr=true").then(n=>{this.processes=n.data,Object.keys(this.processes).length>0&&setTimeout(()=>{this.updateProcesses(),this.update()},2500)})},formatDate(n){return w.format(w.toDate(parseInt(n)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},selectFile(){this.progress=0,this.$refs.fileInput.click()},fileChange(n){const t=n.target.files;if(t.length>0){this.loadingPackage=!0;let C=this;const x=[...t].map(l=>{const a=new FormData;return a.append("package",l,l.name),u.oi.post("/openc3-api/packages",{data:a,headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(i){let s=Math.round(i.loaded*100/i.total);C.progress=s}})});Promise.all(x).then(l=>{this.$notify.normal({body:`Uploaded ${l.length} package${l.length>1?"s":""}`}),this.loadingPackage=!1,this.files=[],setTimeout(()=>{this.updateProcesses()},2500)}).catch(l=>{this.loadingPackage=!1})}},deletePackage(n){this.$dialog.confirm(`Are you sure you want to remove: ${n}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>u.oi.delete(`/openc3-api/packages/${n}`)).then(t=>{this.$notify.normal({body:`Removed package ${n}`}),setTimeout(()=>{this.updateProcesses()},2500)}).catch(t=>{this.$notify.serious({body:`Failed to remove package ${n}`})})}}},B=["textContent"],S=["textContent"];function O(n,t,C,x,l,a){const i=e.resolveComponent("v-btn"),s=e.resolveComponent("v-col"),v=e.resolveComponent("rux-progress"),d=e.resolveComponent("v-row"),p=e.resolveComponent("v-list-item-title"),V=e.resolveComponent("v-list-item-subtitle"),m=e.resolveComponent("v-icon"),g=e.resolveComponent("v-tooltip"),f=e.resolveComponent("v-list-item"),h=e.resolveComponent("v-divider"),_=e.resolveComponent("v-list"),k=e.resolveComponent("download-dialog"),N=e.resolveComponent("simple-text-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{"no-gutters":"",align:"center",class:"px-2"},{default:e.withCtx(()=>[e.createVNode(s,{class:"pa-2 mt-2"},{default:e.withCtx(()=>[e.createVNode(i,{onClick:a.selectFile},{default:e.withCtx(()=>t[3]||(t[3]=[e.createTextVNode("Install Package")])),_:1},8,["onClick"]),e.createElementVNode("input",{style:{display:"none"},type:"file",ref:"fileInput",onChange:t[0]||(t[0]=(...o)=>a.fileChange&&a.fileChange(...o))},null,544)]),_:1}),e.createVNode(s,{class:"ml-4 mr-2",cols:"4"},{default:e.withCtx(()=>[e.createVNode(v,{value:l.progress},null,8,["value"])]),_:1})]),_:1}),Object.keys(l.processes).length>0?(e.openBlock(),e.createBlock(_,{key:0,class:"list","data-test":"process-list"},{default:e.withCtx(()=>[e.createVNode(d,{"no-gutters":"",class:"px-4"},{default:e.withCtx(()=>[e.createVNode(s,{class:"text-h6"},{default:e.withCtx(()=>t[4]||(t[4]=[e.createTextVNode("Process List")])),_:1}),e.createVNode(s,{align:"right"},{default:e.withCtx(()=>t[5]||(t[5]=[e.createElementVNode("div",null,"Showing last 10 min of activity",-1)])),_:1})]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.processes,o=>(e.openBlock(),e.createElementBlock("div",{key:o.name},[e.createVNode(f,null,e.createSlots({default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(o.state.toLowerCase()),textContent:e.toDisplayString(`Processing ${o.process_type}: ${o.detail} - ${o.state}`)},null,10,B)]),_:2},1024),e.createVNode(V,null,{default:e.withCtx(()=>[e.createElementVNode("span",{textContent:e.toDisplayString(" Updated At: "+a.formatDate(o.updated_at))},null,8,S)]),_:2},1024)]),_:2},[o.state!=="Running"?{name:"append",fn:e.withCtx(()=>[e.createVNode(g,{location:"top"},{activator:e.withCtx(({props:r})=>[e.createVNode(m,e.mergeProps({ref_for:!0},r,{onClick:c=>a.showOutput(o)}),{default:e.withCtx(()=>t[6]||(t[6]=[e.createTextVNode(" mdi-eye ")])),_:2},1040,["onClick"])]),default:e.withCtx(()=>[t[7]||(t[7]=e.createElementVNode("span",null,"Show Output",-1))]),_:2},1024)]),key:"0"}:void 0]),1024),e.createVNode(h)]))),128))]),_:1})):e.createCommentVNode("",!0),e.createVNode(_,{class:"list","data-test":"packageList"},{default:e.withCtx(()=>[e.createVNode(d,{class:"px-4"},{default:e.withCtx(()=>[e.createVNode(s,{class:"text-h6"},{default:e.withCtx(()=>t[8]||(t[8]=[e.createTextVNode("Ruby Gems")])),_:1})]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.gems,(o,r)=>(e.openBlock(),e.createElementBlock("div",{key:r},[e.createVNode(f,null,{append:e.withCtx(()=>[e.createVNode(g,{location:"top"},{activator:e.withCtx(({props:c})=>[e.createVNode(m,e.mergeProps({ref_for:!0},c,{onClick:y=>a.deletePackage(o)}),{default:e.withCtx(()=>t[9]||(t[9]=[e.createTextVNode(" mdi-delete ")])),_:2},1040,["onClick"])]),default:e.withCtx(()=>[t[10]||(t[10]=e.createElementVNode("span",null,"Delete Package",-1))]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o),1)]),_:2},1024)]),_:2},1024),e.createVNode(h)]))),128)),e.createVNode(d,{class:"px-4"},{default:e.withCtx(()=>[e.createVNode(s,{class:"text-h6"},{default:e.withCtx(()=>t[11]||(t[11]=[e.createTextVNode("Python Packages")])),_:1})]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.python,(o,r)=>(e.openBlock(),e.createElementBlock("div",{key:r},[e.createVNode(f,null,{append:e.withCtx(()=>[e.createVNode(g,{location:"top"},{activator:e.withCtx(({props:c})=>[e.createVNode(m,e.mergeProps({ref_for:!0},c,{onClick:y=>a.deletePackage(o)}),{default:e.withCtx(()=>t[12]||(t[12]=[e.createTextVNode(" mdi-delete ")])),_:2},1040,["onClick"])]),default:e.withCtx(()=>[t[13]||(t[13]=e.createElementVNode("span",null,"Delete Package",-1))]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o),1)]),_:2},1024)]),_:2},1024),e.createVNode(h)]))),128))]),_:1}),e.createVNode(k,{modelValue:l.showDownloadDialog,"onUpdate:modelValue":t[1]||(t[1]=o=>l.showDownloadDialog=o)},null,8,["modelValue"]),e.createVNode(N,{modelValue:l.showProcessOutput,"onUpdate:modelValue":t[2]||(t[2]=o=>l.showProcessOutput=o),title:"Process Output",text:l.processOutput},null,8,["modelValue","text"])])}const E=P._export_sfc(b,[["render",O],["__scopeId","data-v-a9a7750b"]]);exports.default=E;
|
|
2
|
+
//# sourceMappingURL=PackagesTab-CvT2JyMA.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackagesTab-CvT2JyMA.cjs","sources":["../src/tools/admin/tabs/PackagesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row no-gutters align=\"center\" class=\"px-2\">\n <v-col class=\"pa-2 mt-2\">\n <v-btn @click=\"selectFile\">Install Package</v-btn>\n <input\n style=\"display: none\"\n type=\"file\"\n ref=\"fileInput\"\n @change=\"fileChange\"\n />\n </v-col>\n <v-col class=\"ml-4 mr-2\" cols=\"4\">\n <rux-progress :value=\"progress\"></rux-progress>\n </v-col>\n </v-row>\n <v-list\n v-if=\"Object.keys(processes).length > 0\"\n class=\"list\"\n data-test=\"process-list\"\n >\n <v-row no-gutters class=\"px-4\"\n ><v-col class=\"text-h6\">Process List</v-col>\n <v-col align=\"right\">\n <!-- See openc3/lib/openc3/utilities/process_manager.rb CLEANUP_CYCLE_SECONDS -->\n <div>Showing last 10 min of activity</div>\n </v-col>\n </v-row>\n <div v-for=\"process in processes\" :key=\"process.name\">\n <v-list-item>\n <v-list-item-title>\n <span\n :class=\"process.state.toLowerCase()\"\n v-text=\"\n `Processing ${process.process_type}: ${process.detail} - ${process.state}`\n \"\n />\n </v-list-item-title>\n <v-list-item-subtitle>\n <span v-text=\"' Updated At: ' + formatDate(process.updated_at)\" />\n </v-list-item-subtitle>\n\n <template v-slot:append v-if=\"process.state !== 'Running'\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon v-bind=\"props\" @click=\"showOutput(process)\">\n mdi-eye\n </v-icon>\n </template>\n <span>Show Output</span>\n </v-tooltip>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <v-list class=\"list\" data-test=\"packageList\">\n <v-row class=\"px-4\"><v-col class=\"text-h6\">Ruby Gems</v-col></v-row>\n <div v-for=\"(gem, index) in gems\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ gem }}</v-list-item-title>\n\n <template v-slot:append>\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon v-bind=\"props\" @click=\"deletePackage(gem)\">\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Package</span>\n </v-tooltip>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n <v-row class=\"px-4\"><v-col class=\"text-h6\">Python Packages</v-col></v-row>\n <div v-for=\"(pkg, index) in python\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ pkg }}</v-list-item-title>\n\n <template v-slot:append>\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon v-bind=\"props\" @click=\"deletePackage(pkg)\">\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Package</span>\n </v-tooltip>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <download-dialog v-model=\"showDownloadDialog\" />\n <simple-text-dialog\n v-model=\"showProcessOutput\"\n title=\"Process Output\"\n :text=\"processOutput\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { SimpleTextDialog } from '@/components'\nimport { DownloadDialog } from '@/tools/admin'\n\nexport default {\n components: {\n DownloadDialog,\n SimpleTextDialog,\n },\n data() {\n return {\n showDownloadDialog: false,\n showProcessOutput: false,\n processOutput: '',\n files: [],\n loadingPackage: false,\n progress: 0,\n gems: [],\n python: [],\n processes: {},\n }\n },\n mounted() {\n this.update()\n this.updateProcesses()\n },\n methods: {\n showOutput: function (process) {\n this.processOutput = process.output\n this.showProcessOutput = true\n },\n update() {\n Api.get('/openc3-api/packages').then((response) => {\n this.gems = response.data.ruby\n this.python = response.data.python\n })\n },\n updateProcesses: function () {\n Api.get('/openc3-api/process_status/package_?substr=true').then(\n (response) => {\n this.processes = response.data\n if (Object.keys(this.processes).length > 0) {\n // process_manager.rb script operates on a 5 second cycle\n setTimeout(() => {\n this.updateProcesses()\n this.update()\n }, 2500)\n }\n },\n )\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n selectFile() {\n this.progress = 0\n this.$refs.fileInput.click()\n },\n fileChange(event) {\n const files = event.target.files\n if (files.length > 0) {\n this.loadingPackage = true\n let self = this\n const promises = [...files].map((file) => {\n const formData = new FormData()\n formData.append('package', file, file.name)\n return Api.post('/openc3-api/packages', {\n data: formData,\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: function (progressEvent) {\n let percentCompleted = Math.round(\n (progressEvent.loaded * 100) / progressEvent.total,\n )\n self.progress = percentCompleted\n },\n })\n })\n Promise.all(promises)\n .then((responses) => {\n this.$notify.normal({\n body: `Uploaded ${responses.length} package${\n responses.length > 1 ? 's' : ''\n }`,\n })\n this.loadingPackage = false\n this.files = []\n setTimeout(() => {\n this.updateProcesses()\n }, 2500)\n })\n .catch((error) => {\n this.loadingPackage = false\n })\n }\n },\n deletePackage(pkg) {\n this.$dialog\n .confirm(`Are you sure you want to remove: ${pkg}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n return Api.delete(`/openc3-api/packages/${pkg}`)\n })\n .then((response) => {\n this.$notify.normal({\n body: `Removed package ${pkg}`,\n })\n setTimeout(() => {\n this.updateProcesses()\n }, 2500)\n })\n // Error will probably never happen because we spawn the package removal\n // and then wait for the response which happens in the background\n .catch((error) => {\n this.$notify.serious({\n body: `Failed to remove package ${pkg}`,\n })\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.v-subheader {\n font-size: 1rem;\n}\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","DownloadDialog","SimpleTextDialog","process","Api","response","nanoSecs","format","toDate","event","files","self","promises","file","formData","progressEvent","percentCompleted","responses","error","pkg","dialog","_hoisted_1","_hoisted_2","_createElementBlock","_createVNode","_component_v_row","_withCtx","_component_v_col","_component_v_btn","$options","_cache","_createTextVNode","_createElementVNode","args","_component_rux_progress","$data","_createBlock","_component_v_list","_openBlock","_Fragment","_renderList","_component_v_list_item","_createSlots","_component_v_list_item_title","_normalizeClass","_toDisplayString","_component_v_list_item_subtitle","_component_v_tooltip","props","_component_v_icon","_mergeProps","$event","_component_v_divider","_createCommentVNode","gem","index","_component_download_dialog","_component_simple_text_dialog"],"mappings":"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"}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
import { o as v } from "./WidgetComponents-C1lSLZ0I.js";
|
|
2
|
+
import { resolveComponent as a, createElementBlock as p, openBlock as d, createVNode as o, createBlock as N, createCommentVNode as $, withCtx as e, createElementVNode as c, createTextVNode as r, Fragment as w, renderList as D, createSlots as B, toDisplayString as h, normalizeClass as M, mergeProps as b } from "vue";
|
|
3
|
+
import { _ as R } from "./CustomIcon-h5X7369N.js";
|
|
4
|
+
import "single-spa";
|
|
5
|
+
import { S as j } from "./SimpleTextDialog-pwN8oRy1.js";
|
|
6
|
+
import { DownloadDialog as A } from "./tools/admin.js";
|
|
7
|
+
import { f as H, t as z } from "./format-CVeawcIv.js";
|
|
8
|
+
const E = {
|
|
9
|
+
components: {
|
|
10
|
+
DownloadDialog: A,
|
|
11
|
+
SimpleTextDialog: j
|
|
12
|
+
},
|
|
13
|
+
data() {
|
|
14
|
+
return {
|
|
15
|
+
showDownloadDialog: !1,
|
|
16
|
+
showProcessOutput: !1,
|
|
17
|
+
processOutput: "",
|
|
18
|
+
files: [],
|
|
19
|
+
loadingPackage: !1,
|
|
20
|
+
progress: 0,
|
|
21
|
+
gems: [],
|
|
22
|
+
python: [],
|
|
23
|
+
processes: {}
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
mounted() {
|
|
27
|
+
this.update(), this.updateProcesses();
|
|
28
|
+
},
|
|
29
|
+
methods: {
|
|
30
|
+
showOutput: function(n) {
|
|
31
|
+
this.processOutput = n.output, this.showProcessOutput = !0;
|
|
32
|
+
},
|
|
33
|
+
update() {
|
|
34
|
+
v.get("/openc3-api/packages").then((n) => {
|
|
35
|
+
this.gems = n.data.ruby, this.python = n.data.python;
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
updateProcesses: function() {
|
|
39
|
+
v.get("/openc3-api/process_status/package_?substr=true").then(
|
|
40
|
+
(n) => {
|
|
41
|
+
this.processes = n.data, Object.keys(this.processes).length > 0 && setTimeout(() => {
|
|
42
|
+
this.updateProcesses(), this.update();
|
|
43
|
+
}, 2500);
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
},
|
|
47
|
+
formatDate(n) {
|
|
48
|
+
return H(
|
|
49
|
+
z(parseInt(n) / 1e6),
|
|
50
|
+
"yyyy-MM-dd HH:mm:ss.SSS"
|
|
51
|
+
);
|
|
52
|
+
},
|
|
53
|
+
selectFile() {
|
|
54
|
+
this.progress = 0, this.$refs.fileInput.click();
|
|
55
|
+
},
|
|
56
|
+
fileChange(n) {
|
|
57
|
+
const t = n.target.files;
|
|
58
|
+
if (t.length > 0) {
|
|
59
|
+
this.loadingPackage = !0;
|
|
60
|
+
let O = this;
|
|
61
|
+
const V = [...t].map((l) => {
|
|
62
|
+
const i = new FormData();
|
|
63
|
+
return i.append("package", l, l.name), v.post("/openc3-api/packages", {
|
|
64
|
+
data: i,
|
|
65
|
+
headers: { "Content-Type": "multipart/form-data" },
|
|
66
|
+
onUploadProgress: function(f) {
|
|
67
|
+
let u = Math.round(
|
|
68
|
+
f.loaded * 100 / f.total
|
|
69
|
+
);
|
|
70
|
+
O.progress = u;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
Promise.all(V).then((l) => {
|
|
75
|
+
this.$notify.normal({
|
|
76
|
+
body: `Uploaded ${l.length} package${l.length > 1 ? "s" : ""}`
|
|
77
|
+
}), this.loadingPackage = !1, this.files = [], setTimeout(() => {
|
|
78
|
+
this.updateProcesses();
|
|
79
|
+
}, 2500);
|
|
80
|
+
}).catch((l) => {
|
|
81
|
+
this.loadingPackage = !1;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
deletePackage(n) {
|
|
86
|
+
this.$dialog.confirm(`Are you sure you want to remove: ${n}`, {
|
|
87
|
+
okText: "Delete",
|
|
88
|
+
cancelText: "Cancel"
|
|
89
|
+
}).then((t) => v.delete(`/openc3-api/packages/${n}`)).then((t) => {
|
|
90
|
+
this.$notify.normal({
|
|
91
|
+
body: `Removed package ${n}`
|
|
92
|
+
}), setTimeout(() => {
|
|
93
|
+
this.updateProcesses();
|
|
94
|
+
}, 2500);
|
|
95
|
+
}).catch((t) => {
|
|
96
|
+
this.$notify.serious({
|
|
97
|
+
body: `Failed to remove package ${n}`
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}, G = ["textContent"], q = ["textContent"];
|
|
103
|
+
function J(n, t, O, V, l, i) {
|
|
104
|
+
const f = a("v-btn"), u = a("v-col"), T = a("rux-progress"), _ = a("v-row"), k = a("v-list-item-title"), F = a("v-list-item-subtitle"), y = a("v-icon"), P = a("v-tooltip"), x = a("v-list-item"), C = a("v-divider"), S = a("v-list"), I = a("download-dialog"), U = a("simple-text-dialog");
|
|
105
|
+
return d(), p("div", null, [
|
|
106
|
+
o(_, {
|
|
107
|
+
"no-gutters": "",
|
|
108
|
+
align: "center",
|
|
109
|
+
class: "px-2"
|
|
110
|
+
}, {
|
|
111
|
+
default: e(() => [
|
|
112
|
+
o(u, { class: "pa-2 mt-2" }, {
|
|
113
|
+
default: e(() => [
|
|
114
|
+
o(f, { onClick: i.selectFile }, {
|
|
115
|
+
default: e(() => t[3] || (t[3] = [
|
|
116
|
+
r("Install Package")
|
|
117
|
+
])),
|
|
118
|
+
_: 1
|
|
119
|
+
}, 8, ["onClick"]),
|
|
120
|
+
c("input", {
|
|
121
|
+
style: { display: "none" },
|
|
122
|
+
type: "file",
|
|
123
|
+
ref: "fileInput",
|
|
124
|
+
onChange: t[0] || (t[0] = (...s) => i.fileChange && i.fileChange(...s))
|
|
125
|
+
}, null, 544)
|
|
126
|
+
]),
|
|
127
|
+
_: 1
|
|
128
|
+
}),
|
|
129
|
+
o(u, {
|
|
130
|
+
class: "ml-4 mr-2",
|
|
131
|
+
cols: "4"
|
|
132
|
+
}, {
|
|
133
|
+
default: e(() => [
|
|
134
|
+
o(T, { value: l.progress }, null, 8, ["value"])
|
|
135
|
+
]),
|
|
136
|
+
_: 1
|
|
137
|
+
})
|
|
138
|
+
]),
|
|
139
|
+
_: 1
|
|
140
|
+
}),
|
|
141
|
+
Object.keys(l.processes).length > 0 ? (d(), N(S, {
|
|
142
|
+
key: 0,
|
|
143
|
+
class: "list",
|
|
144
|
+
"data-test": "process-list"
|
|
145
|
+
}, {
|
|
146
|
+
default: e(() => [
|
|
147
|
+
o(_, {
|
|
148
|
+
"no-gutters": "",
|
|
149
|
+
class: "px-4"
|
|
150
|
+
}, {
|
|
151
|
+
default: e(() => [
|
|
152
|
+
o(u, { class: "text-h6" }, {
|
|
153
|
+
default: e(() => t[4] || (t[4] = [
|
|
154
|
+
r("Process List")
|
|
155
|
+
])),
|
|
156
|
+
_: 1
|
|
157
|
+
}),
|
|
158
|
+
o(u, { align: "right" }, {
|
|
159
|
+
default: e(() => t[5] || (t[5] = [
|
|
160
|
+
c("div", null, "Showing last 10 min of activity", -1)
|
|
161
|
+
])),
|
|
162
|
+
_: 1
|
|
163
|
+
})
|
|
164
|
+
]),
|
|
165
|
+
_: 1
|
|
166
|
+
}),
|
|
167
|
+
(d(!0), p(w, null, D(l.processes, (s) => (d(), p("div", {
|
|
168
|
+
key: s.name
|
|
169
|
+
}, [
|
|
170
|
+
o(x, null, B({
|
|
171
|
+
default: e(() => [
|
|
172
|
+
o(k, null, {
|
|
173
|
+
default: e(() => [
|
|
174
|
+
c("span", {
|
|
175
|
+
class: M(s.state.toLowerCase()),
|
|
176
|
+
textContent: h(
|
|
177
|
+
`Processing ${s.process_type}: ${s.detail} - ${s.state}`
|
|
178
|
+
)
|
|
179
|
+
}, null, 10, G)
|
|
180
|
+
]),
|
|
181
|
+
_: 2
|
|
182
|
+
}, 1024),
|
|
183
|
+
o(F, null, {
|
|
184
|
+
default: e(() => [
|
|
185
|
+
c("span", {
|
|
186
|
+
textContent: h(" Updated At: " + i.formatDate(s.updated_at))
|
|
187
|
+
}, null, 8, q)
|
|
188
|
+
]),
|
|
189
|
+
_: 2
|
|
190
|
+
}, 1024)
|
|
191
|
+
]),
|
|
192
|
+
_: 2
|
|
193
|
+
}, [
|
|
194
|
+
s.state !== "Running" ? {
|
|
195
|
+
name: "append",
|
|
196
|
+
fn: e(() => [
|
|
197
|
+
o(P, { location: "top" }, {
|
|
198
|
+
activator: e(({ props: m }) => [
|
|
199
|
+
o(y, b({ ref_for: !0 }, m, {
|
|
200
|
+
onClick: (g) => i.showOutput(s)
|
|
201
|
+
}), {
|
|
202
|
+
default: e(() => t[6] || (t[6] = [
|
|
203
|
+
r(" mdi-eye ")
|
|
204
|
+
])),
|
|
205
|
+
_: 2
|
|
206
|
+
}, 1040, ["onClick"])
|
|
207
|
+
]),
|
|
208
|
+
default: e(() => [
|
|
209
|
+
t[7] || (t[7] = c("span", null, "Show Output", -1))
|
|
210
|
+
]),
|
|
211
|
+
_: 2
|
|
212
|
+
}, 1024)
|
|
213
|
+
]),
|
|
214
|
+
key: "0"
|
|
215
|
+
} : void 0
|
|
216
|
+
]), 1024),
|
|
217
|
+
o(C)
|
|
218
|
+
]))), 128))
|
|
219
|
+
]),
|
|
220
|
+
_: 1
|
|
221
|
+
})) : $("", !0),
|
|
222
|
+
o(S, {
|
|
223
|
+
class: "list",
|
|
224
|
+
"data-test": "packageList"
|
|
225
|
+
}, {
|
|
226
|
+
default: e(() => [
|
|
227
|
+
o(_, { class: "px-4" }, {
|
|
228
|
+
default: e(() => [
|
|
229
|
+
o(u, { class: "text-h6" }, {
|
|
230
|
+
default: e(() => t[8] || (t[8] = [
|
|
231
|
+
r("Ruby Gems")
|
|
232
|
+
])),
|
|
233
|
+
_: 1
|
|
234
|
+
})
|
|
235
|
+
]),
|
|
236
|
+
_: 1
|
|
237
|
+
}),
|
|
238
|
+
(d(!0), p(w, null, D(l.gems, (s, m) => (d(), p("div", { key: m }, [
|
|
239
|
+
o(x, null, {
|
|
240
|
+
append: e(() => [
|
|
241
|
+
o(P, { location: "top" }, {
|
|
242
|
+
activator: e(({ props: g }) => [
|
|
243
|
+
o(y, b({ ref_for: !0 }, g, {
|
|
244
|
+
onClick: (L) => i.deletePackage(s)
|
|
245
|
+
}), {
|
|
246
|
+
default: e(() => t[9] || (t[9] = [
|
|
247
|
+
r(" mdi-delete ")
|
|
248
|
+
])),
|
|
249
|
+
_: 2
|
|
250
|
+
}, 1040, ["onClick"])
|
|
251
|
+
]),
|
|
252
|
+
default: e(() => [
|
|
253
|
+
t[10] || (t[10] = c("span", null, "Delete Package", -1))
|
|
254
|
+
]),
|
|
255
|
+
_: 2
|
|
256
|
+
}, 1024)
|
|
257
|
+
]),
|
|
258
|
+
default: e(() => [
|
|
259
|
+
o(k, null, {
|
|
260
|
+
default: e(() => [
|
|
261
|
+
r(h(s), 1)
|
|
262
|
+
]),
|
|
263
|
+
_: 2
|
|
264
|
+
}, 1024)
|
|
265
|
+
]),
|
|
266
|
+
_: 2
|
|
267
|
+
}, 1024),
|
|
268
|
+
o(C)
|
|
269
|
+
]))), 128)),
|
|
270
|
+
o(_, { class: "px-4" }, {
|
|
271
|
+
default: e(() => [
|
|
272
|
+
o(u, { class: "text-h6" }, {
|
|
273
|
+
default: e(() => t[11] || (t[11] = [
|
|
274
|
+
r("Python Packages")
|
|
275
|
+
])),
|
|
276
|
+
_: 1
|
|
277
|
+
})
|
|
278
|
+
]),
|
|
279
|
+
_: 1
|
|
280
|
+
}),
|
|
281
|
+
(d(!0), p(w, null, D(l.python, (s, m) => (d(), p("div", { key: m }, [
|
|
282
|
+
o(x, null, {
|
|
283
|
+
append: e(() => [
|
|
284
|
+
o(P, { location: "top" }, {
|
|
285
|
+
activator: e(({ props: g }) => [
|
|
286
|
+
o(y, b({ ref_for: !0 }, g, {
|
|
287
|
+
onClick: (L) => i.deletePackage(s)
|
|
288
|
+
}), {
|
|
289
|
+
default: e(() => t[12] || (t[12] = [
|
|
290
|
+
r(" mdi-delete ")
|
|
291
|
+
])),
|
|
292
|
+
_: 2
|
|
293
|
+
}, 1040, ["onClick"])
|
|
294
|
+
]),
|
|
295
|
+
default: e(() => [
|
|
296
|
+
t[13] || (t[13] = c("span", null, "Delete Package", -1))
|
|
297
|
+
]),
|
|
298
|
+
_: 2
|
|
299
|
+
}, 1024)
|
|
300
|
+
]),
|
|
301
|
+
default: e(() => [
|
|
302
|
+
o(k, null, {
|
|
303
|
+
default: e(() => [
|
|
304
|
+
r(h(s), 1)
|
|
305
|
+
]),
|
|
306
|
+
_: 2
|
|
307
|
+
}, 1024)
|
|
308
|
+
]),
|
|
309
|
+
_: 2
|
|
310
|
+
}, 1024),
|
|
311
|
+
o(C)
|
|
312
|
+
]))), 128))
|
|
313
|
+
]),
|
|
314
|
+
_: 1
|
|
315
|
+
}),
|
|
316
|
+
o(I, {
|
|
317
|
+
modelValue: l.showDownloadDialog,
|
|
318
|
+
"onUpdate:modelValue": t[1] || (t[1] = (s) => l.showDownloadDialog = s)
|
|
319
|
+
}, null, 8, ["modelValue"]),
|
|
320
|
+
o(U, {
|
|
321
|
+
modelValue: l.showProcessOutput,
|
|
322
|
+
"onUpdate:modelValue": t[2] || (t[2] = (s) => l.showProcessOutput = s),
|
|
323
|
+
title: "Process Output",
|
|
324
|
+
text: l.processOutput
|
|
325
|
+
}, null, 8, ["modelValue", "text"])
|
|
326
|
+
]);
|
|
327
|
+
}
|
|
328
|
+
const et = /* @__PURE__ */ R(E, [["render", J], ["__scopeId", "data-v-a9a7750b"]]);
|
|
329
|
+
export {
|
|
330
|
+
et as default
|
|
331
|
+
};
|
|
332
|
+
//# sourceMappingURL=PackagesTab-SWcXumpK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackagesTab-SWcXumpK.js","sources":["../src/tools/admin/tabs/PackagesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row no-gutters align=\"center\" class=\"px-2\">\n <v-col class=\"pa-2 mt-2\">\n <v-btn @click=\"selectFile\">Install Package</v-btn>\n <input\n style=\"display: none\"\n type=\"file\"\n ref=\"fileInput\"\n @change=\"fileChange\"\n />\n </v-col>\n <v-col class=\"ml-4 mr-2\" cols=\"4\">\n <rux-progress :value=\"progress\"></rux-progress>\n </v-col>\n </v-row>\n <v-list\n v-if=\"Object.keys(processes).length > 0\"\n class=\"list\"\n data-test=\"process-list\"\n >\n <v-row no-gutters class=\"px-4\"\n ><v-col class=\"text-h6\">Process List</v-col>\n <v-col align=\"right\">\n <!-- See openc3/lib/openc3/utilities/process_manager.rb CLEANUP_CYCLE_SECONDS -->\n <div>Showing last 10 min of activity</div>\n </v-col>\n </v-row>\n <div v-for=\"process in processes\" :key=\"process.name\">\n <v-list-item>\n <v-list-item-title>\n <span\n :class=\"process.state.toLowerCase()\"\n v-text=\"\n `Processing ${process.process_type}: ${process.detail} - ${process.state}`\n \"\n />\n </v-list-item-title>\n <v-list-item-subtitle>\n <span v-text=\"' Updated At: ' + formatDate(process.updated_at)\" />\n </v-list-item-subtitle>\n\n <template v-slot:append v-if=\"process.state !== 'Running'\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon v-bind=\"props\" @click=\"showOutput(process)\">\n mdi-eye\n </v-icon>\n </template>\n <span>Show Output</span>\n </v-tooltip>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <v-list class=\"list\" data-test=\"packageList\">\n <v-row class=\"px-4\"><v-col class=\"text-h6\">Ruby Gems</v-col></v-row>\n <div v-for=\"(gem, index) in gems\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ gem }}</v-list-item-title>\n\n <template v-slot:append>\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon v-bind=\"props\" @click=\"deletePackage(gem)\">\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Package</span>\n </v-tooltip>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n <v-row class=\"px-4\"><v-col class=\"text-h6\">Python Packages</v-col></v-row>\n <div v-for=\"(pkg, index) in python\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ pkg }}</v-list-item-title>\n\n <template v-slot:append>\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon v-bind=\"props\" @click=\"deletePackage(pkg)\">\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Package</span>\n </v-tooltip>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <download-dialog v-model=\"showDownloadDialog\" />\n <simple-text-dialog\n v-model=\"showProcessOutput\"\n title=\"Process Output\"\n :text=\"processOutput\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { SimpleTextDialog } from '@/components'\nimport { DownloadDialog } from '@/tools/admin'\n\nexport default {\n components: {\n DownloadDialog,\n SimpleTextDialog,\n },\n data() {\n return {\n showDownloadDialog: false,\n showProcessOutput: false,\n processOutput: '',\n files: [],\n loadingPackage: false,\n progress: 0,\n gems: [],\n python: [],\n processes: {},\n }\n },\n mounted() {\n this.update()\n this.updateProcesses()\n },\n methods: {\n showOutput: function (process) {\n this.processOutput = process.output\n this.showProcessOutput = true\n },\n update() {\n Api.get('/openc3-api/packages').then((response) => {\n this.gems = response.data.ruby\n this.python = response.data.python\n })\n },\n updateProcesses: function () {\n Api.get('/openc3-api/process_status/package_?substr=true').then(\n (response) => {\n this.processes = response.data\n if (Object.keys(this.processes).length > 0) {\n // process_manager.rb script operates on a 5 second cycle\n setTimeout(() => {\n this.updateProcesses()\n this.update()\n }, 2500)\n }\n },\n )\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n selectFile() {\n this.progress = 0\n this.$refs.fileInput.click()\n },\n fileChange(event) {\n const files = event.target.files\n if (files.length > 0) {\n this.loadingPackage = true\n let self = this\n const promises = [...files].map((file) => {\n const formData = new FormData()\n formData.append('package', file, file.name)\n return Api.post('/openc3-api/packages', {\n data: formData,\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: function (progressEvent) {\n let percentCompleted = Math.round(\n (progressEvent.loaded * 100) / progressEvent.total,\n )\n self.progress = percentCompleted\n },\n })\n })\n Promise.all(promises)\n .then((responses) => {\n this.$notify.normal({\n body: `Uploaded ${responses.length} package${\n responses.length > 1 ? 's' : ''\n }`,\n })\n this.loadingPackage = false\n this.files = []\n setTimeout(() => {\n this.updateProcesses()\n }, 2500)\n })\n .catch((error) => {\n this.loadingPackage = false\n })\n }\n },\n deletePackage(pkg) {\n this.$dialog\n .confirm(`Are you sure you want to remove: ${pkg}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n return Api.delete(`/openc3-api/packages/${pkg}`)\n })\n .then((response) => {\n this.$notify.normal({\n body: `Removed package ${pkg}`,\n })\n setTimeout(() => {\n this.updateProcesses()\n }, 2500)\n })\n // Error will probably never happen because we spawn the package removal\n // and then wait for the response which happens in the background\n .catch((error) => {\n this.$notify.serious({\n body: `Failed to remove package ${pkg}`,\n })\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.v-subheader {\n font-size: 1rem;\n}\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","DownloadDialog","SimpleTextDialog","process","Api","response","nanoSecs","format","toDate","event","files","self","promises","file","formData","progressEvent","percentCompleted","responses","error","pkg","dialog","_hoisted_1","_hoisted_2","_createElementBlock","_createVNode","_component_v_row","_withCtx","_component_v_col","_component_v_btn","$options","_cache","_createTextVNode","_createElementVNode","args","_component_rux_progress","$data","_createBlock","_component_v_list","_openBlock","_Fragment","_renderList","_component_v_list_item","_createSlots","_component_v_list_item_title","_normalizeClass","_toDisplayString","_component_v_list_item_subtitle","_component_v_tooltip","props","_component_v_icon","_mergeProps","$event","_component_v_divider","_createCommentVNode","gem","index","_component_download_dialog","_component_simple_text_dialog"],"mappings":"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"}
|